ByteDance: Seedance 2.0 Fast
ByteDance Seedance 2.0 Fast 從文字、圖片、影片及聲音參考創作視聽場景。此速度導向版本支援動作與風格轉移、影片編輯,以及向後續接或向前補足的延伸;文件記載輸出為 480p 與 720p。
關於模型
此說明介紹模型的能力。Ailoot 可用的輸入、輸出與選項,依所選方法列於下方。
Seedance 2.0 Fast 是 ByteDance Seed 在 Seedance 2.0 系列中以速度為導向的版本。它支援影片與音訊聯合生成,以及由文字、圖片、影片及聲音構成的多模態需求說明。創作能力包括參考導向的新場景、既有影片編輯及場景延伸,文件所述輸出等級為 480p 與 720p。
多模態參考:為素材分配角色
圖片可提供角色、產品、構圖或視覺處理。參考影片可提供動作、鏡頭運動或效果。參考音訊可提供音色、音樂旋律或對話內容。請解釋每份來源的哪個部分要帶入新場景;具備明確創作角色的參考更實用。
例如:「以 Image 1 的陶瓷燈作為產品。跟隨 Video 1 的緩慢環繞鏡頭,但將燈放在安靜的閱讀角落。以 Audio 1 指定音樂情緒。」預定輸出是結合所選外觀、動作及聲音方向的新場景,而非未加指定地模仿參考中的每項細節。
文件記載的組合包括圖片加音訊、圖片加影片、影片加音訊,以及三者一起使用。不支援僅有文字加音訊,或僅有音訊的輸入。模型也支援文字轉影片,以及以首幀或首尾幀配對進行圖片主導生成。若精確終點是需求核心,請使用專用終點工作流程;在 omni-reference 提示中將參考圖片描述為終點,是間接控制。
編輯既有影片
模型可新增、移除或修改元素,替換主體,並重繪或修復場景部分內容。請識別來源影片、要改變的物體及應維持的元素。新增時應描述出現位置與時間;移除時應在整段影片中一致識別該物體。
實用編輯需求可將示範中的素面瓶子,替換為 Image 1 的瓶子,同時要求保留 Video 1 的手部動作、背景及攝影機路徑。請同時檢查替換內容與應保持穩定的區域。明確的保留指示,比泛泛要求「改善」影片更容易評估預定編輯。
延伸與連接片段
Seedance 2.0 Fast 支援向後續接或向前補足,並以生成轉場連接兩段或三段影片。延伸時,請指出新動作發生在輸入影片之前或之後,再描述該動作。連接時則依預定順序提供片段,並說明銜接它們的視覺事件。
簡單延伸通常傳回在原影片周圍新發展的延續部分,而非假設整段來源片段會重複。若輸出應包含原區段,請在需求中明說。填補兩段或三段影片間的轉場時,文件所述工作流程可組合原始與新生成內容。這適合透過有目的的鏡頭運動,將產品全景連至細節鏡頭。
輸出與版本差異
文件所述 Fast 輸出為每秒 24 幀的 MP4、480p 或 720p、8 位元色深,以及 4 至 15 秒片段。支援比例為 21:9、16:9、4:3、1:1、3:4 及 9:16。標準 Seedance 2.0 版本另列 1080p 與 4K 輸出,這些等級不屬於 Fast 規格。2.0 系列支援傳回最後生成畫面,但不支援獨立的 Draft 預覽模式。
音訊可隨影片生成,也可省略以製作無聲片段。生成音訊為單聲道。文件列出的提示語言包括英語、西班牙語、印尼語、葡萄牙語及日語。請在對話中保持口述語言一致;指南建議除專有名詞外避免混用語言。口語場景應指出說話者,將台詞放入引號,再指定表達方式及相關音效。所需表演應適合選定片長。
準備參考與遵守輸入上限
文件所列參考上限為九張圖片、三段影片及三段音訊。此製作者規格不接受含真實人臉的參考圖片或影片直接上傳;人像工作採用其支援的人像素材工作流程。每段影片或音訊必須為 2 至 15 秒;影片總長最多 15 秒,音訊總長另計,最多也是 15 秒。影片參考使用 MP4 或 MOV、每秒 24 至 60 幀,每段不得超過 200 MB。音訊參考使用 WAV 或 MP3,每段不得超過 15 MB。圖片格式列有 JPEG、PNG、WebP、BMP、TIFF、GIF、HEIC 及 HEIF。每張圖片必須小於 30 MB;整個請求本文上限為 64 MB。文件所述參考輸入規格中,圖片寬與高皆須大於 300 且小於 6,000 像素,寬高比須大於 0.4 且小於 2.5。參考影片各邊可為 300 至 6,000 像素、比例為 0.4 至 2.5,包含端點,總像素數為 407,696 至 8,295,044。MP4 或 MOV 影片使用 H.264/AVC 或 H.265/HEVC 影像,以及 AAC 或 MP3 音訊。
請排列素材,並一致使用 Image 1、Video 1 或 Audio 1 參照。除了素材編號,也使用可見主體名稱或辨識特徵。終點圖片取景應符合預定影片比例,因為不一致可能裁切圖片,或造成突兀的取景變化。需求應聚焦要轉移的特徵、要生成的事件,以及應維持不變的內容;過長提示可能分散指示,讓次要細節未被解決。
鏡頭規劃、文字與已知行為
複雜需求應整理為 Shot 1、Shot 2 及 Shot 3,每個鏡頭有明確主體、動作、位置與聲音。指南建議每個鏡頭只安排一個鏡頭運動,並指出精確的逐鏡時間戳記不穩定。請為每個角色提供固定標籤及少數辨識特徵;若臉部身分重要,應使用分開且清楚的頭像與全身參考,而非合併的角色多面轉身圖。
模型可生成標語、字幕、對話框等常見文字,並指定其色彩、風格、位置及進場。常用字優於罕用字或特殊符號。請檢查動態中的字母與文字。文件記載可能出現不需要的字幕、標誌及重複角色;明確限制與乾淨參考可降低發生機會,但不保證完全消失。超過四位參考人物被報告為穩定性風險,並非硬性檔案數上限。
反覆延伸可能累積畫質損失,延伸接縫也可能跳動或倒退。請限制層層堆疊的延續,並在編輯中檢查接縫。參考音色可能漂移、旁白可能以喀聲結束,中文多音字或罕用字可能讀錯。請檢查台詞與結尾音訊;短音訊淡出可改善截斷。這些檢查是準備創作成果的一部分,尤其當語音或角色連貫性承載故事時。
Ailoot Ultra · 影片 POST /v1/videos bytedance/seedance-2.0-fast
bytedance/seedance-2.0-fast入門
ByteDance Seedance 2.0 Fast 從文字、圖片、影片及聲音參考創作視聽場景。此速度導向版本支援動作與風格轉移、影片編輯,以及向後續接或向前補足的延伸;文件記載輸出為 480p 與 720p。
- 接受的輸入
- 文字 · 圖片 · 音訊
- 結果
- 影片
Ailoot 可用 · 輸入與方法
Ailoot Ultra · 影片 POST /v1/videos
- 輸入
text,image,audio- 輸出
video- 輸出格式
- 原始 MP4 位元組;不進行正規化或轉碼
| 欄位 | 類型 | 要求 | 值與限制 | 預設值 |
|---|---|---|---|---|
欄位model | 類型string | 要求必填 | 值與限制 bytedance/seedance-2.0-fast | 預設值— |
欄位prompt | 類型string | 要求必填 | 值與限制 | 預設值— |
欄位duration | 類型integer | 要求必填 | 值與限制 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 最小值: 1 最大值: 600 | 預設值— |
欄位resolution | 類型string | 要求選填 | 值與限制 480p, 720p | 預設值— |
欄位aspect_ratio | 類型string | 要求選填 | 值與限制 1:1, 3:4, 9:16, 4:3, 16:9, 21:9, 9:21 | 預設值— |
欄位generate_audio | 類型boolean | 要求選填 | 值與限制 false, true 條件: 省略 generate_audio 會選用含音訊的價格;設為 false 則會選用不含音訊的價格。請查看結果中的 has_audio,確認是否回傳音軌。 | 預設值— |
欄位frame_images | 類型array | 要求選填 | 值與限制 項目數下限: 1 項目數上限: 2 輸入內容: 影格物件陣列。每個物件包含 type=image_url、內含 url 的 image_url,以及 frame_type=first_frame 或 last_frame。每種角色最多只能出現一次。請使用公開的 HTTPS URL。 確切鍵名: type, image_url, frame_type 條件: 這些鍵適用於每個影格物件。僅含文字的請求請省略 frame_images。 | 預設值— |
欄位input_references | 類型array | 要求選填 | 值與限制 輸入內容: 圖片或音訊參考物件的陣列。請將 type 設為 image_url 或 audio_url,並提供相應且內含 url 的 URL 物件。影片參考資料仍無法定價。 條件: 省略 frame_images 即可使用參考資料模式。請使用公開的 HTTPS URL。 | 預設值— |
欄位size | 類型string | 要求選填 | 值與限制 480x480, 480x640, 480x854, 640x480, 854x480, 1120x480, 720x720, 720x960, 720x1280, 720x1680, 960x720, 1280x720, 1680x720 模式: ^[1-9][0-9]*x[1-9][0-9]*$ | 預設值— |
欄位seed | 類型integer | 要求選填 | 值與限制 最小值: -9,223,372,036,854,775,808 最大值: 9,223,372,036,854,775,807 | 預設值— |
欄位callback_url | 類型string | 要求選填 | 值與限制 模式: ^https:// | 預設值— |
欄位session_id | 類型string | 要求選填 | 值與限制 | 預設值— |
欄位trace | 類型object | 要求選填 | 值與限制 | 預設值— |
欄位user | 類型string | 要求選填 | 值與限制 | 預設值— |
輸入素材組合
文字生成影片 · 文字提示詞。 · 必填: model, prompt, duration
請提供文字提示詞與支援的整數秒長度。請使用列出的確切大小,或可對應至列出尺寸的解析度與長寬比。
model: 類型: string · bytedance/seedance-2.0-fast
prompt: 類型: string · UTF-8 位元組數上限: 10,000 · 必須包含非空白字元: 是
圖片生成影片 · 文字提示詞與影格圖片。 · 必填: model, prompt, duration, frame_images
frame_images 是物件陣列,每個物件包含 type=image_url、內含 url 的 image_url,以及 frame_type。請使用公開的 HTTPS 圖片 URL;first_frame 與 last_frame 各最多只能出現一次。請使用列出的輸出大小或相容尺寸。切勿加入影片參考資料。
確切鍵名: type, image_url, frame_type
model: 類型: string · bytedance/seedance-2.0-fast
prompt: 類型: string · UTF-8 位元組數上限: 10,000 · 必須包含非空白字元: 是
Reference to video · 文字提示詞與圖片或音訊參考資料。 · 必填: model, prompt, duration, input_references
input_references 是陣列。每個物件包含 type=image_url 或 type=audio_url,以及相應且內含 url 的 URL 物件。請使用公開的 HTTPS 連結。省略 frame_images 即可選擇參考資料模式。影片參考資料無法定價。
model: 類型: string · bytedance/seedance-2.0-fast
prompt: 類型: string · UTF-8 位元組數上限: 10,000 · 必須包含非空白字元: 是
方法參數與生命週期
| 參數 | 規格 |
|---|---|
參數content_type | 規格application/json |
參數required | 規格model, prompt, duration |
參數material_types | 規格text, image, audio |
參數additional_properties | 規格false |
參數optional_controls | 規格resolution, aspect_ratio, generate_audio, frame_images, input_references, size, seed, callback_url, session_id, trace, user |
生命週期: submit_once_poll_original
GET /v1/videos/{public_id}
GET /v1/videos/{public_id}/content
方案
最終費用的計算方式
顯示的費率用於在生成前估算費用。最終費用依原始生成作業記錄的成本計算。實測的輸出時間長度與預估數量並非最終計費數量。
費率資訊不會增加請求選項。支援的參數列於所選方法中。
- 快速模式
- 未指定 選取快速模式時
- flex 模式
- 未指定 選取 flex 模式時
- 最高推理強度
- 未指定 最高推理強度採用 default 調整值時
供比較的預估費率
各設定的價格
請逐一核對各項費用與所列條件。每組互為替代選項的設定只套用一種費率。
| 設定 | 費率表 | 預估數量 | 計費單位 | 計費條件 | 費用 |
|---|---|---|---|---|---|
| 設定基礎 token 費率 | 費率表基本費率 | 預估數量— | 計費單位— | 計費條件— | 費用 輸入 · 輸入 Token · 僅供比較的估算 — / 1K Token 輸出 · 輸出 Token · 僅供比較的估算 — / 1K Token 輸入 · 讀取快取 · 僅供比較的估算 — / 1K Token 輸入 · 寫入快取 · 僅供比較的估算 — / 1K Token 輸入 · 寫入快取,1 小時 · 僅供比較的估算 — / 1K Token |
| 設定影片詞元價格 | 費率表— | 預估數量— | 計費單位per 1,000 video tokens | 計費條件此定價鍵未宣告額外條件。 | 費用 輸出 · 影片詞元價格 · 僅供比較的估算 $0.0084 每 1K 影片 Token 影片 token 費率是主要價格參考。每秒概算價格屬於另外提供的參考,並非額外費用。 |
| 設定影片詞元價格 | 費率表— | 預估數量— | 計費單位per 1,000 video tokens | 計費條件輸入:with_video_input | 費用 reference · 影片詞元價格 · 僅供比較的估算 $0.00495 每 1K 影片 Token 影片 token 費率是主要價格參考。每秒概算價格屬於另外提供的參考,並非額外費用。 |
| 設定影片詞元價格 | 費率表— | 預估數量— | 計費單位per 1,000 video tokens | 計費條件音訊:without_audio | 費用 輸出 · 影片詞元價格 · 僅供比較的估算 $0.0084 每 1K 影片 Token 影片 token 費率是主要價格參考。每秒概算價格屬於另外提供的參考,並非額外費用。 |
| 設定預估生成費用 | 費率表— | 預估數量單次生成估算值 | 計費單位— | 計費條件— | 費用 輸出 · 預估生成費用 · 僅供比較的估算 $0.18144 生成前估算 此估算並非額外費用,也不是本次生成完成後的固定費率。 |
Ailoot 會在請求前預留估算金額。取得結果後,依實測用量結算最終費用。串流結算採用最終用量紀錄。預留金額與結算的運作方式 →
參考費率詳情
模型層級的參考費率表不會變更方法選擇、報價或費用。實際計費採用所選 Ailoot 方法的費率。
影片設定的價格參考
各設定的價格
請逐一核對各項費用與所列條件。每組互為替代選項的設定只套用一種費率。
| 設定 | 計費條件 | 費用 |
|---|---|---|
| 設定影片詞元價格 | 計費條件此定價鍵未宣告額外條件。 | 費用 輸出 · 影片詞元價格 $0.0084 每 1K 影片 Token 影片 token 費率是主要價格參考。每秒概算價格屬於另外提供的參考,並非額外費用。 |
| 設定影片詞元價格 | 計費條件音訊:without_audio | 費用 輸出 · 影片詞元價格 $0.0084 每 1K 影片 Token 影片 token 費率是主要價格參考。每秒概算價格屬於另外提供的參考,並非額外費用。 |
| 設定影片詞元價格 | 計費條件輸入:with_video_input | 費用 reference · 影片詞元價格 $0.00495 每 1K 影片 Token 影片 token 費率是主要價格參考。每秒概算價格屬於另外提供的參考,並非額外費用。 |
請求範例
Ailoot Ultra · 影片
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
from pathlib import Path
Path('request.json').write_text('{"model":"bytedance/seedance-2.0-fast","prompt":"A serene mountain landscape at sunset","duration":4,"resolution":"480p","size":"480x480","generate_audio":false}', encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('result.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
接收並儲存結果
Ailoot Ultra · 影片
自有內容的簽署 URL
GET /v1/videos/{public_id}GET /v1/videos/{public_id}/content
查看工作狀態
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_STATUS_URL'
import json
from pathlib import Path
from urllib.parse import quote
r=json.loads(Path('result.json').read_text())
if not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')
Path('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))
PY_STATUS_URL
curl --fail-with-body --silent --show-error "$(cat status-url.txt)" \
-H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('status.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
其他內容讀取方式
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path('status.json').read_text())
if r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')
if not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')
urls=[]
for i,u in enumerate(r.get('data',[])):
if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')
urls.append((str(i),u))
for label,path in urls:
u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)
if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')
target=Path('owned-'+label+'.bin')
subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)
print('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')
PY_ASSETS
保留所有已完成的結果
請儲存每部已完成的影片或傳回的檔案,並從實際傳回的每個素材 URL 取得素材。
請保留每個實際的自有輸出,以及回傳的實測中繼資料。
需要檢查原始回應時
503 result_pending_check + 原始 id + X-Should-Retry:false;切勿重送原始請求
回應欄位
| 欄位 | 類型 | 含義 |
|---|---|---|
欄位index | 類型integer | 含義此影片在輸出清單中的位置,索引從零開始。 |
欄位content_url | 類型string | 含義此已完成影片的簽署 HTTPS 下載 URL。 |
欄位sha256 | 類型string | null | 含義原始影片位元組的 SHA-256 摘要;無法取得時為 null。 |
欄位size_bytes | 類型integer | null | 含義原始影片檔案大小,以位元組為單位;無法取得時為 null。 |
欄位duration_ms | 類型integer | null | 含義實測的影片長度,以毫秒為單位;無法取得時為 null。 |
欄位width | 類型integer | null | 含義影片寬度,以像素為單位;無法取得時為 null。 |
欄位height | 類型integer | null | 含義影片高度,以像素為單位;無法取得時為 null。 |
欄位video_codec | 類型string | null | 含義影片編碼識別碼;未記錄時為 null。 |
欄位has_audio | 類型boolean | null | 含義影片是否包含音軌;未測量時為 null。 |
欄位audio_codec | 類型string | null | 含義音訊編碼識別碼;未記錄識別碼時為 null。 |
錯誤與後續步驟
| 回應 | 條件 | 下一步 |
|---|---|---|
回應404 · not_found_error | 條件無法存取影片,或找不到此影片 ID。 | 下一步請確認影片存取權限。若影片已存在,請使用其原始公開 ID 與相同的 API 金鑰。 |
回應401 · authentication_error | 條件API 金鑰與已驗證的帳號不符。 | 下一步提交前,請先確認 API 金鑰與帳號存取權限。 |
回應400 · invalid_request_error | 條件無法讀取請求,或下載索引無效。 | 下一步請修正請求本文。若要下載,請選擇原始工作回傳的輸出索引。 |
回應422 · price_unavailable | 條件所選影片設定無法定價。 | 下一步請選擇支援的影片設定,填妥其必要選項,再提交修正後的請求。 |
回應422 · invalid_request_error | 條件影片輸入或原始延續工作無效。 | 下一步請使用有效的 HTTPS 輸入。若要延續影片,請使用已完成原始影片的公開影片 ID,以及相同的 API 金鑰。 |
回應402 · billing_error | 條件可用餘額或限制不允許預留額度。 | 下一步傳送新的請求前,請先確認可用餘額與限制。 |
回應503 · server_error | 條件影片驗證、儲存系統或服務存取暫時無法使用。 | 下一步請等待服務恢復可用。若已有影片 ID,請查詢該原始工作,切勿另行建立生成工作。 |
回應503 · result_pending_check | 條件原始影片結果與費用需要查核。 | 下一步請保留回傳的影片 ID,並查詢該工作。查詢期間切勿傳送替代的生成請求。 |
回應503 · owned_result_unavailable | 條件現有影片暫時無法下載。 | 下一步請稍後查詢同一影片工作,並下載其現有輸出。新的生成請求會建立獨立操作。 |
回應409 · video_not_ready | 條件影片內容尚未發布。 | 下一步請查詢原始工作狀態。回報 completed 後再下載;若回報 failed,請依其費用查核通知處理。 |
別名
模型別名
Ailoot Ultra bytedance/seedance-2.0-fast
方法路徑別名
請使用上方列出的 API 方法路徑。
相關呼叫用 ID
FAQ · ByteDance: Seedance 2.0 Fast
- 可以使用哪些輸入與結果?
POST /v1/videos·bytedance/seedance-2.0-fast:text,image,audio→video- 請求使用哪些欄位?
POST /v1/videos·bytedance/seedance-2.0-fast:model,prompt,duration,resolution,aspect_ratio,generate_audio,frame_images,input_references,size,seed,callback_url,session_id,trace,user- 適用哪些限制?
POST /v1/videos·bytedance/seedance-2.0-fast:duration.minimum:1;duration.maximum:600;frame_images.max_items:2;frame_images.min_items:1;seed.minimum:-9223372036854775808;seed.maximum:9223372036854775807