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-260628Bắ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ường | Loại | Yêu cầu | Giá trị & giới hạn | Mặc định |
|---|---|---|---|---|
Trườngmodel | Loạistring | Yêu cầuBắt buộc | Giá trị & giới hạn doubao-seedance-2-5-260628 | Mặc định— |
Trườngcontent | Loạiarray | Yêu cầuBắt buộc | Giá 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_audio | Loạiboolean | Yêu cầuKhông bắt buộc | Giá 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ườngduration | Loạiinteger | Yêu cầuKhông bắt buộc | Giá 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ườngresolution | Loạistring | Yêu cầuKhông bắt buộc | Giá 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ườngratio | Loạistring | Yêu cầuKhông bắt buộc | Giá 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ườngwatermark | Loạiboolean | Yêu cầuKhông bắt buộc | Giá trị & giới hạn | Mặc địnhfalse |
Trườngseed | Loạiinteger | Yêu cầuKhông bắt buộc | Giá trị & giới hạn Tối thiểu: -1 Tối đa: 4.294.967.295 | Mặc định-1 |
Trườngexecution_expires_after | Loạiinteger | Yêu cầuKhông bắt buộc | Giá 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_tier | Loạistring | Yêu cầuKhông bắt buộc | Giá 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_identifier | Loạistring | Yêu cầuKhông bắt buộc | Giá trị & giới hạn | Mặ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_type | Hợp đồngapplication/json |
Tham sốrequired | Hợp đồngcontent, model |
Tham sốoptional | Hợp đồnggenerate_audio, duration, resolution, ratio, watermark, seed, execution_expires_after, service_tier, safety_identifier |
Tham sốmaterial_types | Hợp đồngtext, image, video, audio |
Tham sốadditional_properties | Hợp đồngtrue |
Tham sốvalidation_scope | Hợ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_combinations | Hợp đồngtext, image, video, image, audio, image, video, video, audio, image, video, audio |
Tham sốoptional_text_with_media | Hợp đồngtrue |
Tham sốreference_media_count_and_size_limits | Hợ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ình | Biểu mức phí | Số lượng dự báo | Đơn vị tính phí | Phí |
|---|---|---|---|---|
| Cấu hìnhGiá cơ sở cho token | Biểu mức phíMức phí cơ bản | Số 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 video | Phí Đầ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 video | Phí Đầ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ính | Biể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
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}/contentGET /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ường | Loại |
|---|---|
Trườngid | Loạistring |
Trườngprovider_task_id | Loạistring |
Trườngpolling_url | Loạistring |
Trườngstatus | Loạistring when supplied |
Trườngcontent.video_url | Loạistring|string[] |
Trườngusage | Loạiobject when supplied |
Lỗi và bước tiếp theo
| Phản hồi | Điều kiện | Bướ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
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