Seedance 2.0
Seedance 2.0 API 參考文件:影片生成、影格與參考素材、請求範例、任務輪詢、下載與價格。
Seedance 2.0 支援文字、首尾影格,以及圖片、影片與音訊參考素材,可輸出 480p、720p、1080p 與 4K 影片。每次請求最長可生成 15 秒。模型詳情與試驗區。
連接 Wan API
使用 https://api.wanapi.app 作為 API 基底 URL。在 API 金鑰設定建立選用 Seedance 模型系列的金鑰,並以 Authorization: Bearer YOUR_API_KEY 傳送。請將金鑰保存在伺服器端。試驗區使用您的網站登入工作階段,費用從同一帳號的餘額扣除,不需要將金鑰貼入瀏覽器。
使用服務需要已啟用且餘額充足的帳號。GET /v1/models 會列出您的金鑰可使用的模型。Seedance 模型使用 POST /v1/videos,請在 JSON 主體中選擇模型。
| 設定 | Seedance 2.0 |
|---|---|
| 模型 ID | bytedance/seedance-2.0 |
resolution | 480p、720p、1080p、4k;預設值:720p。 |
duration | 輸出長度為 4–15 秒,或使用 -1 自動決定;預設值:5。 |
aspectRatio | adaptive, 16:9, 4:3, 1:1, 3:4, 9:16, 21:9;預設值:adaptive。 |
generateAudio | 預設值為 true。設為 false 不會降低 token 費率。 |
| 輸出 | 每次請求一支影片,影格速率為 24 fps。 |
請求欄位說明全部 13 個頂層欄位。請使用此處列出的欄位名稱,包括 aspectRatio 與 generateAudio。
送出 Seedance 2.0 任務
以下是 720p、4 秒的文字生成影片請求。請在伺服器上將 WAN_API_KEY 設為您的 Seedance 金鑰。只送出一次,並儲存回傳的 id。
curl https://api.wanapi.app/v1/videos \
-H "Authorization: Bearer $WAN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "bytedance/seedance-2.0",
"prompt": "A paper boat floats through a sunlit stream. Slow tracking shot.",
"resolution": "720p",
"aspectRatio": "16:9",
"duration": 4,
"generateAudio": true
}'查詢 Seedance 2.0 任務
將回傳的 id 儲存為 TASK_ID,再以相同金鑰查詢。送出後會回傳任務收據;影片須等到完成後才能取得。請先以每 5 秒一次的間隔輪詢;詳見任務狀態與下載。
curl "https://api.wanapi.app/v1/videos/$TASK_ID" \
-H "Authorization: Bearer $WAN_API_KEY"Seedance 2.0 價格
費率以每 100 萬影片 token 的 USD 金額表示。最終費用由輸入與輸出影片 token 決定。解析度、影片長度與參考影片輸入都會影響用量;請依有無參考影片選用對應費率。音訊沒有獨立價格級距。
| 解析度 | 參考影片 | 官方價格 | Wan API 價格 | 節省比例 |
|---|---|---|---|---|
| 480p | 不含參考影片 | US$0.0703 | 無法取得 | — |
| 480p | 含參考影片 | US$0.0432 | 無法取得 | — |
| 720p | 不含參考影片 | US$0.1512 | 無法取得 | — |
| 720p | 含參考影片 | US$0.0929 | 無法取得 | — |
| 1080p | 不含參考影片 | US$0.3742 | 無法取得 | — |
| 1080p | 含參考影片 | US$0.2284 | 無法取得 | — |
| 4K | 不含參考影片 | US$0.7776 | 無法取得 | — |
| 4K | 含參考影片 | US$0.4666 | 無法取得 | — |
預估費用以 16:9、24 fps 輸出為基準。其他長寬比與實際輸出尺寸可能改變費用。
沒有參考影片時,只計算輸出秒數。有參考影片時,輸入與輸出秒數都會計費;計費輸入時間至少為輸出長度的三分之二,並無條件進位至整秒。
官方比較基準: BytePlus 國際版隨用隨付價格. 確認日期:2026-10-15。Wan API 價格會自動更新。
最終費用由輸入與輸出影片 token 決定。失敗的請求不收費。
查看 Seedance 2.0 價格與預估費用。送出前請先在試驗區確認預估費用。
請求欄位
請傳送 JSON 物件。model 為必填,並須提供非空白提示詞或至少一項媒體輸入。其他欄位為選填。不明欄位會遭拒絕。
| 欄位 | 型別 | 規範 |
|---|---|---|
model | string | 必填:bytedance/seedance-2.0。 |
prompt | string | 文字指示;本服務最多接受 20,000 個字元。須提供提示詞或媒體輸入。 |
image | URL 或 URL 物件 | 首張影格圖片 URL,或包含 type: "url"、url 與選填 mediaType 的物件。請擇一使用 image 或 frameImages,不能同時使用。 |
frameImages | array | 一個 first_frame 與選填的 last_frame。每個項目包含 frameType 與 image;請見下方影格範例。 |
inputReferences | array | 最多 9 張圖片與 3 支影片。每個項目包含 type: "url"、url 與 mediaType。也接受 data/mediaType 的 URL 形式。 |
aspectRatio | string | adaptive(預設)、16:9、4:3、1:1、3:4、9:16、21:9。 |
resolution | string | 480p、720p、1080p、4k。預設值:720p。也接受 854x480、1280x720、1920x1080 與 3840x2160 作為解析度級距;請使用 aspectRatio 選擇畫面比例。 |
duration | integer | 輸出長度為 4–15 秒,或使用 -1 自動決定。預設值:5。 |
fps | integer | 固定為 24;可省略或傳送 24。 |
seed | integer | 選填;範圍為 -1 至 2147483647。不保證重複生成相同結果。請勿同時指定 providerOptions.bytedance.seed。 |
generateAudio | boolean | 生成音訊。預設值:true;停用不會改變 token 費率。 |
n | integer | 固定為 1;每次請求一支影片。 |
providerOptions | object | 選填的 bytedance 物件:referenceAudio(最多 3 個 HTTP(S) URL)、seed(範圍與頂層 seed 相同)。不支援 draft: true。不明選項會遭拒絕。 |
輸入組合與媒體限制
-
使用
image提供首張影格,或使用frameImages提供首張影格與選填的最後影格。僅提供最後影格或重複影格類型的請求會遭拒絕。 -
影格不能與
inputReferences或providerOptions.bytedance.referenceAudio同時使用。 -
參考模式最多接受 9 張圖片、3 支影片與 3 段音訊,參考素材合計最多 15 份。
-
媒體輸入必須是公開的 HTTP(S) URL。不接受直接上傳位元組資料或含憑證的 URL。
-
圖片:JPEG、PNG、WebP、BMP、TIFF 或 GIF;須小於 30 MB;每邊 300–6000 像素;長寬比 0.4–2.5。
-
影片:MP4 或 MOV;每個檔案最多 50 MB;每支長度為 2–15 秒,合計最多 15 秒;每邊 300–6000 像素,長寬比 0.4–2.5,影格速率為 24–60 fps。
-
音訊:MP3 或 WAV;每個檔案最多 15 MB;每段長度為 2–15 秒,合計最多 15 秒。至少需要一張參考圖片或一支參考影片。
-
處理時會檢查遠端媒體的大小、編碼與長度;僅驗證 URL 無法保證檔案可用。
-
此端點未提供將先前草稿任務轉為最終成品的算圖流程,也未開放任意原生任務選項。
影格與參考素材範例
將以下主體送至相同的 POST /v1/videos 端點。送出前,請將所有 example.com URL 換成您自己的可直接存取媒體 URL。請確保任務完成前,輸入 URL 都維持可用。
首尾影格
若只提供首張影格,請使用 image: "https://example.com/first-frame.jpg",並省略 frameImages。若要設定影片的起點與終點,請使用:
{
"model": "bytedance/seedance-2.0",
"prompt": "The camera slowly moves from the opening scene to the closing scene.",
"frameImages": [
{
"frameType": "first_frame",
"image": "https://example.com/first-frame.jpg"
},
{
"frameType": "last_frame",
"image": "https://example.com/last-frame.jpg"
}
],
"aspectRatio": "adaptive",
"resolution": "720p",
"duration": 4
}圖片、影片與音訊參考素材
將圖片與影片輸入放在 inputReferences,並明確指定 MIME 類型。將音訊 URL 放在 providerOptions.bytedance.referenceAudio。此請求請勿加入影格輸入。
{
"model": "bytedance/seedance-2.0",
"prompt": "Use the character from the image and the camera movement from the video.",
"inputReferences": [
{
"type": "url",
"url": "https://example.com/character.jpg",
"mediaType": "image/jpeg"
},
{
"type": "url",
"url": "https://example.com/motion.mp4",
"mediaType": "video/mp4"
}
],
"providerOptions": {
"bytedance": {
"referenceAudio": [
"https://example.com/sound.wav"
]
}
},
"resolution": "720p",
"duration": 4
}輪詢並下載影片
已接受的任務會回傳如下物件。範例 ID 與時間戳記僅供示意:
{
"id": "task_EXAMPLE",
"object": "video",
"model": "bytedance/seedance-2.0",
"status": "queued",
"progress": 0,
"created_at": 1792022400
}以您的 API 金鑰輪詢 GET /v1/videos/{task_id}。查詢會回傳相同的對外任務 ID 與模型。請使用 status 決定何時停止輪詢;progress 並非剩餘時間的估算值。
| 狀態 | 意義 | 下一步 |
|---|---|---|
queued | 任務已接受。 | 繼續輪詢。 |
in_progress | 正在生成。 | 繼續輪詢。 |
completed | 影片已完成。 | 讀取 videos[0].url 並下載。 |
failed | 生成失敗。 | 停止輪詢並檢查 error。 |
完成後的查詢結果包含 videos 陣列,其中每個物件都有 url 與 mediaType。時間戳記使用 Unix 秒數;記錄完成狀態時會出現 completed_at。
{
"id": "task_EXAMPLE",
"object": "video",
"model": "bytedance/seedance-2.0",
"status": "completed",
"progress": 100,
"created_at": 1792022400,
"completed_at": 1792022460,
"videos": [
{
"url": "/v1/tasks/task_EXAMPLE/artifacts/video/content",
"mediaType": "video/mp4"
}
]
}若回傳的 URL 是相對路徑,請以 https://api.wanapi.app 為基底解析,並使用您的 API 金鑰驗證。以上述範例為例:
curl "https://api.wanapi.app/v1/tasks/$TASK_ID/artifacts/video/content" \
-H "Authorization: Bearer $WAN_API_KEY" \
-o video.mp4若回傳已簽署的 HTTPS 媒體 URL,請直接使用,不要將 API 金鑰傳送至該主機。結果 URL 可能過期。需要保留的影片請另存至自己的儲存空間。輪詢與下載既有結果不會建立另一個生成任務。
失敗的任務包含具有 code 與 message 的 error 物件,例如:
{
"id": "task_EXAMPLE",
"object": "video",
"model": "bytedance/seedance-2.0",
"status": "failed",
"error": {
"code": "generation_failed",
"message": "Video generation failed"
}
}計費與失敗處理
最終費用依實際影片 token 用量與目前模型費率計算。試驗區顯示的是最高預估費用,並非固定報價。較長影片與較高輸出解析度可能增加 token 用量。失敗的請求不收費。
- **參數無效:**修正欄位或輸入組合後再重新送出。除了 URL 語法,也請確認媒體格式與限制。
- **驗證或模型存取問題:**請使用有效且已開放所選模型的 Seedance 金鑰。
- **餘額不足:**請先儲值,再送出新的付費請求。金鑰的額度上限不會增加帳號餘額。
- **暫時性輪詢失敗:**重試 GET 時逐步延長間隔,並設定最長等待時間。查詢失敗不代表生成失敗。
- **送出逾時或未取得任務 ID:**結果可能不明。請勿自動重複 POST,否則可能建立第二個付費任務。
- **下載失敗:**先重試取得既有結果,再考慮開始新的生成。
若送出結果不明而需要調查,請保留任務 ID 並聯絡支援團隊。