APIMaster.ai

Seedance 2.0 Fast 影片生成 API

關於 APIMaster 上 Seedance 2.0 Fast 的參數、參考媒體、非同步任務、認證下載與時長計費。

Seedance 2.0 Fast 影片生成

使用 seedance-2.0-fast 進行文字轉影片、圖片轉影片、首/末幀生成,以及影片或音訊參考。Fast 支援 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-fast
prompt 字串 必填 最多 4000 個字元。描述主體、動作、場景、攝影機和期望的音訊;簡潔的提示詞更容易控制。
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-fast",
  "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-fast"。來自其他平台或帳戶的素材 ID 無法在此使用。

請參閱媒體庫工作流程以了解建立、提交、審核、部分失敗和刪除。上傳和素材管理端點是共用的;本頁的生成限制適用於 Fast。審核失敗可能不會返回詳細原因;請使用清晰、合規且格式受支援的素材,並提交新的審核。請勿在現有審核仍在處理時重複建立任務。

提交影片

curl "https://apimaster.ai/v1/videos/generations" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model":"seedance-2.0-fast",
    "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-fast",
  "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":118,
    "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-fast",
    "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 / 暫時性服務錯誤 等待並使用退避策略重試;在不明確的超時後避免重複提交。

同步的無效參數請求不會建立影片任務或收取生成費用。已接受的任務仍可能非同步失敗;在使用結果前請檢查最終任務狀態。

另請參閱:影片生成概述、Seedance 2.0、Seedance 2.0 Mini 和 Seedance 2.5。