Seedance 2.0 的完整能力與進階用法。先把基礎(參考圖 + prompt → 影片)看過,再來這裡把可控性與規模往上拉。
Seedance 2.0 不只「圖 → 影片」。完整能力一覽:
| 模式 | 怎麼用 |
|---|---|
| 文生視頻(text-to-video) | 只給文字 prompt,不放圖 |
| 圖生視頻(image-to-video) | 給參考圖;可指定首幀 first_frame / 尾幀 last_frame,框住開頭或結尾畫面 |
| 影生視頻(video-to-video) | 給參考影片,照風格重新生成(見 ③) |
| 參考 | 控制什麼 | 上限 |
|---|---|---|
🖼️ 參考圖片(image_urls / image_with_roles) | 長相、構圖、首/尾幀 | 9 張 |
🎞️ 參考影片(video_urls) | 以整段影片為底換風格(video-to-video) | 3 段,1.8–15.2 秒,480–720P,不可真人 |
🔊 參考音頻(audio_urls) | 聲音 / 配音參考 | 3 個,≤ 15 秒 |
| 設定 | 選項 |
|---|---|
有聲視頻(generate_audio) | 開 → AI 生成音效 / 環境音 / 聲音 |
比例(size) | 橫屏 16:9、竖屏 9:16、方形 1:1、超寬屏 21:9、4:3、3:4、自適應 adaptive |
畫質(resolution) | 480p / 720p / 1080p / 4k |
長度(duration) | 4–15 秒 |
模型(model) | doubao-seedance-2.0 / -fast / -face / -fast-face / -mini |
真正「把參考圖 + prompt 自動變成影片」靠的是 apimart.ai 的 API(Seedance 2.0 的服務商)。一支零依賴的 Node 腳本就能跑完四步:
sequenceDiagram
autonumber
participant U as seedance.mjs
participant API as apimart.ai
U->>API: POST /v1/uploads/images(參考圖)
API-->>U: 回圖片公開 URL
U->>API: POST /v1/videos/generations(prompt + 圖 URL + 參數)
API-->>U: 回 task_id
loop 每 5 秒輪詢
U->>API: GET /v1/tasks/{task_id}
API-->>U: pending → processing → completed
end
U->>API: 取影片 URL
API-->>U: 影片 .mp4
| 步驟 | 端點 | 回傳 |
|---|---|---|
| 上傳參考圖 | POST /v1/uploads/images | 圖片公開 URL(72h) |
| 建生成任務 | POST /v1/videos/generations | task_id |
| 查任務狀態 | GET /v1/tasks/{task_id} | status / 影片 URL |
export APIMART_API_KEY='sk-你的金鑰'
node seedance.mjs \
--prompt-file my.prompt.txt \
--ref refs/board.png --ref refs/char.png --ref refs/droid.jpeg \
--model doubao-seedance-2.0-fast --resolution 720p --duration 15 --audio \
--out out.mp4
task_id 每隔幾秒輪詢,completed 後立刻下載(URL 會過期)。參考輸入不只圖片。Seedance 也吃參考影片(video_urls)——主要用途是 video-to-video 風格轉換:給一段影片,照你的 prompt 與參考圖把它重新生成成目標樣子(文件範例:把影片轉成動漫風)。
video_urls(做風格轉換、不可有真人)混為一談。除了 generate_audio 讓 AI 直接生成聲音,也可以用 audio_urls 丟參考音頻當聲音範本(最多 3 個、總長 ≤ 15 秒)。適合想指定特定音色/節奏/配音感覺時使用。
想更精準地控制構圖、鏡位、走位與連戲,可以先在 Blender 搭一個 3D 粗模,把「場景、相機、姿勢」render 出來當參考餵給 Seedance——比純文字描述可控得多。
flowchart LR
BL["🧊 Blender 3D 粗模:場景 + 相機 + 角色 pose/動畫"] --> R1["🖼️ render 場景/鏡位/pose → 參考圖 / first_frame"]
BL --> R2["🎞️ render 一段動畫 → video-to-video 來源"]
R1 --> SEED["🎬 Seedance"]
R2 --> SEED
SEED --> V["✅ 更可控的影片"]
style V fill:#16241b,stroke:#8ef6c8,color:#f1e7d0
image_urls / first_frame,上限 9 張);render 一段動畫 → 當 video_urls 做 video-to-video(CG render 沒有「不可有真人」的限制)。粗模 + 灰階就夠當藍圖。基礎流程裡「產分鏡圖的 prompt」是人手寫的。再往前加一層 AI 導演,使用者就只要給「參考圖 + 想要的敘事/表現」,由 AI 反饋建議、並自動生成分鏡表。
flowchart TD
U["🧑 使用者:參考圖 + 電影敘事 / 想要的表現"] --> AI["🎩 AI 導演 (LLM)"]
AI -->|"建議:鏡頭 / 運鏡 / 節奏 / 連戲風險"| U
AI --> BP["📝 自動產出 分鏡圖 prompt"]
BP --> IMG["🖼️ 影像模型 如 gpt-image-2"]
IMG --> BOARD["🗂️ 自動生成 分鏡表"]
R2["🖼️ 參考圖片"] --> SEED
BOARD --> SEED["🎬 Seedance 2.0"]
SEED --> V["✅ 影片"]
style BOARD fill:#10243a,stroke:#5aa6ff,color:#f1e7d0
style V fill:#16241b,stroke:#8ef6c8,color:#f1e7d0
| 導演職責 | AI 導演在這條管線能做的 |
|---|---|
| 劇本/敘事拆解 | 產 beat 草稿並標敘事功能/情緒/節奏、畫情緒曲線;把段落切成「可生成單位」——一支是 4–15 秒積木,回答這段切幾鏡、各幾秒、哪幾鏡靠首尾幀接、哪幾鏡是剪接點。 |
| 分鏡與鏡頭表(景別、鏡位、coverage) | 為每個 beat 展開 shot list,補齊缺的 establishing/reaction/insert,標主鏡與備鏡;因重生成便宜,主動建議「關鍵動作生 3 個景別給你剪」。 |
| 場面調度 blocking(走位、方向) | 在分鏡圖 prompt 寫死版面(主體左/右、面向、前後景),每鏡寫明方位;用 first_frame/last_frame 鎖走位接續,並主動警示螢幕方向翻面(180 度線)。 |
| 攝影機(運鏡、POV) | 把運鏡翻成 Seedance 看得懂的詞,每鏡只給一個主運鏡,並校驗運鏡是否配情緒。 |
| 節奏與剪輯點 | 把 4–15 秒預算分到每鏡(緊張短切、抒情長鏡),切點切在動作完成幀;用「上鏡 last_frame=下鏡 first_frame」做 match cut;MV 依主歌/副歌/間奏對齊。 |
| 表演/角色(情緒、動作意圖) | 把「意圖」翻成具體可見動作(不是形容詞,是「拔刀、後退半步、肩膀下沉、眼神收緊」),每鏡附 ACTION RULE 鎖死容易漂的點。 |
| 連戲與一致性風險 | 用 9 張參考圖鎖 identity 與構圖、首尾幀鎖接續,自動產連戲檢查清單;偵測數量鎖、道具狀態回跳、螢幕方向翻面並標風險。 |
| 美術/光/色的敘事 | 在場景參考圖鎖光色錨點,prompt 寫明光源方向、key/fill、色溫與情緒色;每鏡重複錨點防止逐鏡飄移。 |
| 產出就緒(可生成性檢查) | 生成前跑就緒度檢查:參考是否覆蓋角色/對手/場景/分鏡表、每鏡是否有動作+ACTION RULE+運鏡+景別、首尾幀鏈是否連續、比例/畫質/秒數是否設定;輸出 low/medium/high,high 才放行。 |
這條管線裡,AI 導演層最該優先自動化的不是文采,是這兩個硬骨架:
last_frame 設為下鏡 first_frame,角色姿態、位置、光線、構圖全部延續,剪在一起幾乎無縫——這是把一堆 15 秒積木接成連戲作品的關鍵。其餘(shot list、運鏡、光色、情緒曲線)都是可接受/拒絕的建議層;只有這兩項是讓「很多段 ×(連戲+剪接)」真的成立的前提。
不要丟「運鏡有張力」這種空話,給可貼的詞並校驗配不配情緒:
locked-off static 或極慢 slow push-intracking follow、handheld shakeslow orbit around subject、crane upwhip pan、dolly zoom鐵律:每鏡只給一個主運鏡(多運鏡會讓模型亂掉);景別走階梯式變化(wide→medium→close),不要大廣角直砍大特寫。
Pass 1 分鏡圖 prompt 寫死版面與螢幕方向:
生成 1 張 2×2 黑白分鏡草圖。格1 廣景:兩名持刀者於雨夜廢墟對峙,
C1 在 frame left 面向右、C2 在 frame right 面向左。格2 中景:C1 拔刀起手。
線稿、不上色、不加文字標籤。
Pass 2 每鏡 Seedance prompt 管「這 4–15 秒怎麼動」,動作段+ACTION RULE:
中景。雨夜廢墟,冷藍光。C1(依參考圖外觀)位於畫面左側面向右,
緩慢拔刀至起手式,肩膀下沉、視線鎖定對手。鏡頭:緩慢 push-in。16:9,6 秒,1080p。
ACTION RULE:只做「拔刀至起手」這一個連續動作;畫面僅 2 人,不得出現第三人或多餘肢體;
刀為 1 把,出鞘後不得回鞘;外觀嚴格依參考圖;鏡頭只做一次 push-in;
最後一幀停在「刀已舉至肩高、刀尖指向 C2」。
把這鏡的 last_frame 設為下個攻擊鏡的 first_frame,就形成 match cut,刀的位置不跳。
MV preset(9:16)把副歌 12 秒切成 3 鏡跟鼓點:
tracking follow,建立空間)slow orbit,情緒拉高)locked-off,定格情緒)音訊:MV 通常先有歌,建議關閉 generate_audio、改用參考音頻對節奏或後製對軌。限制:video-to-video 風格轉換不可用真人素材。
一支 15 秒片段只是一塊積木。要做更長、更有敘事的作品,就把這條管線當「單鏡產生器」,再往上疊三層:多鏡組裝、連戲、影像敘事技法。
flowchart TD
STORY["🎬 故事 / 敘事意圖"] --> BOARD["🗂️ 分鏡表 多鏡藍圖"]
BOARD --> SP["每一鏡:Seedance prompt"]
SP --> CLIPS["🎞️ 多段片段 各自生成"]
CLIPS --> EDIT["✂️ 剪接 + 轉場 + 配樂"]
EDIT --> FILM["🎥 完整作品"]
style FILM fill:#16241b,stroke:#8ef6c8,color:#f1e7d0
style BOARD fill:#10243a,stroke:#5aa6ff,color:#f1e7d0
核心心法:開發/前製做不紮實,製作階段的 15 秒積木就接不起來。重點不是拍得多漂亮,是讓很多段能連戲+剪接成一支完整作品。把傳統四階段映射到這條管線:
目標:把一句概念變成可生成的敘事藍圖,定下全片不變的風格與技術規格。
adaptive)。VISUAL STYLE 文字塊(色調、光質、底片/數位質感、年代氛圍),全片逐鏡照貼。目標:備齊 9 張參考圖、展開 shot list、規劃首尾幀鏈與切點,跑就緒度檢查。
last_frame→first_frame 接、切點放動作中段;每鏡標目標秒數(抽刀=3s、對峙凝視=5s)。目標:逐鏡生成 15 秒積木,每鏡帶 ACTION RULE 與單一主運鏡,串好首尾幀。
VISUAL STYLE 塊+角色/道具字典,再換動作段,附 ACTION RULE。seed,建 seed 帳本;要比對 take 時一次只改一個變數。shotN_last.png),設為下一鏡 first_frame,串成接續鏈。目標:依分鏡節奏剪接、統一風格與音軌,輸出成片。
generate_audio;敘事片可用 generate_audio 或參考音頻。last_frame → 下鏡 first_frame 串接:用真實尾幀當起點幾乎無縫——逐鏡生成最有效一招。VISUAL STYLE 文字塊逐鏡照貼:風格詞每鏡微調,整片就忽冷忽暖。seed 亂跳 → 膚色/髮流/光感逐鏡重骰。adaptive → 剪接黑邊、銳糊不一。