mô hình

ByteDance: Seedance 2.5

Markdown · JSON

ByteDance: Seedance 2.5

Seedance 2.5 tạo video từ văn bản và ảnh, video hoặc âm thanh tham chiếu, với quy trình chỉnh sửa và nối dài được tài liệu mô tả. Ví dụ 2.5 cụ thể kết hợp ảnh sản phẩm với nhiều tham chiếu chuyển động và bật âm thanh được tạo cho một chuỗi quảng cáo phối hợp.

Về mô hình

Mô tả này trình bày khả năng của mô hình. Đầu vào, đầu ra và tùy chọn có trên Ailoot được liệt kê bên dưới cho phương thức đã chọn.

Seedance 2.5 tạo video bằng một cảnh viết bằng văn bản và các tham chiếu đa phương thức. Mã chọn cụ thể doubao-seedance-2-5-260628 có thao tác và ví dụ được tài liệu mô tả riêng. Thao tác đó mô tả tạo video, chỉnh sửa video và nối dài video, với ảnh, video, âm thanh và văn bản làm phương tiện đầu vào. Dùng tham chiếu để truyền đạt diện mạo chủ thể, hành động, chuyển động máy quay, phong cách và âm thanh, rồi giải thích kết quả cần tạo từ chúng.

Các tổ hợp đầu vào gồm chỉ văn bản, ảnh hoặc video với văn bản tùy chọn, ảnh với âm thanh, video với âm thanh, và ảnh, video cùng âm thanh. Các tổ hợp liệt kê gắn âm thanh với phương tiện hình ảnh thay vì mô tả yêu cầu chỉ có âm thanh. Sắp xếp từng mục theo vai trò: ảnh xác lập chủ thể hoặc diện mạo, video minh họa chuyển động hoặc cảnh sẵn có, còn âm thanh cung cấp tham chiếu âm thanh. Nêu vai trò nào quan trọng cho cảnh quay được yêu cầu, để tham chiếu nền không bị nhầm thành nhân vật chính.

Ví dụ 2.5 cụ thể là một chuỗi quảng cáo sản phẩm. Ví dụ cung cấp một ảnh và nhiều video tham chiếu, rồi mô tả trọng tâm mở đầu, các cách bố trí sản phẩm theo thứ tự, cảnh chi tiết, hành động quay chậm và bố cục thương hiệu kết thúc. Yêu cầu gán vai trò reference_image và reference_video, đồng thời dùng từng tham chiếu riêng cho bố cục, chuyển động, cách quay và va chạm. Điều này tạo cấu trúc thực tế cho ý tưởng chiến dịch: lên kế hoạch các nhịp hình ảnh, xác định tham chiếu cho từng nhịp và nêu cách sắp xếp cuối cùng.

Chuỗi viết bằng văn bản có thể phân biệt chuyện gì xảy ra với cách quay chuyện đó. Mô tả hành động của sản phẩm trước, rồi đến cỡ cảnh, đường máy quay, nhịp độ và chuyển tiếp sang góc nhìn kế tiếp. Nếu một tham chiếu xác định sản phẩm và tham chiếu khác minh họa chuyển động máy quay, hãy nêu riêng hai nhiệm vụ đó. Với cảnh có nhiều vật, giải thích vị trí và thứ tự tương tác của chúng. Kiểm tra kết quả được tạo về hình dạng, cách bố trí và chuyển động thực tế của sản phẩm, thay vì cho rằng mọi chi tiết tham chiếu đều xuất hiện nguyên vẹn.

Với chỉnh sửa, xác định video hiện có và yếu tố cần sửa, như bối cảnh, hành động hoặc phong cách hình ảnh, đồng thời nêu tính liên tục cần giữ. Với nối dài, mô tả cảnh cần tiếp tục thế nào từ video đã cung cấp. Kiểm tra điểm ghép cũng như phần mới: diện mạo chủ thể, hướng chuyển động, vị trí máy quay và thời điểm âm thanh đều ảnh hưởng đến việc kết quả có được cảm nhận như một cảnh thống nhất hay không. Giữ video gốc và bản sửa hoàn chỉnh cùng nhau để đối chiếu thay đổi với tính liên tục mong muốn.

Ví dụ đa phương thức 2.5 được ghi đặt generate_audio=true và yêu cầu chuỗi dài mười lăm giây với khuôn hình 16:9. Các giá trị đó mô tả ví dụ, không phải trần thời lượng chung hay giới hạn tài nguyên tham chiếu. Nêu rõ ý đồ âm thanh cho cảnh được yêu cầu, bao gồm quan hệ giữa nhạc, hiệu ứng và hành động nhìn thấy, rồi đánh giá đầu ra nghe nhìn thực tế. Cần kiểm tra âm thanh tham chiếu và phần âm thanh được tạo cùng nhau để đạt nhịp độ và cách thể hiện mong muốn.

Chọn thời lượng, khuôn hình và độ phân giải từ các thiết lập được cung cấp cho đúng cấu hình này. Giữ cấu hình đã yêu cầu cùng prompt và so sánh với trường tác vụ thực tế trả về. Dùng thời lượng, độ phân giải và tỷ lệ được trả khi chuẩn bị đoạn video hoàn chỉnh cho nơi sử dụng. Giữ mã cấu hình chính xác trong bản ghi sửa đổi, để lần so sánh sau dùng cùng phiên bản đã chọn.

Mức sử dụng token video được tính bằng: (thời lượng video đầu vào + thời lượng video đầu ra) × chiều rộng đầu ra × chiều cao đầu ra × tốc độ khung hình đầu ra / 1024. Yêu cầu có video đầu vào và yêu cầu không có video đầu vào thuộc các nhóm tính phí riêng. Truy vấn tác vụ báo usage.completion_tokens và usage.total_tokens; lưu các lượng được báo này cùng đoạn video hoàn chỉnh.

Quá trình tạo diễn ra bất đồng bộ. Việc gửi trả mã, và luồng tác vụ đã cấu hình cung cấp trạng thái rồi đến content.video_url sau khi thành công. Lưu đoạn video hoàn chỉnh cùng phương tiện nguồn và yêu cầu chuỗi cảnh. Kiểm tra mọi nhịp đã lên kế hoạch, tương tác giữa các vật, diện mạo nhân vật, khuôn hình và sự khớp âm thanh trên toàn bộ kết quả. Khi sửa, xác định chi tiết cụ thể chưa đạt và giữ các phần thành công của cảnh, thay vì thay toàn bộ yêu cầu bằng chỉ dẫn không liên quan.

Ailoot Ultra · Tạo video POST /v1/videos doubao-seedance-2-5-260628

doubao-seedance-2-5-260628

ByteDance /doubao-seedance-2-5-260628

Bắt đầu

Seedance 2.5 tạo video từ văn bản và ảnh, video hoặc âm thanh tham chiếu, với quy trình chỉnh sửa và nối dài được tài liệu mô tả. Ví dụ 2.5 cụ thể kết hợp ảnh sản phẩm với nhiều tham chiếu chuyển động và bật âm thanh được tạo cho một chuỗi quảng cáo phối hợp.

Đầu vào được chấp nhận
Văn bản · Ảnh · Video · Âm thanh
Kết quả
Video

Có trên Ailoot · đầu vào & phương thức

Ailoot Ultra · Tạo video POST /v1/videos
Đầu vào
text, image, video, audio
Đầu ra
video
TrườngLoạiYêu cầuGiá trị & giới hạnMặc định
TrườngmodelLoạistringYêu cầuBắt buộcGiá trị & giới hạn
doubao-seedance-2-5-260628
Mặc định—
TrườngcontentLoạiarrayYêu cầuBắt buộcGiá trị & giới hạn
Điều kiện: Các đối tượng văn bản/đa phương tiện gốc; mảng ngoài phải không rỗng. Bộ dựng tổng quát này của Ailoot không xác thực kiểu của các nút lồng nhau.
Mặc định—
Trườnggenerate_audioLoạibooleanYêu cầuKhông bắt buộcGiá trị & giới hạn
Điều kiện: Ví dụ 2.5 đặt true nhưng phần mô tả bộ chọn được sao chép chỉ liệt kê 2.0/fast/1.5; không bảo đảm phạm vi thiết lập/giá trị mặc định rộng hơn.
Mặc định—
TrườngdurationLoạiintegerYêu cầuKhông bắt buộcGiá trị & giới hạn
Điều kiện: Giá trị 15 trong ví dụ 2.5 nguyên bản không phải mức tối đa hoặc mặc định.
Mặc định—
TrườngresolutionLoạistringYêu cầuKhông bắt buộcGiá trị & giới hạn
Điều kiện: Không suy ra giá trị mặc định/tập giá trị liệt kê riêng cho 2.5 từ các mô tả được sao chép.
Mặc định—
TrườngratioLoạistringYêu cầuKhông bắt buộcGiá trị & giới hạn
Điều kiện: Adaptive được quy định rõ cho 2.0/fast/1.5; ví dụ 2.5 chỉ dùng 16:9.
Mặc định—
TrườngwatermarkLoạibooleanYêu cầuKhông bắt buộcGiá trị & giới hạnMặc địnhfalse
TrườngseedLoạiintegerYêu cầuKhông bắt buộcGiá trị & giới hạn
Tối thiểu: -1
Tối đa: 4.294.967.295
Mặc định-1
Trườngexecution_expires_afterLoạiintegerYêu cầuKhông bắt buộcGiá trị & giới hạn
Tối thiểu: 3.600
Tối đa: 259.200
Đơn vị: giây
Mặc định172.800
Trườngservice_tierLoạistringYêu cầuKhông bắt buộcGiá trị & giới hạn
Điều kiện: 2.0/fast không hỗ trợ chế độ flex ngoại tuyến; phạm vi của 2.5 chưa được xác định.
Mặc định—
Trườngsafety_identifierLoạistringYêu cầuKhông bắt buộcGiá trị & giới hạnMặc định—
Tổ hợp tư liệu đầu vào

Tham số phương thức và vòng đời
Tham sốHợp đồng
Tham sốcontent_typeHợp đồngapplication/json
Tham sốrequiredHợp đồngcontent, model
Tham sốoptionalHợp đồnggenerate_audio, duration, resolution, ratio, watermark, seed, execution_expires_after, service_tier, safety_identifier
Tham sốmaterial_typesHợp đồngtext, image, video, audio
Tham sốadditional_propertiesHợp đồngtrue
Tham sốvalidation_scopeHợp đồngAiloot kiểm tra kiểu dữ liệu của các trường bắt buộc và mảng model/content không rỗng. Các trường yêu cầu khác được giữ nguyên cho mô hình đã chọn.
Tham sốmaterial_combinationsHợp đồngtext, image, video, image, audio, image, video, video, audio, image, video, audio
Tham sốoptional_text_with_mediaHợp đồngtrue
Tham sốreference_media_count_and_size_limitsHợp đồngnull

Bí danh phương thức: /v1/videos/generations

Vòng đời: submit_once_poll_original

GET /v1/videos/{request_id}

GET /v1/videos/generations/{request_id}

GET /v1/videos/{request_id}/content

GET /v1/videos/generations/{request_id}/content

Tạo một lần và giữ lại id/polling_url công khai được trả về.

Thăm dò tác vụ ban đầu; tải xuống content.video_url thực tế thuộc quyền sở hữu sau trạng thái succeeded.

Bảng giá

Cách tính phí cuối cùng

Các đơn giá hiển thị dùng để ước tính chi phí trước khi tạo. Khoản phí cuối cùng được tính dựa trên chi phí ghi nhận cho lượt tạo gốc. Thời lượng đầu ra đo được và số lượng dự kiến không phải là số lượng cuối cùng dùng để tính phí.

Thông tin biểu giá không bổ sung tùy chọn yêu cầu. Các tham số được hỗ trợ nằm trong phương thức đã chọn.

Chế độ nhanh
Chưa chỉ định Khi chọn chế độ nhanh
Chế độ Flex
Chưa chỉ định Khi chọn chế độ flex
Mức độ suy luận tối đa
Chưa chỉ định Khi áp dụng mức điều chỉnh mặc định (default) cho mức độ suy luận tối đa

Mức phí ước tính để so sánh

Giá theo cấu hình

Đối chiếu từng khoản phí với điều kiện hiển thị. Dùng một mức phí cho mỗi nhóm cấu hình thay thế.

Cấu hìnhBiểu mức phíSố lượng dự báoĐơn vị tính phíPhí
Cấu hìnhGiá cơ sở cho tokenBiểu mức phíMức phí cơ bảnSố lượng dự báo—Đơn vị tính phí—Phí
Đầu vào · Token đầu vào · Ước tính chỉ để so sánh — / 1K token
Đầu ra · Token đầu ra · Ước tính chỉ để so sánh — / 1K token
Đầu vào · Đọc bộ nhớ đệm · Ước tính chỉ để so sánh — / 1K token
Đầu vào · Ghi bộ nhớ đệm · Ước tính chỉ để so sánh — / 1K token
Đầu vào · Ghi bộ nhớ đệm, 1 giờ · Ước tính chỉ để so sánh — / 1K token
Cấu hìnhĐầu vào có video.Biểu mức phí—Số lượng dự báo—Đơn vị tính phímỗi 1K token videoPhí
Đầu ra · Ước tính chỉ để so sánh $0.012 mỗi 1K token video
Cấu hìnhĐầu vào không có video.Biểu mức phí—Số lượng dự báo—Đơn vị tính phímỗi 1K token videoPhí
Đầu ra · Ước tính chỉ để so sánh $0.02 mỗi 1K token video
Cấu hìnhChi phí tạo ước tínhBiểu mức phí—Số lượng dự báoước tính cho một lần tạoĐơn vị tính phí—Phí
Đầu ra · Chi phí tạo ước tính · Ước tính chỉ để so sánh $0.822402 ước tính trước khi tạo

Ước tính này không phải là khoản phí bổ sung hay mức giá cố định cho lượt tạo đã hoàn tất.

Ailoot tạm giữ một khoản ước tính trước yêu cầu. Sau khi có kết quả, phí cuối cùng được quyết toán theo mức sử dụng đo được. Việc quyết toán khi truyền luồng dùng bản ghi mức sử dụng cuối cùng. Cách hoạt động của cơ chế tạm giữ và quyết toán →

Ví dụ yêu cầu

Ailoot Ultra · Tạo video

curl · tạo videocurl · đọc tác vụ gốccurl · tải xuống video thuộc quyền sở hữu của bạn
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON_REQUEST'
{"model":"doubao-seedance-2-5-260628","content":[{"type":"text","text":"女孩抱着狐狸,女孩睁开眼,温柔地看向镜头,狐狸友善地抱着,镜头缓缓拉出,女孩的头发被风吹动"}]}
JSON_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
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_POLL'
import json
from pathlib import Path
from urllib.parse import quote,urljoin,urlsplit
r=json.loads(Path("result.json").read_text())
i=r.get("id")
if not isinstance(i,str) or not i.startswith("native302_"):raise SystemExit("Keep original response/headers/id; do not resubmit creation.")
u=urljoin("https://api.ailoot.ai",r.get("polling_url") or "/v1/videos/"+quote(i,safe=""))
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or not p.path.startswith("/v1/videos/"):raise SystemExit("Use actual Ailoot lookup path.")
Path("poll-url.txt").write_text(u)
PY_POLL
curl --fail-with-body --silent --show-error "$(cat poll-url.txt)" -H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
set -eu
python3 - <<'PY_ASSETS'
import json
from pathlib import Path
from urllib.parse import urlsplit
r=json.loads(Path("status.json").read_text())
if r.get("status")!="succeeded":raise SystemExit("Poll same original job until an owned result is returned.")
u=r.get("content",{}).get("video_url")
urls=[u] if isinstance(u,str) else u
if not isinstance(urls,list) or not urls:raise SystemExit("No completed video URL.")
for u in urls:
    if not isinstance(u,str):raise SystemExit("Invalid returned URL.")
    p=urlsplit(u)
    if p.scheme!="https" or p.netloc!="api.ailoot.ai" or not p.path.startswith("/v1/media/assets/") or not p.path.endswith("/content") or not p.query:raise SystemExit("Wait for actual Ailoot-owned signed result.")
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_ASSETS
index=0
while IFS= read -r asset_url; do
  curl --fail-with-body --silent --show-error "$asset_url" -o "video-${index}.bin"
  index=$((index + 1))
done < asset-urls.txt

Nhận và lưu kết quả

Ailoot Ultra · Tạo video

JSON gốc với id/polling_url công khai. Sau khi công bố, content.video_url chứa URL đã ký thuộc quyền sở hữu của Ailoot; trước khi công bố, các URL đầu ra được chọn bị xóa trống.

  • GET /v1/videos/{request_id}
  • GET /v1/videos/generations/{request_id}
  • GET /v1/videos/{request_id}/content
  • GET /v1/videos/generations/{request_id}/content
Lưu tất cả kết quả đã hoàn tất

Lưu mọi video đã hoàn tất hoặc tệp trả về; truy xuất từng URL tài nguyên thực tế được trả về.

Giữ lại mọi URL thực tế trong content.video_url; index phải xác định một đầu ra thực tế được trả về.

Nếu cần kiểm tra phản hồi gốc

Giữ nguyên phản hồi/tiêu đề/id ban đầu và thăm dò thao tác đó; tuyệt đối không gửi lại yêu cầu tạo chưa rõ kết quả.

Trường phản hồi
TrườngLoại
TrườngidLoạistring
Trườngprovider_task_idLoạistring
Trườngpolling_urlLoạistring
TrườngstatusLoạistring when supplied
Trườngcontent.video_urlLoạistring|string[]
TrườngusageLoạiobject when supplied
Lỗi và bước tiếp theo
Phản hồiĐiều kiệnBước tiếp theo
Phản hồi400 · invalid_request_errorĐiều kiệnJSON/model/kiểu của trường bắt buộc hoặc chỉ số nội dung không hợp lệ.Bước tiếp theo
Phản hồi401 · authentication_errorĐiều kiệnKhóa API Ailoot không hợp lệ.Bước tiếp theo
Phản hồi404 · not_found_errorĐiều kiệnTác vụ/đầu ra không tồn tại hoặc không thuộc cùng người dùng/khóa API/nhóm.Bước tiếp theo
Phản hồi502 · result_pending_checkĐiều kiệnLần gửi/trạng thái ban đầu chưa đầy đủ; giữ nguyên ID ban đầu, không gửi lại.Bước tiếp theo
Phản hồi503 · result_pending_checkĐiều kiệnNội dung đa phương tiện/tuyến/quyết toán ban đầu đang được kiểm tra; tiếp tục thao tác ban đầu.Bước tiếp theo

Bí danh

Bí danh mô hình

Ailoot Ultra doubao-seedance-2-5-260628

Bí danh đường dẫn phương thức

/v1/videos/generations

ID gọi liên quan

doubao-seedance-2-5-260628

FAQ · ByteDance: Seedance 2.5
Có những đầu vào và kết quả nào?

POST /v1/videos · doubao-seedance-2-5-260628: text, image, video, audio → video

Yêu cầu sử dụng những trường nào?

POST /v1/videos · doubao-seedance-2-5-260628: model, content, generate_audio, duration, resolution, ratio, watermark, seed, execution_expires_after, service_tier, safety_identifier

Áp dụng những giới hạn nào?

POST /v1/videos · doubao-seedance-2-5-260628: seed.minimum: -1; seed.maximum: 4294967295; execution_expires_after.minimum: 3600; execution_expires_after.maximum: 259200

Xem thêm chi tiết

Kết nối Ailoot với Claude Code, OpenCode, Hermes hoặc ứng dụng của bạn.

Công ty và danh mục dự án của công ty

Công ty và danh mục dự án của công ty: hàng triệu khách hàng; doanh số hàng tỷ mỗi tháng.

Mua token với giá ưu đãi.

Ưu đãi thuê bao cho nhu cầu thường xuyên. Mã khuyến mãi giảm đến 50% khi mua token.

Thuê bao
Chọn gói ưu đãi cho các yêu cầu thường xuyên của bạn.
Mã giảm đến 50%
Nhập mã khi mua. Giá được tính lại theo chương trình đang áp dụng.
Chi phí trong lịch sử
Mô hình, token và số tiền được lưu cho mỗi yêu cầu.

Chọn gói thuê bao · Xem giá mô hình

Kết nối API vào sản phẩm bạn đang bán.

SaaS, ứng dụng và bot — theo đề nghị giao kết chính thức và thỏa thuận cấp phép Ailoot. Muốn bán lại, hãy yêu cầu giấy phép bán lại.

Ứng dụng thương mại
Tích hợp tạo văn bản, ảnh, video và âm thanh vào các tính năng trả phí của dịch vụ.
Giấy phép bán lại
Gửi mô tả dự án và cách cung cấp quyền truy cập. Yêu cầu điều khoản sử dụng và bán lại bằng văn bản.
Tài liệu trên website
Đề nghị giao kết, thỏa thuận cấp phép và chính sách xử lý dữ liệu có sẵn trước khi kết nối.

Yêu cầu giấy phép bán lại · Đề nghị giao kết và thỏa thuận cấp phép