Seedance 2.0 Mini 影片生成 API
APIMaster 上的 Seedance 2.0 Mini 參數、參考媒體、非同步任務、驗證下載與時長計費。
Seedance 2.0 Mini 影片生成
使用 seedance-2.0-mini 進行文字轉影片、圖片轉影片、首/末幀生成,以及影片或音訊參考。Mini 支援 480p 和 720p,輸出時長從 4 到 15 秒。
對於首/末幀生成,請明確設定
aspect_ratio: "adaptive"。參考音訊必須伴隨圖片或影片。請將您的 APIMaster API 金鑰保存在您的伺服器上。
端點與驗證
基礎 URL:https://apimaster.ai/v1。提交、查詢和下載時請傳送 Authorization: Bearer YOUR_API_KEY。
| 操作 | 方法與路徑 |
|---|---|
| 建立影片 | POST /v1/videos/generations |
| 查詢相容結果 | GET /v1/video/generations/{task_id} |
| 查詢 OpenAI 風格結果 | GET /v1/videos/{task_id} |
| 下載影片 | GET /v1/videos/{task_id}/content |
| 下載請求的末幀 | GET /v1/videos/{task_id}/last-frame |
使用 APIMaster 返回的公開 task_id。影片任務與媒體審查任務是不同的資源:請使用上述影片查詢端點來查詢影片。一個被接受的請求會建立一個非同步任務;HTTP 成功並不代表影片已生成完成。
參數
| 欄位 | 類型 | 必填 / 預設值 | 描述 |
|---|---|---|---|
model |
字串 | 必填 | seedance-2.0-mini |
prompt |
字串 | 必填 | APIMaster 未施加模型特定的提示詞長度限制。請描述主體、動作、場景、攝影機和期望的音訊;簡潔的提示詞更容易控制。 |
duration |
整數 | 5 |
輸出長度,4–15 秒。不支援 -1。 |
resolution |
字串 | 720p |
480p 或 720p;不支援 1080p 和 4k。 |
aspect_ratio |
字串 | 16:9 |
16:9、9:16、1:1、4:3、3:4、21:9 或 adaptive。 |
ratio |
字串 | 同 aspect_ratio |
APIMaster 別名。若兩者同時出現,其值必須匹配。 |
size |
字串 | 同 aspect_ratio |
比例,例如 16:9 或 adaptive。建議使用 aspect_ratio 和 resolution 分別表示兩個維度。衝突的規格將返回 400。 |
seed |
整數 | 省略 | 控制變異性;匹配的種子值不保證輸出完全相同。 |
generate_audio |
布林值 | true |
生成伴隨音訊;使用 false 以獲得無聲輸出。 |
image_urls |
字串陣列 | 省略 | 最多 9 個參考圖片。公開圖片 URL 或經核准的 APIMaster asset:// ID。 |
image_with_roles |
物件陣列 | 省略 | 包含 url 和 role 的圖片物件;不能與 image_urls 同時出現。請參閱下方的角色規則。 |
video_urls |
字串陣列 | 省略 | 最多 3 個參考影片,總計費輸入時長最多 15 秒。請參閱素材要求。 |
audio_urls |
字串陣列 | 省略 | 最多 3 個參考音訊檔案,合併時長最多 15 秒。需要圖片或影片參考。 |
return_last_frame |
布林值 | false |
成功完成時,若結果包含末幀,則返回一個經過 APIMaster 驗證的末幀下載 URL。 |
nsfw_check |
布林值 | false |
在生成前請求文字/圖片內容審核。影片和音訊不包含在此次審核中。 |
tools |
物件陣列 | 省略 | 搜尋工具宣告:[{"type":"web_search"}]。 |
草稿生成與草稿升級僅限於 Seedance 2.5。請勿將 draft: true 或 draft_task_id 傳遞給此模型。
參考素材
提供可公開存取的 HTTPS URL,或來自 APIMaster 媒體庫的核准 ID。位於登入頁面後或需要您自身授權標頭的檔案無法擷取。成功上傳圖片並不代表內容已獲核准或符合每項模型要求。
| 素材類型 | 要求 |
|---|---|
| 參考圖片 | 最多 9;請使用可讀的 RGB JPEG/PNG 圖片。APIMaster 的圖片上傳端點有其自身的 20 MiB 限制,並接受 JPEG、PNG、GIF 和 WebP 格式。 |
| 參考影片 | 最多 3;MP4/MOV 格式,H.264/H.265 視訊編碼;若包含音訊,則為 AAC/MP3 音訊編碼。使用 480p–720p 的參考影片,合併的參考影片總時長必須在 15 計費秒數內。APIMaster 會在計費前驗證可存取 MP4/MOV 檔案的時長;輸入片段的時長會向上取整至整數秒進行此檢查和計費。 |
| 參考音訊 | 最多 3;WAV 或 MP3 格式,每個檔案最大 20 MB,合併總時長最多 15 秒。必須伴隨圖片或影片參考素材一同提供。 |
使用清晰且細節充足的圖片,避免損壞或不完整的檔案,並保持參考影片的動作與您的提示一致。即使提交被接受,媒體仍可能因非同步的格式或內容審核而失敗。
圖片角色
role |
意義 |
|---|---|
first_frame |
起始畫面;最多一個 |
last_frame |
結束畫面;最多一個,且需要一個起始畫面 |
reference_image |
參考圖片,包括已核准的角色素材 |
對於首/尾畫面任務,將 aspect_ratio 設為 adaptive 並省略 video_urls 和 audio_urls。使用 image_with_roles 來明確指定角色;請勿同時傳遞 image_urls。
{
"model": "seedance-2.0-mini",
"prompt": "A paper boat drifts gently from the starting composition to the ending composition",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "adaptive",
"image_with_roles": [
{"url": "https://your-storage.example/start.png", "role": "first_frame"},
{"url": "https://your-storage.example/end.png", "role": "last_frame"}
],
"generate_audio": false
}
上傳與媒體庫
使用 multipart 欄位 file 和 Bearer 授權,透過 POST /v1/uploads/images 上傳本地圖片。返回的頂層 url 可作為公開圖片輸入使用。
curl "https://apimaster.ai/v1/uploads/images" \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@reference.png"
對於可重複使用或角色素材,請使用 POST /v1/seedance2/private-avatar/groups 建立群組,使用 POST /v1/seedance2/private-avatar/assets 提交素材,使用 GET /v1/tasks/{asset_task_id} 查詢審核狀態,並僅使用狀態為 Active 的素材作為 asset://{asset_id}。這些資源屬於您的帳戶。請明確指定 model: "seedance-2.0-mini"。來自其他平台或帳戶的素材 ID 無法在此使用。
有關建立、提交、審核、部分失敗和刪除的詳細資訊,請參閱媒體庫工作流程。上傳和素材管理端點是共用的;本頁的生成限制適用於 Mini。審核失敗可能不會返回詳細原因;請使用清晰、合規且受支援格式的素材,並提交新的審核。在現有審核仍在處理時,請勿重複建立任務。
提交影片
curl "https://apimaster.ai/v1/videos/generations" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model":"seedance-2.0-mini",
"prompt":"A small paper boat on calm water at sunrise, gentle tracking shot",
"duration":5,
"resolution":"720p",
"aspect_ratio":"16:9",
"generate_audio":true,
"return_last_frame":true
}'
建立回應:
{"code":200,"data":[{"status":"submitted","task_id":"task_PUBLIC_VIDEO_ID"}]}
提交逾時是模糊的:請求可能已被接受。在重新提交前,請檢查您的任務歷史記錄;另一次成功的提交將建立一個單獨的計費任務。
影片與音訊參考
{
"model": "seedance-2.0-mini",
"prompt": "Follow the reference motion and keep the scene consistent with the image",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "adaptive",
"image_urls": ["https://your-storage.example/reference.png"],
"video_urls": ["https://your-storage.example/reference.mp4"],
"audio_urls": ["https://your-storage.example/reference.mp3"],
"generate_audio": true
}
查詢與下載
每 3–5 秒輪詢一次。在成功或失敗時停止。
curl "https://apimaster.ai/v1/video/generations/task_PUBLIC_VIDEO_ID" \
-H "Authorization: Bearer YOUR_API_KEY"
相容查詢成功:
{
"code":"success",
"message":"",
"data":{
"error":null,
"format":"mp4",
"metadata":null,
"status":"succeeded",
"task_id":"task_PUBLIC_VIDEO_ID",
"url":"https://apimaster.ai/v1/videos/task_PUBLIC_VIDEO_ID/content",
"actual_time":138,
"last_frame_url":"https://apimaster.ai/v1/videos/task_PUBLIC_VIDEO_ID/last-frame"
}
}
範例包含可選的完成欄位。actual_time 是從提交到完成的經過時間(秒),並非計費的影片時長。last_frame_url 若未請求或無法取得最後一幀,則會被省略。失敗的任務不包含僅在成功時才有的經過時間或最後一幀欄位。
OpenAI 風格查詢:
curl "https://apimaster.ai/v1/videos/task_PUBLIC_VIDEO_ID" \
-H "Authorization: Bearer YOUR_API_KEY"
| 意義 | 相容 data.status |
OpenAI 風格 status |
|---|---|---|
| 等待中 | queued |
queued |
| 生成中 | processing |
in_progress |
| 成功 | succeeded |
completed |
| 失敗 | failed |
failed |
OpenAI 風格的物件使用 id 作為公開任務 ID,並使用 url 作為影片下載 URL。可選的 actual_time 和 last_frame_url 出現在頂層。失敗時,請讀取相應結果物件中的 error.message。回應不包含貨幣相關欄位。
使用相同帳戶的 API 金鑰進行下載。僅開啟結果 URL 而無授權是不夠的。請及時儲存輸出。
curl -L "https://apimaster.ai/v1/videos/task_PUBLIC_VIDEO_ID/content" \
-H "Authorization: Bearer YOUR_API_KEY" -o output.mp4
curl -L "https://apimaster.ai/v1/videos/task_PUBLIC_VIDEO_ID/last-frame" \
-H "Authorization: Bearer YOUR_API_KEY" -o last-frame.jpg
Python 完整工作流程
import os
import time
import requests
base = "https://apimaster.ai/v1"
headers = {"Authorization": f"Bearer {os.environ['APIMASTER_API_KEY']}"}
response = requests.post(base + "/videos/generations", headers=headers, json={
"model": "seedance-2.0-mini",
"prompt": "A small paper boat on calm water at sunrise",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9",
"generate_audio": True,
"return_last_frame": True,
}, timeout=90)
response.raise_for_status()
task_id = response.json()["data"][0]["task_id"]
for _ in range(240):
response = requests.get(base + "/video/generations/" + task_id,
headers=headers, timeout=30)
response.raise_for_status()
task = response.json()["data"]
if task["status"] == "failed":
raise RuntimeError((task.get("error") or {}).get("message", "Video failed"))
if task["status"] == "succeeded":
print("Elapsed seconds:", task.get("actual_time"))
for field, filename in [("url", "output.mp4"), ("last_frame_url", "last-frame.jpg")]:
if task.get(field):
with requests.get(task[field], headers=headers, stream=True, timeout=120) as result:
result.raise_for_status()
with open(filename, "wb") as out:
for chunk in result.iter_content(1024 * 1024):
out.write(chunk)
break
time.sleep(5)
else:
raise TimeoutError("Task still processing; query the same task_id later")
時長計費
共有四個層級:480P、720P、480P-input 和 720P-input。標記為「已上傳影片」的層級表示請求包含參考影片輸入。即使也存在圖片/音訊參考,也請為請求的輸出解析度選擇輸入層級。
- 無參考影片:生成的影片秒數 × 對應解析度的單價。
- 有參考影片:(總參考影片秒數 + 生成的影片秒數)× 對應輸入層級的單價。
- 配置的基礎單價會乘以適用的通道和帳戶/群組係數,以獲得您的最終單價。請查看您的模型卡片和錢包消費記錄以了解適用的價格。
例如,一個 4 秒的參考影片和一個 5 秒的輸出,在輸入層級使用了 9 個可計費秒數。輸入層級的單價可能與常規層級不同;請勿僅計算輸出時長或將常規層級價格套用於影片參考。圖片和音訊不會增加參考影片秒數。生成的音訊不會為這四個配置價格引入單獨的有聲/無聲層級。
提交時會預留請求的輸出時長,以及存在時經過驗證的輸入影片時長。省略輸出時長將預留 5 秒輸出。任務保留其提交時的費率;完成時會根據實際時長進行結算。生成失敗將退還影片任務費用。
錯誤與疑難排解
無效請求會返回 HTTP 錯誤。請同時閱讀 JSON 錯誤訊息和狀態碼。參數驗證使用 APIMaster 的錯誤封裝器,例如:
{"code":"invalid_request","message":"First/last-frame tasks require adaptive aspect_ratio","data":null}
| 問題 | 操作 |
|---|---|
| 不支援的解析度 / 時長 | 選擇 480p 或 720p,以及一個從 4 到 15 的整數時長。 |
| 衝突的長寬比或尺寸 | 使用一致的 aspect_ratio、ratio、size 和 resolution;最好僅保留明確的長寬比/解析度配對。 |
| 首幀/末幀限制 | 使用 adaptive,每種角色最多一個,並省略影片/音訊參考。 |
| 參考影片無法檢查 | 提供一個可存取、完整的 MP4/MOV 檔案,並具有有效的時長。 |
| 參考音訊無圖片/影片 | 添加圖片/影片參考或移除音訊參考。 |
| 內容審核拒絕 | 修改文字或圖片並提交新請求。審核服務失敗可能允許生成繼續;這並非絕對的安全保證。 |
FormatUnsupported / 非同步格式/內容拒絕 |
閱讀失敗任務的 error.message,檢查格式和素材要求,並更換來源。 |
401 |
提供有效的 Bearer API 金鑰。 |
| 餘額不足 | 儲值或使用具有足夠配額的金鑰。 |
429 / 暫時性服務錯誤 |
等待並使用退避策略重試;在不明確的超時後避免重複提交。 |
同步的無效參數請求不會建立影片任務或收取生成費用。已接受的任務仍可能非同步失敗;在使用結果前請檢查最終任務狀態。
