簡短回答
Seedance 只看請求裡每個素材的role,不看你工具裡勾了什麼開關,也不看提示詞。 圖片沒寫 role 時,一張圖會按「首幀圖生影片」處理;這時再帶上參考影片,就成了「首幀 + 參考素材」,原廠直接拒絕。
典型報錯如下,提交任務時直接返回 400,不會建立任務,也不計費:
POST /seedance/api/v3/contents/generations/tasks 提交,給圖片寫 "role": "reference_image"、影片寫 "role": "reference_video";影片用公網可直接下載的 URL,或先入庫再用 asset:// 素材 ID 引用。
一個真實案例
一位客戶在自己搭的本地創作工具裡,傳了一張角色圖和一段影片,勾選了「全能參考」,沒勾「首尾幀」,提示詞裡還專門寫了「圖一不是首幀、不開首尾幀模式」,結果每次都報上面的錯。 我們在閘道側抓到了這次請求的原文(圖片 Base64 已截斷):
這位客戶的瀏覽器控制台裡,同一個 mp4 還有
415 Unsupported Media Type 報錯,來自工具自己的本地預覽介面(localhost 上的 /api/media-preview/...)。這說明工具沒能把這段影片處理成可用的地址,最後把本地路徑原樣塞進了請求。
不要用通用影片端點提交 Seedance
/v2/videos/generations(以及 /v1/videos、/v1/video/generations)是閘道的通用影片端點,欄位是幾家影片模型的最大公約數,表達不了 Seedance 的輸入模式:
- 沒有
role:分不清首幀、首尾幀和多模態參考,一圖一影片這種組合一定會被當成「首幀 + 參考」 - 解析度透傳不完整:實測 2.5 請求 480p 會按 720p 出片、2.0 系請求 1080p 會按 720p 出片,而計費按實際出片結算
- 2.5 獨有的引數(
omni_reference_task_type、output_format等)沒有對應欄位
如果你用的是第三方工具,找一找它的 Seedance 通道能不能選「原生 / 火山方舟」格式;只提供通用影片介面的工具,做不了帶參考影片的任務。
正確寫法:每個素材都寫 role
- 三種輸入模式互斥:首尾幀(2 張圖,
first_frame/last_frame)、首幀(1 張圖)、多模態參考(reference_image/reference_video/reference_audio)。只要帶了參考影片或參考音訊,所有圖片都必須寫reference_image - 不寫
role就是首幀:單張圖不寫role,等同於first_frame - 提示詞裡用
@影像1、@影片1按傳入順序指代素材 - 參考素材數量:2.0 系最多 9 圖 + 3 影片 + 3 音訊,2.5 最多 30 圖 + 10 影片 + 10 音訊
參考影片怎麼傳
原廠是在自己的伺服器上下載素材的,所以影片必須是原廠能直接訪問到的地址。
提交前可以在任意一臺能上網的機器上自查(把
<URL> 換成你的影片連結):
code=200,type 是 video/mp4 或 video/quicktime,size 與原檔案一致。返回 HTML、JSON 或 4xx 都說明這個連結給不了原廠。圖片連結的完整自查方法見 圖片連結能開啟卻報格式錯誤。
相關文件
影片生成介面
原生端點、各輸入模式的 content 組合與 role 取值
素材優先實踐
參考影片為什麼別用 Base64,以及入庫拿素材 ID 的步驟