Claude Opus 5.5 đã có trên SeedRouter

Video

Seedance 2.5

View Markdown

Tạo, chỉnh sửa và kéo dài video với Seedance 2.5 qua API tác vụ ModelArk chính thức: tối đa 30 giây ở 1080p, với tối đa 30 ảnh, 10 video và 10 âm thanh tham chiếu.

Seedance 2.5 là mô hình tạo video mới nhất của ByteDance (Dreamina Seedance 2.5). Hãy gửi thân yêu cầu tác vụ ModelArk chính thức tới POST /v1/videos/generations, giữ lại ID tác vụ được trả về, rồi đọc video đã hoàn thành từ GET /v1/tasks/{id}. Ảnh, video và âm thanh được đặt trong content dưới dạng URL.

ID mô hình

ID mô hìnhĐộ phân giảiĐộ dài
dreamina-seedance-2-5480p, 720p, 1080p4–30 giây, hoặc tự động

Xem giá hiện tại trên trang mô hình.

Ví dụ nhanh

curl https://api.seedrouter.ai/v1/videos/generations \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "dreamina-seedance-2-5",
    "content": [{"type": "text", "text": "A red paper boat drifts across a calm pond at sunrise, slow dolly-in"}],
    "resolution": "720p",
    "ratio": "16:9",
    "duration": 5,
    "generate_audio": true
  }'

Endpoint

POST https://api.seedrouter.ai/v1/videos/generations
HeaderGiá trị
AuthorizationBearer YOUR_API_KEY
Content-Typeapplication/json

Thân yêu cầu là thân yêu cầu chính thức của ModelArk "create a video generation task" (tạo tác vụ tạo video); đây là endpoint giống nhau mà mọi mô hình video của SeedRouter đều sử dụng. Phản hồi là tác vụ mới (id, status: "processing"), không phải video đã hoàn thành. Hãy giữ khóa API trong mã phía máy chủ.

Tham số

TênKiểuBắt buộcMặc địnhGhi chú
modelstringCó—dreamina-seedance-2-5.
contentobject[]Có—Prompt và media; xem bên dưới.
draftbooleanKhôngfalsetrue tạo bản nháp ở 480p.
resolutionenumKhông480p, 720p, 1080p. Mặc định là 720p khi tạo thông thường và 480p khi tạo bản nháp. Khi tạo video hoàn chỉnh từ bản nháp, phải chỉ định rõ 1080p.480p, 720p, 1080p.
ratioenumKhôngadaptive16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive. Phải là adaptive (hoặc bỏ qua) khi có khung hình đầu, và với edit và extend.
durationintegerKhông-1Từ 4 đến 30 giây, hoặc -1 để mô hình tự chọn. Phải là -1 với edit.
generate_audiobooleanKhôngtrueTạo âm thanh kèm video.
watermarkbooleanKhôngfalseThêm watermark.
return_last_framebooleanKhôngfalseTrả về thêm khung hình cuối dưới dạng URL ảnh.
output_formatenumKhôngmp4mp4 hoặc mov.
omni_reference_task_typeenumKhôngautoauto, reference, edit, extend. edit và extend cần có video tham chiếu.
execution_expires_afterintegerKhông172800Từ 3600 đến 259200 giây. Tác vụ vẫn chưa hoàn tất sau thời gian này sẽ thất bại với task_expired và không bị tính phí.
priorityintegerKhông0Từ 0 đến 9.
safety_identifierstringKhông—Từ 1 đến 64 ký tự để định danh người dùng cuối của bạn. Có thể dùng giá trị băm.
service_tierenumKhôngdefaultChỉ default.
content_filterbooleanKhôngtruePhần mở rộng của SeedRouter. false tắt bộ lọc nội dung cho yêu cầu này.

Các mục content

MụcDạngVai tròGiới hạn
Văn bản{"type": "text", "text": "..."}—Một mục.
Ảnh{"type": "image_url", "image_url": {"url": "https://..."}, "role": "..."}first_frame, last_frame, reference_imageTối đa 30 ảnh tham chiếu.
Video{"type": "video_url", "video_url": {"url": "https://..."}, "role": "reference_video"}reference_videoTối đa 10.
Âm thanh{"type": "audio_url", "audio_url": {"url": "https://..."}, "role": "reference_audio"}reference_audioTối đa 10.

Các trường không xác định sẽ bị từ chối. Không hỗ trợ: seed, callback_url (hãy truy vấn tác vụ thay thế), tools, cùng các trường chỉ có ở 1.x là frames và camera_fixed. Không thể hủy hoặc xóa tác vụ.

Các chế độ

Chế độ được xác định từ các mục trong content; không có tham số chế độ.

Chế độcontent
Văn bản thành videomột mục văn bản
Khung hình đầuvăn bản (tùy chọn) + một ảnh có vai trò first_frame, hoặc một ảnh không có vai trò
Khung hình đầu và cuốivăn bản (tùy chọn) + một ảnh first_frame + một ảnh last_frame
Tham chiếu đa phương thứcvăn bản + tổ hợp bất kỳ các mục reference_image, reference_video và reference_audio
Chỉnh sửa videovăn bản + một reference_video, kèm omni_reference_task_type: "edit"
Kéo dài videovăn bản + một reference_video, kèm omni_reference_task_type: "extend"

Không thể kết hợp các chế độ khung hình đầu với các mục tham chiếu. Khi có nhiều ảnh hoặc có bất kỳ media nào khác, mỗi ảnh đều cần có role.

Ví dụ tham chiếu

curl https://api.seedrouter.ai/v1/videos/generations \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "dreamina-seedance-2-5",
    "content": [
      {"type": "text", "text": "The character from the image walks through the market in the video, same camera move"},
      {"type": "image_url", "image_url": {"url": "https://example.com/character.png"}, "role": "reference_image"},
      {"type": "video_url", "video_url": {"url": "https://example.com/market.mp4"}, "role": "reference_video"}
    ],
    "ratio": "adaptive",
    "duration": 8
  }'

Hãy thay các URL ví dụ bằng tệp của bạn mà hệ thống truy cập được.

Đầu vào media

API này chỉ nhận tham chiếu bằng URL. Không chấp nhận base64, URL data:, ID asset:// và tải lên dạng multipart. Playground tải các tệp đã chọn lên kho lưu trữ trước, rồi mới gửi URL của chúng.

Media phải là URL HTTP(S) công khai và đáp ứng các giới hạn chính thức của mô hình:

MediaĐịnh dạngGiới hạn
ẢnhJPEG, PNG, WebP, BMP, TIFF, GIF, HEIC, HEIFNhỏ hơn 30 MB; chiều rộng và chiều cao 300–6000 px; tỷ lệ khung hình (rộng / cao) 0,4–2,5; 1–30 ảnh tham chiếu
VideoMP4, MOV (H.264 hoặc H.265)Mỗi video 2–30 giây (4–30 giây với edit), tối đa 10 video, tổng cộng không quá 30 giây; không quá 200 MB; 24–60 FPS; chiều rộng và chiều cao 300–6000 px; tỷ lệ khung hình 0,4–2,5; 407.696–8.295.044 pixel (rộng × cao)
Âm thanhWAV, MP3Mỗi tệp 2–30 giây, tối đa 10 tệp, tổng cộng không quá 30 giây; không quá 15 MB

Mô hình không hỗ trợ ảnh và video tham chiếu có chứa khuôn mặt người thật.

Media được kiểm tra khi tác vụ bắt đầu, trước khi tạo bất cứ thứ gì. Tác vụ có media vi phạm một trong các giới hạn này sẽ kết thúc ở trạng thái failed với invalid_request_error kèm thông báo nêu rõ quy tắc bị vi phạm, ví dụ The request was rejected: content reference videos must total at most 15 seconds., và không bị tính phí. Tệp không đọc được tại thời điểm đó sẽ được chuyển cho mô hình, mô hình sẽ chấp nhận hoặc từ chối tệp; trong cả hai trường hợp, tác vụ thất bại đều không bị tính phí.

Các yếu tố chi phí

Hãy xem phần giá của mô hình để biết biểu phí hiện tại. Seedance 2.5 tính phí theo token video, đơn vị chính thức:

video tokens = (output seconds + reference video seconds) × width × height × 24 / 1024

Đơn giá cho mỗi triệu token phụ thuộc vào độ phân giải đầu ra và việc yêu cầu có kèm video tham chiếu hay không; yêu cầu có video tham chiếu áp dụng đơn giá thấp hơn cho toàn bộ token của nó. Đầu vào văn bản, ảnh và âm thanh không bị tính phí. Ở tỷ lệ 16:9, một giây tương ứng 9.607,5 token ở 480p (854×480), 21.600 ở 720p, 48.600 ở 1080p.

Yêu cầu có video tham chiếu còn áp dụng ngưỡng token tối thiểu. Khi ước tính chi phí, hãy dùng ít nhất ceil(output seconds × 2 / 3) giây tham chiếu trong công thức, ngay cả khi các video tham chiếu gốc ngắn hơn. Quy tắc này áp dụng cho cả tác vụ bản nháp và video hoàn chỉnh; bản thân video nháp không trở thành video tham chiếu. Phí thực tế dựa trên mức sử dụng do tác vụ đã hoàn thành trả về.

Khoản phí dựa trên số token mà video hoàn chỉnh báo về (output.usage.completion_tokens), vì vậy duration: -1 được tính phí theo độ dài thực tế được tạo. Clip được xuất ra dài hơn một chút so với độ dài yêu cầu: một yêu cầu 5 giây, 720p, 16:9 xuất ra 121 khung hình và báo về 108.900 token thay vì 108.000. Hãy xem chi phí cuối cùng trong lịch sử sử dụng của tài khoản. Tác vụ thất bại không bị tính phí.

Lược đồ đầu ra

Khi gửi, API trả về tác vụ mới:

{"id": "task_...", "model": "dreamina-seedance-2-5", "status": "processing", "created_at": 1790321515}

Lấy thông tin tác vụ

curl https://api.seedrouter.ai/v1/tasks/YOUR_TASK_ID \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY"

Hãy truy vấn 10–20 giây một lần cho đến khi status là completed hoặc failed. Hết thời gian mạng trong lúc truy vấn không có nghĩa là việc tạo video đã thất bại: hãy giữ ID tác vụ và tiếp tục kiểm tra. Đừng tạo tác vụ khác chỉ để xem tiến độ.

Ví dụ truy vấn đầy đủ

Hãy chạy đoạn này sau ví dụ gửi bằng Python ở trên.

import time

deadline = time.monotonic() + 1800
while time.monotonic() < deadline:
    result = requests.get(
        f"https://api.seedrouter.ai/v1/tasks/{task_id}",
        headers={"Authorization": f"Bearer {os.environ['SEEDROUTER_API_KEY']}"},
        timeout=30,
    )
    result.raise_for_status()
    task = result.json()
    if task["status"] == "completed":
        print(task["output"]["video_url"])
        break
    if task["status"] == "failed":
        raise RuntimeError(task["error"]["message"])
    time.sleep(15)
else:
    raise TimeoutError(f"Still waiting. Resume polling task {task_id}.")

Tác vụ hoàn thành

{
  "id": "task_...",
  "model": "dreamina-seedance-2-5",
  "status": "completed",
  "created_at": 1790321515,
  "finished_at": 1790321652,
  "output": {
    "video_url": "https://static.seedrouter.ai/media/tasks/task_example/0.mp4",
    "last_frame_url": "https://static.seedrouter.ai/media/tasks/task_example/last_frame/0.jpg",
    "content": {
      "video_url": "https://static.seedrouter.ai/media/tasks/task_example/0.mp4",
      "last_frame_url": "https://static.seedrouter.ai/media/tasks/task_example/last_frame/0.jpg"
    },
    "usage": {"completion_tokens": 108900, "total_tokens": 108900},
    "seed": 42,
    "resolution": "720p",
    "ratio": "16:9",
    "duration": 5,
    "framespersecond": 24,
    "generate_audio": true,
    "draft": false,
    "output_format": "mp4",
    "service_tier": "default",
    "execution_expires_after": 172800,
    "priority": 0
  }
}
TrườngÝ nghĩa
idHãy giữ ID này cho các lần truy vấn sau.
statusprocessing, completed hoặc failed.
output.video_urlVideo đã tạo.
output.last_frame_urlKhung hình cuối, khi return_last_frame là true.
output.contentCác URL tương tự ở dạng chính thức của ModelArk.
output.usage.completion_tokensToken video của video hoàn chỉnh; đây là số lượng được tính phí.
output.duration, output.resolution, output.ratio, output.framespersecond, output.seedThông số thực tế đã được xuất; seed là giá trị do mô hình chọn.
created_at, finished_atDấu thời gian Unix tính bằng giây.
error{"code", "message"} của tác vụ thất bại.

URL video được lưu trữ trên kho lưu trữ của chúng tôi. Hãy lưu tệp vào kho lưu trữ của riêng bạn nếu cần bản sao lâu dài.

Lỗi

Những yêu cầu bị từ chối trước khi tác vụ được tạo sẽ trả về lỗi HTTP kèm đối tượng error và không bị tính phí. Tác vụ thất bại sau khi đã được tiếp nhận sẽ trả về HTTP 200 khi truy vấn, kèm status: "failed" và một đối tượng error. Đầu ra bị bộ lọc nội dung giữ lại sẽ thất bại với content_policy_violation; tác vụ chạy quá execution_expires_after sẽ thất bại với task_expired.

Hãy xem danh mục lỗi dùng chung để biết mã lỗi, mã trạng thái HTTP và hướng dẫn thử lại.

{
  "id": "task_...",
  "model": "dreamina-seedance-2-5",
  "status": "failed",
  "error": {
    "code": 60001,
    "message": "The request was rejected by the content policy. Please revise the prompt or input images."
  }
}

Nếu chính lần gửi bị hết thời gian chờ, hãy kiểm tra lịch sử công việc trước khi gửi lại: yêu cầu đầu tiên có thể đã được tiếp nhận.

Mẹo

  • Hãy mô tả chủ thể, hành động, chuyển động máy quay và ánh sáng bằng câu hoàn chỉnh.
  • Hãy làm bản nháp ở 480p với duration ngắn, rồi xuất phiên bản đã chọn ở độ phân giải cao hơn.
  • Nối các cảnh quay bằng return_last_frame: dùng khung hình được trả về làm first_frame của tác vụ tiếp theo.
  • Để chỉnh sửa cảnh quay, hãy đặt omni_reference_task_type thành edit và chỉ mô tả phần cần thay đổi.

Liên quan

Bản nháp xem trước và video hoàn chỉnh

Đặt draft: true để tạo bản xem trước ở 480p. Các độ phân giải khác không hợp lệ trong chế độ bản nháp. Cách tính lượng token sử dụng và đơn giá của bản xem trước giống với chế độ tạo tiêu chuẩn ở 480p.

{
  "model": "dreamina-seedance-2-5",
  "content": [{ "type": "text", "text": "A fox walks through a sunny garden." }],
  "draft": true,
  "resolution": "480p",
  "duration": 4,
  "ratio": "16:9"
}

Truy vấn định kỳ ID tác vụ SeedRouter được trả về cho đến khi status là completed và output.draft là true. Trong vòng 7 ngày kể từ khi tạo bản nháp, gửi một yêu cầu riêng bằng ID đó:

{
  "model": "dreamina-seedance-2-5",
  "content": [{ "type": "draft_task", "draft_task": { "id": "task_YOUR_DRAFT_ID" } }],
  "resolution": "1080p"
}

Bản nháp phải thuộc tài khoản của bạn, đã hoàn thành và dùng cùng mô hình. content chỉ được chứa một mục draft_task. Đặt rõ resolution thành 1080p; bỏ qua draft hoặc đặt thành false. Không gửi lại duration, ratio, seed, generate_audio, omni_reference_task_type, văn bản hoặc nội dung đa phương tiện, kể cả khi các giá trị giống nhau. Những thiết lập này được kế thừa từ bản nháp.

Bạn có thể đặt watermark, return_last_frame, output_format, execution_expires_after, priority, safety_identifier và service_tier: "default" cho tác vụ mới. Các tùy chọn đầu ra không được gửi sẽ dùng giá trị mặc định tương ứng. content_filter được kế thừa và không thể thay đổi. Video hoàn chỉnh được tạo thành công sẽ trả về ID tác vụ mới, output.draft: false và output.draft_task_id chứa ID bản nháp SeedRouter ban đầu của bạn. Một bản nháp có thể dùng cho nhiều lần tạo video hoàn chỉnh riêng biệt trước khi hết hạn.

Bản nháp và video hoàn chỉnh được tính phí độc lập. Video hoàn chỉnh dùng mức giá 1080p theo loại đầu vào của bản nháp ban đầu: nếu bản nháp dùng video tham chiếu, video hoàn chỉnh cũng dùng mức giá có video tham chiếu, đồng thời tính thời lượng của video tham chiếu gốc vào lượng token sử dụng. Bản thân video nháp không được tính là một video đầu vào bổ sung. Mỗi tác vụ áp dụng giá có hiệu lực tại thời điểm gửi. Yêu cầu thất bại không bị tính phí.