ByteDance: Seedance 1.5 Pro
Seedance 1.5 Pro tạo video từ văn bản hoặc ảnh, đồng thời có thể tạo giọng nói, hiệu ứng và nhạc nền đồng bộ. Có thể bật hoặc tắt âm thanh; cấu hình được ghi có cảnh dài 4–12 giây, khuôn hình thích ứng và xử lý online hoặc flex.
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 1.5 Pro tạo video từ văn bản hoặc ảnh và có thể tạo âm thanh cùng hình ảnh. Mã chọn cụ thể là doubao-seedance-1-5-pro-251215. Tùy chỉnh âm thanh phân biệt nó với các cấu hình Seedance 1.0 không tiếng: generate_audio=true yêu cầu âm thanh đồng bộ, còn false yêu cầu video không tiếng. Dùng cảnh viết bằng văn bản cho ý tưởng mới hoặc ảnh để xác lập chủ thể và bố cục mở đầu.
Mô tả hành động hình ảnh và âm thanh như các phần của cùng một cảnh. Xác định chủ thể, bối cảnh, chuyển động và máy quay, rồi giải thích giọng nói, hiệu ứng âm thanh hoặc nhạc nền mong muốn. Cảnh chân dung có thể cho thấy một người mở mắt khi máy quay lùi chậm, với gió trong môi trường. Với cảnh sản phẩm, gắn âm thanh với sự kiện nhìn thấy, như nắp mở hoặc vật chạm bề mặt, thay vì thêm danh sách hiệu ứng không liên quan.
Mô hình có thể tạo giọng nói, hiệu ứng và nhạc nền từ prompt và nội dung hình ảnh. Hướng dẫn khuyên đặt lời thoại trong dấu ngoặc kép. Giữ lời nói đủ ngắn cho hành động và khoảng dừng đã yêu cầu, đồng thời phân biệt người nói khi có nhiều nhân vật. Kiểm tra lời nói thực tế, giọng được gán cho ai và sự đồng bộ với hình. Chỉ dẫn âm thanh dẫn hướng phần thể hiện được tạo; nó không phải đầu vào tham chiếu giọng nói tải lên riêng trong yêu cầu được tài liệu mô tả cho cấu hình này.
Tạo video từ ảnh dùng mục image_url bên cạnh văn bản. Cung cấp URL ảnh truy cập được hoặc Base64 data URL ở định dạng JPEG, PNG, WEBP, BMP, TIFF hay GIF. Giới hạn ảnh được ghi là nhỏ hơn 30 MB, mỗi chiều lớn hơn 300 và nhỏ hơn 6000 pixel, tỷ lệ rộng/cao lớn hơn 0.4 và nhỏ hơn 2.5; các cận không được lấy bằng. Chuẩn bị rõ phần cắt khung và chủ thể mong muốn, rồi mô tả chuyển động từ bố cục đó. Ví dụ ảnh dùng tỷ lệ adaptive để theo tham chiếu.
Hướng dẫn thời lượng riêng cho cấu hình liệt kê số giây nguyên từ bốn đến mười hai, hoặc -1 để mô hình chọn thời lượng trong khoảng đó. Thời lượng mặc định là năm giây. Seedance 1.5 Pro mặc định 720p; bảng cấu hình được lưu ghi 480p và 720p, còn hướng dẫn thao tác riêng không cung cấp 1080p cho 1.5 Pro. Các tỷ lệ cố định gồm 16:9, 4:3, 1:1, 3:4, 9:16 và 21:9, với adaptive là mặc định 1.5 được ghi. Kiểm tra thời lượng và tỷ lệ thực tế của đoạn video, thay vì xem giá trị yêu cầu như thành phẩm đã trả về.
Yêu cầu có hai cấp xử lý. service_tier=default chọn xử lý online, còn flex chọn xử lý offline cho công việc chịu được thời gian chờ lâu hơn. Không thể đổi cấp sau khi gửi tác vụ. Chọn cấp theo yêu cầu thời gian của quy trình và giữ lựa chọn đó trong bản ghi yêu cầu. Chế độ âm thanh và cấp xử lý là các lựa chọn riêng: video không tiếng không tự động là công việc offline, và bật âm thanh không chọn cấp xử lý.
Giữ seed, hình mờ và chỉ dẫn máy quay nhất quán với cảnh. Lệnh tham số nằm trong văn bản được ưu tiên hơn các tham số tùy chọn riêng. Tùy chỉnh cố định máy quay bị loại trừ trong trường hợp dùng ảnh tham chiếu và không bảo đảm khóa góc nhìn tuyệt đối khi được áp dụng. Với chuyển động dựa trên ảnh, giải thích trực tiếp chuyển động mong muốn, thay vì cho rằng tùy chỉnh máy quay khiến việc mô tả cảnh quay trở nên không cần thiết.
Mức sử dụng được đo bằng token video: chiều rộng đầu ra × chiều cao đầu ra × tốc độ khung hình × thời lượng đầu ra / 1024. Tác vụ hoàn tất báo lượng này trong usage.completion_tokens. Lưu mức sử dụng được báo cùng đoạn video hoàn chỉnh và các thiết lập đã yêu cầu. Âm thanh bật hoặc tắt và xử lý online hoặc flex vẫn là các nhóm riêng trong khoản tính phí theo mức sử dụng.
Việc gửi trả mã tác vụ bất đồng bộ. Theo dõi đến khi hoàn tất, rồi lưu video được cung cấp trong content.video_url. Thời gian lưu tệp được tạo theo tài liệu là bảy ngày. Tùy chỉnh hết hạn tính từ lúc tạo, mặc định 172800 giây và chấp nhận giá trị từ 3600 đến 259200 giây; tác vụ chưa hoàn tất trở thành expired sau khoảng đã cấu hình. Giữ đoạn video cuối, ảnh gốc và yêu cầu hình ảnh–âm thanh chính xác cùng nhau, rồi kiểm tra toàn bộ kết quả về hành động, đặc điểm nhận diện, tính liên tục của máy quay và sự khớp âm thanh.
Ailoot Ultra · Tạo video POST /v1/videos doubao-seedance-1-5-pro-251215
doubao-seedance-1-5-pro-251215
doubao-seedance-1-5-pro-251215Bắt đầu
Seedance 1.5 Pro tạo video từ văn bản hoặc ảnh, đồng thời có thể tạo giọng nói, hiệu ứng và nhạc nền đồng bộ. Có thể bật hoặc tắt âm thanh; cấu hình được ghi có cảnh dài 4–12 giây, khuôn hình thích ứng và xử lý online hoặc flex.
- Đầu vào được chấp nhận
- Văn bản · Ảnh
- 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- Đầ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-1-5-pro-251215 | 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ườngduration | Loạiinteger | Yêu cầuKhông bắt buộc | Giá trị & giới hạn Điều kiện: Lược đồ chính 1.x quy định 2–12; mô tả dùng chung sau đó nêu 1.5 là 4–12 hoặc -1. Ví dụ dùng 5, được cả hai tài liệu quy định. | Mặc định5 |
Trườngresolution | Loạistring | Yêu cầuKhông bắt buộc | Giá trị & giới hạn 480p, 720p Điều kiện: Seedance 1.5 Pro hỗ trợ 480p và 720p; không hỗ trợ 1080p. Độ phân giải mặc định theo tài liệu là 720p. | Mặc định720p |
Trườngratio | Loạistring | Yêu cầuKhông bắt buộc | Giá trị & giới hạn 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive Điều kiện: Tỷ lệ mặc định của Seedance 1.5 Pro theo tài liệu là adaptive. Các lựa chọn tỷ lệ cố định giữ nguyên. | Mặc địnhadaptive |
Trườngservice_tier | Loạistring | Yêu cầuKhông bắt buộc | Giá trị & giới hạn default, flex Điều kiện: default=trực tuyến, flex=ngoại tuyến; chọn trước khi tạo. | Mặc địnhdefault |
Trườngseed | Loạiinteger | Yêu cầuBắ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ườngcamerafixed | Loạiboolean | Yêu cầuBắt buộc | Giá trị & giới hạn Điều kiện: Ailoot yêu cầu trường này; tài liệu ghi nhận điều khiển máy quay bằng ảnh tham chiếu chưa được hỗ trợ và không bảo đảm hiệu ứng. | Mặc địnhfalse |
Trườngwatermark | Loạiboolean | Yêu cầuBắt buộc | Giá trị & giới hạn | Mặc địnhfalse |
Trườngexecution_expires_after | Loạiinteger | Yêu cầuBắ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ườnggenerate_audio | Loạiboolean | Yêu cầuKhông bắt buộc | Giá trị & giới hạn Điều kiện: Âm thanh đồng bộ được nhúng trong video tạo ra, chỉ dành cho 1.5. | Mặc địnhtrue |
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 đồngcamerafixed, content, execution_expires_after, model, seed, watermark |
Tham sốoptional | Hợp đồngduration, resolution, ratio, service_tier, generate_audio |
Tham sốmaterial_types | Hợp đồngtext, image |
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ốimage_constraints | Hợp đồng{"formats":["jpeg","png","webp","bmp","tiff","gif"],"aspect_ratio_exclusive":[0.4,2.5],"dimensions_px_exclusive":[300,6000],"file_size_mb_exclusive":30,"mb_bytes_definition":null} |
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 | Tạo âm thanh | Bậc dịch vụ | Đơ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— | Tạo âm thanh— | Bậc dịch vụ— | Đơ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ìnhCấp dịch vụ ngoại tuyến (flex). Đầu ra có âm thanh đồng bộ. | Biểu mức phí— | Số lượng dự báo— | Tạo âm thanhCó âm thanh | Bậc dịch vụflex | Đơn vị tính phímỗi 1K token video | Phí Đầu ra · Ước tính chỉ để so sánh $0.0024 mỗi 1K token video |
| Cấu hìnhCấp dịch vụ ngoại tuyến (flex). Đầu ra không có âm thanh đồng bộ. | Biểu mức phí— | Số lượng dự báo— | Tạo âm thanhKhông có âm thanh | Bậc dịch vụflex | Đơn vị tính phímỗi 1K token video | Phí Đầu ra · Ước tính chỉ để so sánh $0.0012 mỗi 1K token video |
| Cấu hìnhCấp dịch vụ trực tuyến (default). Đầu ra có âm thanh đồng bộ. | Biểu mức phí— | Số lượng dự báo— | Tạo âm thanhCó âm thanh | Bậc dịch vụdefault | Đơn vị tính phímỗi 1K token video | Phí Đầu ra · Ước tính chỉ để so sánh $0.0048 mỗi 1K token video |
| Cấu hìnhCấp dịch vụ trực tuyến (default). Đầu ra không có âm thanh đồng bộ. | Biểu mức phí— | Số lượng dự báo— | Tạo âm thanhKhông có âm thanh | Bậc dịch vụdefault | Đơn vị tính phímỗi 1K token video | Phí Đầu ra · Ước tính chỉ để so sánh $0.0024 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 | Tạo âm thanh— | Bậc dịch vụ— | Đơn vị tính phí— | Phí Đầu ra · Chi phí tạo ước tính · Ước tính chỉ để so sánh $0.1152 ướ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-1-5-pro-251215","content":[{"type":"text","text":"女孩抱着狐狸,女孩睁开眼,温柔地看向镜头,狐狸友善地抱着,镜头缓缓拉出,女孩的头发被风吹动"}],"resolution":"480p","ratio":"1:1","duration":5,"service_tier":"default","seed":-1,"camerafixed":false,"watermark":false,"execution_expires_after":172800,"generate_audio":false}
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-1-5-pro-251215
Bí danh đường dẫn phương thức
/v1/videos/generations
ID gọi liên quan
FAQ · ByteDance: Seedance 1.5 Pro
- Có những đầu vào và kết quả nào?
POST /v1/videos·doubao-seedance-1-5-pro-251215:text,image→video- Yêu cầu sử dụng những trường nào?
POST /v1/videos·doubao-seedance-1-5-pro-251215:model,content,duration,resolution,ratio,service_tier,seed,camerafixed,watermark,execution_expires_after,generate_audio- Áp dụng những giới hạn nào?
POST /v1/videos·doubao-seedance-1-5-pro-251215:seed.minimum:-1;seed.maximum:4294967295;execution_expires_after.minimum:3600;execution_expires_after.maximum:259200