Chuyển đến nội dung chính
OrcaRouter giao tiếp với các mô hình video Seedance trên cùng endpoint submit-rồi-poll như Kling. Bạn gửi model: byteplus/dreamina-seedance-2-0-260128, OrcaRouter định tuyến yêu cầu đến API upstream Ark /contents/generations/tasks, và bạn poll cùng task ID đó qua OrcaRouter khi xong (thường 30 giây đến 4 phút tùy duration / độ phân giải / generate_audio).
Mô hình hiện có. Hiện chỉ Seedance 2.0 được cung cấp, dưới tên backend byteplus/dreamina-seedance-2-0-260128. Bảng khả năng bên dưới liệt kê các thành viên còn lại của họ Seedance để tham khảo, nhưng chúng chưa thể chọn trong playground hay định tuyến qua OrcaRouter — hiện tại hãy dùng byteplus/dreamina-seedance-2-0-260128 cho mọi yêu cầu.
Endpoint submit POST /v1/video/generations và endpoint fetch GET /v1/video/generations/{task_id} được dùng chung với Kling. Khác biệt là thân yêu cầu: Kling dùng prompt + image + metadata.{mode, aspect_ratio, image_list, ...}, Seedance dùng prompt + metadata.{content[], ratio, duration, generate_audio, watermark, ...}. Tiền tố trên model chọn lược đồ nào được tôn trọng.

Mô hình

Mô hìnhT2VI2V (khung đầu)I2V (đầu+cuối)Ref đa phương thức¹Chỉnh sửa video²Tạo âm thanh³DurationKhả dụng
byteplus/dreamina-seedance-2-0-260128 (2.0)✓ đầy đủ4 – 15 s
byteplus/seedance-2.0-fast✓ đầy đủ4 – 15 sdự kiến
byteplus/seedance-1-5-prochỉ hình ảnh4 – 12 sdự kiến
byteplus/seedance-1-0-prochỉ hình ảnh2 – 12 sdự kiến
byteplus/seedance-1-0-pro-fastchỉ hình ảnh2 – 12 sdự kiến
byteplus/seedance-1-0-lite-i2vchỉ hình ảnh2 – 12 sdự kiến
byteplus/seedance-1-0-lite-t2vchỉ hình ảnh2 – 12 sdự kiến
¹ Tham chiếu đa phương thức = mảng metadata.content[] có thể mang các mục image_url / video_url / audio_url với cờ role (reference_image / reference_video / reference_audio). “Đầy đủ” nghĩa là tổ hợp ảnh + video + âm thanh đều được chấp nhận. ² Chỉnh sửa video = truyền một mục content video_url để áp dụng các chỉnh sửa theo prompt lên video nguồn (đổi đối tượng, inpaint vùng, v.v.). ³ Âm thanh bản địa = upstream tự sinh nhạc nền khớp với video. Bật/tắt qua metadata.generate_audio: true. Endpoint submit giống nhau cho mọi mô hình — POST /v1/video/generations. Khác biệt nằm ở việc upstream tôn trọng trường metadata nào theo bảng trên. Xem ma trận khả năng Seedance của upstream để biết danh sách tính năng theo từng mô hình chính thức.

Gửi một task

Gửi POST đến /v1/video/generations với model, prompt và bất kỳ tham số riêng nào của upstream dưới metadata:
curl https://api.orcarouter.ai/v1/video/generations \
  -H "Authorization: Bearer sk-orca-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "byteplus/dreamina-seedance-2-0-260128",
    "prompt": "A girl holding a fox, the girl opens her eyes, looks gently at the camera, the fox hugs affectionately, the camera slowly pulls out, the girl'\''s hair is blown by the wind",
    "metadata": {
      "content": [
        { "type": "image_url", "image_url": { "url": "https://example.com/foxgirl.png" } }
      ],
      "ratio": "16:9",
      "duration": 5,
      "generate_audio": true,
      "watermark": false
    }
  }'
Phản hồi mang task ID (cùng envelope với Kling — OrcaRouter chuẩn hóa giữa các nhà cung cấp):
{
  "id": "task_9q9oz6tjtgABYWC1QIqoz3sscgVz7ycw",
  "task_id": "task_9q9oz6tjtgABYWC1QIqoz3sscgVz7ycw",
  "object": "video",
  "model": "byteplus/dreamina-seedance-2-0-260128",
  "status": "queued",
  "progress": 0,
  "created_at": 1777975188
}
OrcaRouter tự động bọc prompt của bạn thành mục văn bản bên trong mảng content[] của Seedance — bạn không cần tự truyền một mục {type: "text"}. Bất kỳ mục văn bản nào bạn cung cấp trong metadata.content[] đều được thay bằng prompt cấp cao nhất của bạn. Các mục content khác (image_url, video_url, audio_url) đi qua không thay đổi.

Các trường thân

Các trường này nằm bên trong metadata. Sắp xếp chúng theo các bảng biến thể bên dưới.
TrườngKiểuGhi chú
contentarrayCác mục tham chiếu đa phương thức. Mỗi mục: {type, image_url? | video_url? | audio_url?, role?}. Bỏ qua nếu chỉ text-to-video.
ratiostringTỷ lệ khung hình. 16:9 / 9:16 / 1:1 / 4:3 / 3:4 / 21:9 / adaptive. adaptive suy ra từ đầu vào.
durationintegerSố giây. Dải cho phép phụ thuộc vào mô hình — xem bảng ở trên.
resolutionstring480p / 720p / 1080p. Mặc định 720p. 1080p chỉ trên seedance-2.0 / seedance-2.0-fast / seedance-1-5-pro / seedance-1-0-pro / seedance-1-0-pro-fast.
generate_audiobooleanTự sinh nhạc nền đồng bộ. Mặc định false. Chỉ trên seedance-2.0 / 2.0-fast / 1-5-pro.
watermarkbooleanIn watermark của upstream. Mặc định do upstream định nghĩa.
seedintegerHạt ngẫu nhiên cho tính tái lập.
service_tierstringdefault (online) hoặc flex (offline / ưu tiên thấp hơn, hạn mức cao hơn). Mặc định default.
return_last_framebooleanTrả về khung cuối dưới dạng hình ảnh đi kèm MP4. Mặc định false.
callback_urlstringURL webhook — nhận thay đổi trạng thái thay cho (hoặc song song với) polling.

Hình dạng mục content[]

Mỗi mục trong metadata.content là một trong bốn hình dạng:
{ "type": "image_url", "image_url": { "url": "https://..." }, "role": "first_frame" }
{ "type": "video_url", "video_url": { "url": "https://..." }, "role": "reference_video" }
{ "type": "audio_url", "audio_url": { "url": "https://..." }, "role": "reference_audio" }
{ "type": "text",      "text": "..." }    // tự động thay bằng prompt cấp cao nhất
Các giá trị role:
roleMục đích
first_frameNeo hình ảnh này làm khung đầu của video sinh ra.
end_frameNeo hình ảnh này làm khung cuối (dùng với first_frame cho i2v đầu+cuối).
reference_imageTham chiếu phong cách / chủ thể (biến thể tham chiếu đa phương thức; có thể truyền nhiều).
reference_videoTham chiếu phong cách / chuyển động, hoặc video nguồn để chỉnh sửa / mở rộng.
reference_audioTham chiếu nhạc nền hoặc giọng (tạo video kèm âm thanh).
Tham chiếu các mục trong prompt bằng cú pháp [Image 1], [Video 1], [Audio 1]. Chỉ số khớp với thứ tự mảng (bắt đầu từ 1, phạm vi theo từng loại).

Poll kết quả

Dùng task ID được trả về khi submit:
curl https://api.orcarouter.ai/v1/video/generations/task_9q9oz6tjtgABYWC1QIqoz3sscgVz7ycw \
  -H "Authorization: Bearer sk-orca-..."
Hình dạng phản hồi được bọc (giống Kling):
{
  "code": "success",
  "message": "",
  "data": {
    "task_id": "task_9q9oz6tjtgABYWC1QIqoz3sscgVz7ycw",
    "status": "SUCCESS",
    "progress": "100%",
    "result_url": "https://ark-content-generation-ap-southeast-1.tos-ap-southeast-1.volces.com/.../video.mp4",
    "submit_time": 1777975188,
    "start_time": 1777975241,
    "finish_time": 1777975277,
    "fail_reason": ""
  }
}
Các giá trị status được chuẩn hóa thành chữ hoa giữa các nhà cung cấp:
StatusStatus upstream SeedanceÝ nghĩa
NOT_START(thoáng qua)Dòng task đã tạo, chưa được dispatch
SUBMITTEDqueuedĐã gửi đến upstream, đang chờ trong hàng đợi
IN_PROGRESSrunningUpstream đang render
SUCCESSsucceededXong. data.result_url mang file MP4
FAILUREfailedThất bại. data.fail_reason có lý do
Tiến độ là chuỗi phần trăm ("50%", "100%"), không phải số nguyên. Poll mỗi 5 - 10 giây. Một clip 720p 5 giây thường hoàn tất trong 30 - 60 giây; 1080p kèm âm thanh hoặc các clip 15 giây / có tham chiếu đa phương thức có thể mất 3 - 5 phút. result_url là URL TOS được upstream ký với TTL ngắn — hãy tải xuống hoặc rehost nhanh chóng nếu bạn cần lưu giữ lâu.

Biến thể endpoint

Mọi biến thể đều dùng chung POST /v1/video/generations. Đường tính năng Seedance nào mà upstream phục vụ được xác định bởi các mục metadata.content[] và các cờ role — không phải bởi URL.

Text-to-video

Chỉ model + prompt + metadata tùy chọn. Không có mục content nghĩa là text-to-video thuần túy:
curl https://api.orcarouter.ai/v1/video/generations \
  -H "Authorization: Bearer sk-orca-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "byteplus/dreamina-seedance-2-0-260128",
    "prompt": "Photorealistic style: under a clear blue sky, a vast expanse of white daisy fields stretches out. The camera gradually zooms in on a single daisy with glistening dewdrops on its petals.",
    "metadata": {
      "ratio": "16:9",
      "duration": 5,
      "watermark": true
    }
  }'

Image-to-video — khung đầu

Truyền một mục image với role: "first_frame":
curl https://api.orcarouter.ai/v1/video/generations \
  -H "Authorization: Bearer sk-orca-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "byteplus/dreamina-seedance-2-0-260128",
    "prompt": "the cat starts dancing energetically",
    "metadata": {
      "content": [
        { "type": "image_url", "image_url": { "url": "https://example.com/cat.png" }, "role": "first_frame" }
      ],
      "ratio": "adaptive",
      "duration": 5,
      "generate_audio": true
    }
  }'

Image-to-video — khung đầu và khung cuối

Hai mục image, mỗi mục cho first_frameend_frame:
curl https://api.orcarouter.ai/v1/video/generations \
  -H "Authorization: Bearer sk-orca-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "byteplus/dreamina-seedance-2-0-260128",
    "prompt": "Create a 360-degree orbiting camera shot from start to end frame.",
    "metadata": {
      "content": [
        { "type": "image_url", "image_url": { "url": "https://example.com/start.jpg" }, "role": "first_frame" },
        { "type": "image_url", "image_url": { "url": "https://example.com/end.jpg" },   "role": "end_frame"   }
      ],
      "ratio": "16:9",
      "duration": 6
    }
  }'

Tham chiếu đa phương thức — hình ảnh + video + âm thanh

Kết hợp các mục reference_image / reference_video / reference_audio. Tham chiếu chúng trong prompt bằng các chỉ số [Image N] / [Video N] / [Audio N] (bắt đầu từ 1, theo từng loại):
curl https://api.orcarouter.ai/v1/video/generations \
  -H "Authorization: Bearer sk-orca-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "byteplus/dreamina-seedance-2-0-260128",
    "prompt": "Use the first-person POV framing from [Video 1] throughout, and use [Audio 1] as the background music. First-person POV fruit tea promotional ad: [Image 1] hands pick a dew-covered apple; [Image 2] holds the finished drink up to the camera.",
    "metadata": {
      "content": [
        { "type": "image_url", "image_url": { "url": "https://example.com/tea_pic1.jpg" }, "role": "reference_image" },
        { "type": "image_url", "image_url": { "url": "https://example.com/tea_pic2.jpg" }, "role": "reference_image" },
        { "type": "video_url", "video_url": { "url": "https://example.com/tea_video1.mp4" }, "role": "reference_video" },
        { "type": "audio_url", "audio_url": { "url": "https://example.com/tea_audio1.mp3" }, "role": "reference_audio" }
      ],
      "ratio": "16:9",
      "duration": 11,
      "generate_audio": true,
      "watermark": false
    }
  }'
Có trên seedance-2.0seedance-2.0-fast (đầy đủ tổ hợp image + video + audio); seedance-1-5-proseedance-1-0-* chỉ chấp nhận mục reference_image.

Chỉnh sửa / mở rộng video

Truyền {type: "video_url", role: "reference_video"} và yêu cầu prompt chỉnh sửa hoặc mở rộng nó:
curl https://api.orcarouter.ai/v1/video/generations \
  -H "Authorization: Bearer sk-orca-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "byteplus/dreamina-seedance-2-0-260128",
    "prompt": "Change all the fruits in [Video 1] into fresh fruits.",
    "metadata": {
      "content": [
        { "type": "video_url", "video_url": { "url": "https://example.com/source.mp4" }, "role": "reference_video" }
      ],
      "ratio": "adaptive",
      "duration": 6
    }
  }'
Chỉ có trên seedance-2.0seedance-2.0-fast.

Webhook

Truyền metadata.callback_url: "https://your.domain/webhook" để nhận một POST khi task chuyển sang SUCCESS hoặc FAILURE. Payload phản chiếu phản hồi polling. Nếu bạn đặt cả polling và callback, bạn sẽ nhận cả hai — chúng độc lập với nhau.

Tính phí

OrcaRouter chuyển nguyên phí theo task của upstream mà không phụ phí. Chi phí cuối khớp với bảng giá đã công bố của ByteDance Ark (completion_tokens / total_tokens của upstream từ kết quả task được chuyển sang quota theo giá theo token của mô hình được đặt trong cấu hình Channel Margin của bạn). Một khoản giữ trước nhỏ được dành ra tại thời điểm submit; phần chênh được quyết toán khi thành công. Xem Vận hành / Thanh toán và sử dụng.

Xem thêm