TAIPEI · SOLO FILM SHOT BREAKDOWN

一鏡到底,其實是 4 段接起來的

一支 21 秒、從空拍穿進辦公室、再從螢幕繞回空拍的閉環一鏡。
這頁把它整支拆開:4 支 prompt 原文、失敗那一版壞在第幾秒、參數為什麼那樣設。

這不是心法整理。是我做這支片時實際用的東西,照著改就能跑。

先講結論

鏡頭失控的時候,改 prompt 沒用

我第一次做這支片的穿窗鏡頭,prompt 裡明明白白寫了 immediately pierce through the window。 生出來的東西是這樣:

時間畫面實際上在做什麼
0 – 2.5s鏡頭沿著外牆橫向平移,完全沒有靠近玻璃
2.5 – 3s剩不到 1 秒要到尾幀,硬穿牆
3 – 5s已在室內,收到尾幀

五秒的鏡頭,一半在做我沒要求的事。我一開始的反應跟大部分人一樣:改 prompt,加更多形容詞,把 FORWARD 全部大寫。沒有用。

真正的原因在首幀。那張圖裡,相機幾乎與幕牆平行。 相機平行於牆面的時候,「往前」這個指令最自然的解,就是沿著牆滑。 模型沒有違背我的 prompt,它是照著我給的幾何條件,選了一個也算合理的解。

規則一

首幀的鏡頭朝向決定模型的運動方向,prompt 壓不過幾何。 運鏡失控的時候,先看首幀,不要先改 prompt。

修法是把首尾幀都做成正對、一點透視、同一條軸線。 這樣「往前」就只剩一個解,模型沒有走偏的空間。

還有一個相關的坑:首幀正對 + 尾幀斜視 = 逼模型同時做前推、旋轉、升降三種複合運動,必出怪招。 首尾幀的視角關係,本身就是一組隱藏指令。

結構

閉環是算出來的,不是接出來的

4 張圖跑 4 段。每一段的首尾幀都鎖死,環在數學上就必合。

內容它同時是誰的幀
01錨點圖(空拍 full frame)S1 首幀 = S4 尾幀
02窗外玻璃(正對)S1 尾幀 = S2 首幀
03桌面螢幕(正對)S2 尾幀 = S3 首幀
04螢幕特寫S3 尾幀 = S4 首幀

關鍵在最後一列繞回第一列。01 同時是開頭和結尾, 所以片子播完接回開頭的時候,接點是同一張圖,看不出來。

分段秒數,以及為什麼要拆這麼細

首幀 → 尾幀這一段只做一件事
S101 → 0210繞 101 → 正對窗停住
S202 → 035只做穿窗
S303 → 044只做室內推進到螢幕
S404 → 014只做螢幕吃滿畫框
規則二

第一次失敗,是因為 S2 一段要跑完「穿窗 + 橫越房間 + 停在螢幕」。 跨距太長,模型自由度就大,前半段會亂晃、後半段硬趕。 跨距短 = 模型沒有走偏的空間。

成片實際長度是 21.3 秒,不是四段加總的 23 秒。差的部分在剪接台上,每個接點各裁 2–3 幀, 讓運動連起來。這件事沒有辦法在生成階段解決。

Prompt 原文

四支,一字不改

這是實際送出去的版本。你可以直接複製,把場景描述換成你自己的。

先看骨架

四支 prompt 的結構是同一套,換的只有場景:
Continuous X, no cuts + 光線 + never pans, never orbits, never slides sideways(否定式運動鎖) + 起訖狀態 + One-point perspective held throughout, dolly-in only + 鏡頭質感 + photorealistic, no people, no text
那串否定句是整組 prompt 裡最有用的部分。告訴模型不要做什麼,比告訴它要做什麼有效。

S2 · HERO穿窗

start = 02_窗外玻璃_v3正對_B end = 03_桌面螢幕_v3正對_B

Continuous FPV drone shot, no cuts, bright midday daylight. The camera moves
straight FORWARD along a single fixed axis for the entire shot. It never pans,
never orbits, never slides sideways, never drifts laterally along the facade.
Starting outside facing the glass pane dead-on, it pushes forward and passes
through the window in the first half of the shot, a hard specular flare
sweeping across the glass at the moment of passage, exposure dropping sharply
from the bright sunlit exterior to the dimmer shaded interior. Once inside it
continues forward a short distance into the office over the wooden floor and
comes to rest with the desk and its widescreen monitor ahead in the room.
One-point perspective held throughout, dolly-in only. Anamorphic lens, motion
blur at the moment of passage, ease-out at the end, film grain, clean natural
daylight grade with cool shadows, photorealistic, no people, no text.

S1繞行 101,推向窗

start = 01_錨點_空拍fullframe_A end = 02_窗外玻璃_v3正對_B

Continuous aerial drone shot, no cuts, bright midday daylight, clear blue sky.
First half: the drone flies a wide arcing orbit around the Taipei 101 tower
itself, circling the building laterally at high altitude, the tower staying in
frame as the city rotates behind it, sunlight glancing off its green glass
segments. Second half: the drone breaks out of the orbit, banks away from
Taipei 101 and settles onto a straight forward approach toward the glass
curtain wall of a neighbouring high-rise office tower, squaring up
perpendicular to the glass and closing distance head-on until a single window
pane fills the frame and the shaded office interior with its desk and glowing
monitor is visible straight ahead through the glass. The move ends locked
dead-on to the glass with no lateral drift. Anamorphic lens, smooth sustained
orbit resolving into a straight settled approach, film grain, clean natural
daylight grade with cool shadows, photorealistic, no people, no text.

S3室內推進到螢幕

start = 03_桌面螢幕_v3正對_B end = 04_螢幕特寫_B

Continuous slow dolly-in, no cuts, bright midday daylight. The camera moves
straight FORWARD along a single fixed axis for the entire shot. It never pans,
never orbits, never slides sideways, never tilts. It glides steadily across
the office toward the widescreen monitor on the desk, the room falling away at
the frame edges, until the monitor's bezel nearly reaches the edges of frame
and the screen dominates the image. The aerial drone footage on the screen
stays perfectly steady and unchanged throughout. One-point perspective held
throughout, dolly-in only. Anamorphic lens, smooth constant motion, gentle
ease-out at the end, film grain, clean natural daylight grade with cool
shadows, photorealistic, no people, no text or UI overlays.

S4螢幕吃滿畫框,閉環

start = 04_螢幕特寫_B end = 01_錨點_空拍fullframe_A

Continuous slow dolly-in, no cuts. The camera moves straight FORWARD along a
single fixed axis. It never pans, never orbits, never slides sideways. It
pushes into the monitor until the bezel passes completely out of frame and the
aerial drone footage on the screen fills the entire image, becoming the shot
itself. The screen content resolves from monitor-like to full cinematic
clarity and brightness as it takes over the frame, the surrounding dark office
falling away at the edges. One-point perspective held throughout, dolly-in
only. Anamorphic lens, smooth constant acceleration, film grain, clean natural
daylight grade, photorealistic, no people, no text, no bezel and no room
visible at the end.
參數

Seedance 2.0 的預設值有四個要改

每一項都附理由。不然過三個月你自己也想不起來為什麼這樣設。

參數設成為什麼
resolution1080p預設只有 720p,客戶 demo 不夠看
modestd1080p / 4K 只有 std 支援
generate_audiofalse預設是 true。AI 自動配音會很怪,而且多扣錢。音樂後製再加
bitrate_modehigh空拍細節多,壓縮容易糊
duration依段S1=10 / S2=5 / S3=4 / S4=4。單段上限 15 秒
aspect_ratio16:9直式版另外 reframe,不要在生成階段解決

生完先看這四個地方

模型最常搞砸的就是這些,而且都不必重生就能修:

  1. 曝光跳變(穿窗那段)。外亮轉內暗那一下如果沒有,穿窗就假。第一個檢查這個。
  2. 落地 ease-out。停在螢幕前必須減速到近乎靜止,等速撞上去很業餘。
  3. 速度不對稱。外部快、穿窗最快、室內慢。三段等速就是 AI 味。
  4. 邊框出框。尾幀螢幕邊框必須完全出框,殘留一絲黑邊環就破。剪接時最後 2 到 3 幀補一個微推 zoom 就能修掉,比重生便宜太多。
規則三

生出來不對就改 prompt,但一次只改一個變數。 一次改三個地方,下一版變好或變壞你都不知道是哪個造成的,等於白燒點數。

怎麼看出「哪一秒開始走偏」

用播放器看成品,感覺得到怪但抓不到根因。要抽格:

ffmpeg -i in.mp4 -vf fps=4 frames/%03d.png

一秒抽 4 張,逐張看。頁首那張逐秒時間表就是這樣做出來的。 不抽格,我只會覺得「這支怪怪的」,不會知道問題出在前 2.5 秒完全沒有向前。

踩過的坑

要嚴格對齊的素材,不要用第二次生成去追第一張

閉環需要「螢幕裡播的空拍畫面」跟「S1 的空拍首幀」是同一張。 我一開始的做法是先生桌面螢幕圖,再叫模型從螢幕裡把那張空拍圖「還原」成 full frame。

模型是照文字描述重畫,不是復刻構圖。 兩張圖的地標左右相反,環直接破。反向重做(先定錨點圖,再把它塞進螢幕)方向對了, 但仍然只有八成像。八成,在閉環裡等於不合。

正解:後製 Corner Pin,三步

  1. S3 / S4 照上面的參數跑,螢幕內容先不管,讓它生什麼是什麼
  2. 剪輯軟體裡把錨點圖用 Corner Pin 貼到螢幕四角,跟 tracking 走(S3 和 S4 都要貼)
  3. 貼上去的就是 S1 首幀本人,數學上必合

5 分鐘,0 點數,100% 準。

規則四

生成只負責場景與運動,精確對齊交給剪輯軟體。 依賴方向要單向:先定一個唯一的真實來源,其他素材都從它衍生,不能互相追。

順帶一提,不一定要硬幹真一鏡

穿窗那一下,讓窗框或柱子掃過畫面遮黑 1–2 幀,當隱形剪點,前後分兩次生成再接。 這是業界標準的 whip transition,廠商看不出來,也不在乎。 不值得為了「真的一鏡」燒十次點數。

還沒驗證的

拆四段可能根本不必要

上面整套做法建立在一個前提上:我用的介面不支援首尾幀,所以只能用「上一段的尾幀當下一段的首幀」硬接。

後來查官方 API 文件才發現,Seedance 模型本身從 1.0 Pro 時代就支援首尾幀content[].rolefirst_frame / last_frame), 是平台沒接這個功能,不是模型做不到。

規則五

遇到限制先問:這是模型沒有,還是我用的介面沒接? 去查那個模型的官方 API 文件,不要看平台的 FAQ。這兩者的答案經常不一樣。

直接呼叫 API 走首尾幀、一次生完整段的做法,目前只到測試腳本,尚未跑出成品。 這一段是下一步的方向,不是已驗證的解法。