ByteDance: Seedance 1.0 Lite Text-to-Video
Seedance 1.0 Lite Text-to-Video เปลี่ยนคำบรรยายฉากเป็นวิดีโอไม่มีเสียง ตัวเลือก Lite นี้ใช้ข้อความแทนภาพอ้างอิง โดยมีความยาว 2–12 วินาที อัตราเฟรม 24 fps และการจัดเฟรมแนวนอน แนวตั้ง สี่เหลี่ยมจัตุรัส หรือแบบภาพยนตร์
เกี่ยวกับโมเดล
คำอธิบายนี้ครอบคลุมความสามารถของโมเดล อินพุต เอาต์พุต และตัวเลือกที่ใช้ได้ใน Ailoot แสดงด้านล่างตามเมธอดที่เลือก
Seedance 1.0 Lite Text-to-Video สร้างวิดีโอจากคำบรรยายฉาก ตัวเลือก doubao-seedance-1-0-lite-t2v-250428 โดยตรงเป็นสมาชิกแบบข้อความเป็นวิดีโอของรุ่น Lite ใช้เมื่อสามารถอธิบายตัวแบบ สถานที่ และการเคลื่อนไหวได้โดยตรง เช่น ผลิตภัณฑ์บนโต๊ะ ภาพเปิดเพื่อแนะนำสถานที่ หรือการกระทำสั้น ๆ ของตัวละคร ผลลัพธ์คือคลิปวิดีโอ โดยโปรไฟล์ 1.0 ไม่สร้างเสียงที่สัมพันธ์กับภาพ
เขียนฉากตามลำดับที่ผู้ชมควรเห็น ระบุตัวแบบและรูปลักษณ์ สถานที่ การกระทำ ขนาดภาพ และการเคลื่อนกล้อง จากนั้นบรรยายองค์ประกอบภาพสุดท้าย บรีฟผลิตภัณฑ์ที่ใช้งานได้อาจแสดงขวดบนแท่นหินสีอ่อน แสงอาทิตย์เคลื่อนผ่านฉลาก และกล้องค่อย ๆ เคลื่อนเข้าใกล้ฝาขวด สิ่งเหล่านี้เป็นคำสั่งให้สร้างฉากใหม่ ไม่ใช่คำกล่าวว่าโมเดลจะสร้างภาพถ่ายผลิตภัณฑ์ที่ส่งให้ขึ้นมาเหมือนเดิม จัดการกระทำที่เห็นให้เหมาะกับความยาวคลิปที่เลือก
ตัวเลือกข้อความเป็นวิดีโอนี้ต่างจากตัวเลือก Lite แบบภาพเป็นวิดีโอที่มีชื่อแยกกัน เนื้อหาถูกส่งเป็นรายการข้อความในอาร์เรย์ content ประโยคสามารถบรรยายบุคคล วัตถุ หรือสไตล์ได้ แต่ไม่ได้แนบภาพอ้างอิงหรือกำหนดอัตลักษณ์ทางภาพที่แม่นยำจากไฟล์ที่ไม่ได้ส่งให้ หากองค์ประกอบภาพเปิดต้องมาจากภาพที่มีอยู่ ให้เลือกโปรไฟล์ที่รองรับภาพ แทนการสมมติว่าการเพิ่มฟิลด์สื่อจะเปลี่ยนตัวเลือก Lite t2v ไปเป็นอีกโหมด
ช่วงความยาวของ 1.0 ที่ระบุในเอกสารคือสองถึงสิบสองวินาที โดยมีค่าเริ่มต้นห้าวินาทีและอัตราเฟรมคงที่ 24 fps Lite มีระดับความละเอียด 480p, 720p และ 1080p โดยค่าเริ่มต้นตามเอกสารคือ 720p อัตราส่วนภาพแบบคงที่ ได้แก่ 16:9, 4:3, 1:1, 3:4, 9:16 และ 21:9 เลือกเฟรมตามปลายทางก่อนสร้าง: แนวตั้งสำหรับการนำเสนอแนวตั้ง สี่เหลี่ยมจัตุรัสสำหรับช่องแสดงผลิตภัณฑ์ขนาดกะทัดรัด หรือแนวนอนสำหรับฉากกว้าง ระดับความละเอียดและอัตราส่วนภาพอธิบายผลลัพธ์ที่ร้องขอ ให้ตรวจขนาดพิกเซลและการจัดเฟรมจริงของคลิปที่ดาวน์โหลด
คำขอมีตัวควบคุมซีด ลายน้ำ และกล้อง ค่าซีดเป็นจำนวนเต็มตั้งแต่ -1 ถึง 2^32-1 โดย -1 หมายถึงใช้ค่าสุ่ม คำขอให้กล้องอยู่นิ่งจะเพิ่มคำสั่งตรึงกล้อง และเอกสารระบุชัดว่าไม่รับประกันผล ให้ทิศทางกล้องในคำบรรยายฉากสอดคล้องกับตัวควบคุมแยกต่างหาก คำสั่งพารามิเตอร์ที่ฝังในข้อความมีลำดับความสำคัญสูงกว่าพารามิเตอร์เสริมที่แยกไว้ จึงควรหลีกเลี่ยงการกำหนดความยาว ความละเอียด หรือการจัดเฟรมที่ขัดกันในสองตำแหน่ง
ปริมาณการใช้งานวัดเป็นโทเคนวิดีโอ: ความกว้างผลลัพธ์ × ความสูงผลลัพธ์ × อัตราเฟรม × ความยาวผลลัพธ์ / 1024 งานที่เสร็จแล้วรายงานปริมาณนี้ใน usage.completion_tokens เก็บปริมาณที่รายงานไว้พร้อมคลิปสำเร็จและการตั้งค่าที่ร้องขอ
การสร้างทำงานแบบอะซิงโครนัส เมื่อส่งคำขอจะได้รหัสงาน และการสอบถามงานจะให้สถานะการประมวลผล รวมถึง URL วิดีโอใน content.video_url เมื่อสำเร็จ เก็บรหัสงานระหว่างอยู่ในสถานะ queued หรือ running และบันทึกคลิปที่เสร็จแล้วไว้สำหรับการแก้ไขครั้งถัดไป ระยะเวลาเก็บไฟล์ที่สร้างตามเอกสารคือเจ็ดวัน คำขอยังมีช่วงเวลาหมดอายุซึ่งเริ่มนับจากการสร้างงาน เมื่อเกินช่วงนี้ งานที่ยังไม่เสร็จจะมีสถานะ expired ค่าเริ่มต้นตามเอกสารคือ 172800 วินาที และกำหนดได้ตั้งแต่ 3600 ถึง 259200 วินาที
ตรวจคลิปทั้งชิ้นเทียบกับบรีฟ: มีตัวแบบที่ต้องการหรือไม่ การกระทำเกิดตามลำดับที่ถูกต้องหรือไม่ กล้องเคลื่อนไปในทิศทางที่ขอหรือไม่ และเฟรมสุดท้ายใช้ได้หรือไม่ แก้คำสั่งที่เจาะจงสำหรับเวอร์ชันถัดไปโดยเก็บโครงสร้างฉากที่ทำได้ดีไว้ สำหรับชุดช็อต ให้เก็บทุกพรอมป์ต์ การตั้งค่าที่ร้องขอ และวิดีโอสำเร็จ เพื่อวางแผนฉากต่อไปจากผลลัพธ์จริง
Ailoot Ultra · วิดีโอ POST /v1/videos doubao-seedance-1-0-lite-t2v-250428
doubao-seedance-1-0-lite-t2v-250428
doubao-seedance-1-0-lite-t2v-250428เริ่มต้น
Seedance 1.0 Lite Text-to-Video เปลี่ยนคำบรรยายฉากเป็นวิดีโอไม่มีเสียง ตัวเลือก Lite นี้ใช้ข้อความแทนภาพอ้างอิง โดยมีความยาว 2–12 วินาที อัตราเฟรม 24 fps และการจัดเฟรมแนวนอน แนวตั้ง สี่เหลี่ยมจัตุรัส หรือแบบภาพยนตร์
- อินพุตที่รองรับ
- ข้อความ
- ผลลัพธ์
- วิดีโอ
ใช้งานได้ใน Ailoot · อินพุตและเมธอด
Ailoot Ultra · วิดีโอ POST /v1/videos
- ขาเข้า
text- ขาออก
video
| ฟิลด์ | ประเภท | ข้อกำหนด | ค่าและข้อจำกัด | ค่าเริ่มต้น |
|---|---|---|---|---|
ฟิลด์model | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด doubao-seedance-1-0-lite-t2v-250428 | ค่าเริ่มต้น— |
ฟิลด์content | ประเภทarray | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด เงื่อนไข: ออบเจ็กต์ข้อความ/สื่อในรูปแบบดั้งเดิม อาร์เรย์ชั้นนอกต้องไม่ว่าง ตัวสร้างทั่วไปของ Ailoot นี้ไม่ตรวจสอบชนิดของโหนดที่ซ้อนอยู่ | ค่าเริ่มต้น— |
ฟิลด์duration | ประเภทinteger | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด ขั้นต่ำ: 2 สูงสุด: 12 เงื่อนไข: สคีมาหลักของ 1.x ระบุ 2–12 คำอธิบายที่ใช้ร่วมกันในภายหลังระบุ 1.5 เป็น 4–12 หรือ -1 ตัวอย่างใช้ 5 ซึ่งมีระบุสอดคล้องกันในเอกสารทั้งสองส่วน | ค่าเริ่มต้น5 |
ฟิลด์resolution | ประเภทstring | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด 480p, 720p, 1080p เงื่อนไข: enum ที่ใช้ร่วมกัน ไม่รองรับ 1080p เมื่อใช้ภาพอ้างอิงและ 1.5 คำอธิบาย pro แบบอินไลน์ระบุ 480p/1080p ขณะที่ enum ระดับบนสุดมี 720p จึงยังไม่ยืนยันการรองรับ pro 720p | ค่าเริ่มต้น720p |
ฟิลด์ratio | ประเภทstring | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive เงื่อนไข: ค่าเริ่มต้นขึ้นกับฉาก/โมเดล เอกสารข้อมูลขาเข้าภาพแนะนำ adaptive | ค่าเริ่มต้น— |
ฟิลด์service_tier | ประเภทstring | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด default, flex เงื่อนไข: default=online, flex=offline เลือกก่อนสร้าง | ค่าเริ่มต้นdefault |
ฟิลด์seed | ประเภทinteger | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด ขั้นต่ำ: -1 สูงสุด: 4,294,967,295 | ค่าเริ่มต้น-1 |
ฟิลด์camerafixed | ประเภทboolean | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด เงื่อนไข: Ailoot กำหนดให้ต้องระบุ เอกสารระบุว่าไม่รองรับการควบคุมกล้องด้วยภาพอ้างอิง และไม่รับประกันผล | ค่าเริ่มต้นfalse |
ฟิลด์watermark | ประเภทboolean | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด | ค่าเริ่มต้นfalse |
ฟิลด์execution_expires_after | ประเภทinteger | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด ขั้นต่ำ: 3,600 สูงสุด: 259,200 หน่วย: วินาที | ค่าเริ่มต้น172,800 |
ชุดผสมของสื่ออินพุต
พารามิเตอร์และวงจรการทำงานของเมธอด
| พารามิเตอร์ | ข้อกำหนด |
|---|---|
พารามิเตอร์content_type | ข้อกำหนดapplication/json |
พารามิเตอร์required | ข้อกำหนดcamerafixed, content, execution_expires_after, model, seed, watermark |
พารามิเตอร์optional | ข้อกำหนดduration, resolution, ratio, service_tier |
พารามิเตอร์material_types | ข้อกำหนดtext |
พารามิเตอร์additional_properties | ข้อกำหนดtrue |
พารามิเตอร์validation_scope | ข้อกำหนดAiloot ตรวจสอบชนิดของฟิลด์ที่จำเป็นและ model/อาร์เรย์ content ที่ไม่ว่าง ฟิลด์อื่นของคำขอจะถูกคงไว้สำหรับโมเดลที่เลือก |
ชื่ออื่นของเมธอด: /v1/videos/generations
วงจรการทำงาน: 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
สร้างเพียงครั้งเดียวและเก็บ id/polling_url สาธารณะที่ส่งกลับ
ตรวจสอบงานเดิมเป็นระยะ ดาวน์โหลด content.video_url จริงที่เป็นของคุณหลังสถานะ succeeded
ราคา
วิธีคำนวณค่าบริการสุดท้าย
อัตราที่แสดงใช้ประมาณการค่าใช้จ่ายก่อนการสร้างผลลัพธ์ ยอดเรียกเก็บสุดท้ายคำนวณจากค่าใช้จ่ายที่บันทึกไว้สำหรับการสร้างผลลัพธ์ครั้งเดิม ระยะเวลาของผลลัพธ์ที่วัดได้และปริมาณที่คาดการณ์ไว้ไม่ใช่ปริมาณสุดท้ายที่ใช้คิดค่าบริการ
ข้อมูลอัตราราคาไม่ได้เพิ่มตัวเลือกคำขอ พารามิเตอร์ที่รองรับระบุไว้สำหรับเมธอดที่เลือก
- โหมดรวดเร็ว
- ไม่ได้ระบุ เมื่อเลือกโหมดรวดเร็ว
- โหมดยืดหยุ่น
- ไม่ได้ระบุ เมื่อเลือกโหมด flex
- ระดับการใช้เหตุผลสูงสุด
- ไม่ได้ระบุ เมื่อใช้การปรับตามค่าเริ่มต้น (default) สำหรับระดับการใช้เหตุผลสูงสุด
อัตราประมาณการเพื่อเปรียบเทียบ
ราคาตามการตั้งค่า
เทียบค่าบริการแต่ละรายการกับเงื่อนไขที่แสดง เลือกใช้อัตราเดียวสำหรับแต่ละชุดการตั้งค่าที่เป็นตัวเลือกทดแทนกัน
| การตั้งค่า | ตารางอัตราค่าบริการ | ปริมาณคาดการณ์ | หน่วยคิดค่าบริการ | ค่าบริการ |
|---|---|---|---|---|
| การตั้งค่าอัตราค่าบริการโทเคนพื้นฐาน | ตารางอัตราค่าบริการอัตราพื้นฐาน | ปริมาณคาดการณ์— | หน่วยคิดค่าบริการ— | ค่าบริการ ขาเข้า · โทเค็นอินพุต · ประมาณการเพื่อเปรียบเทียบเท่านั้น — / 1K โทเค็น ขาออก · โทเค็นเอาต์พุต · ประมาณการเพื่อเปรียบเทียบเท่านั้น — / 1K โทเค็น ขาเข้า · การอ่านแคช · ประมาณการเพื่อเปรียบเทียบเท่านั้น — / 1K โทเค็น ขาเข้า · การเขียนแคช · ประมาณการเพื่อเปรียบเทียบเท่านั้น — / 1K โทเค็น ขาเข้า · การเขียนแคช, 1 ชั่วโมง · ประมาณการเพื่อเปรียบเทียบเท่านั้น — / 1K โทเค็น |
| การตั้งค่าUltra | ตารางอัตราค่าบริการ— | ปริมาณคาดการณ์— | หน่วยคิดค่าบริการต่อ 1K โทเค็นวิดีโอ | ค่าบริการ ขาออก · ประมาณการเพื่อเปรียบเทียบเท่านั้น $0.003 ต่อ 1K โทเค็นวิดีโอ |
| การตั้งค่าต้นทุนการสร้างโดยประมาณ | ตารางอัตราค่าบริการ— | ปริมาณคาดการณ์ค่าประมาณสำหรับการสร้างหนึ่งครั้ง | หน่วยคิดค่าบริการ— | ค่าบริการ ขาออก · ค่าใช้จ่ายในการสร้างโดยประมาณ · ประมาณการเพื่อเปรียบเทียบเท่านั้น $0.144 ประมาณการก่อนสร้าง ค่าประมาณนี้ไม่ใช่ค่าใช้จ่ายเพิ่มเติมหรืออัตราคงที่สำหรับการสร้างผลลัพธ์ที่เสร็จสมบูรณ์แล้ว |
Ailoot กันยอดเงินประมาณการไว้ก่อนส่งคำขอ หลังได้ผลลัพธ์ จะคิดค่าบริการสุดท้ายตามการใช้งานที่วัดได้ การคิดค่าบริการแบบสตรีมใช้บันทึกการใช้งานสุดท้าย วิธีกันยอดเงินและคิดค่าบริการสุดท้าย →
ตัวอย่างคำขอ
Ailoot Ultra · วิดีโอ
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON_REQUEST'
{"model":"doubao-seedance-1-0-lite-t2v-250428","content":[{"type":"text","text":"女孩抱着狐狸,女孩睁开眼,温柔地看向镜头,狐狸友善地抱着,镜头缓缓拉出,女孩的头发被风吹动"}],"resolution":"480p","ratio":"1:1","duration":5,"service_tier":"default","seed":-1,"camerafixed":false,"watermark":false,"execution_expires_after":172800}
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
รับและบันทึกผลลัพธ์
Ailoot Ultra · วิดีโอ
JSON ดั้งเดิมพร้อม id/polling_url สาธารณะ หลังเผยแพร่ content.video_url มี URL ที่ลงลายเซ็นและเป็นของ Ailoot ก่อนเผยแพร่ URL ผลลัพธ์ที่เลือกจะถูกทำให้ว่าง
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_id}/content
เก็บผลลัพธ์ที่เสร็จสมบูรณ์ทั้งหมด
บันทึกวิดีโอที่สร้างเสร็จหรือไฟล์ที่ส่งกลับมาทุกไฟล์ และดึงไฟล์สื่อจากทุก URL ที่ส่งกลับมาจริง
เก็บ URL จริงทุกรายการใน content.video_url โดย index ต้องระบุผลลัพธ์จริงที่ส่งกลับ
เมื่อต้องตรวจสอบการตอบกลับต้นฉบับ
เก็บการตอบกลับ/ส่วนหัว/id เดิมและตรวจสอบการดำเนินการนั้นเป็นระยะ ห้ามส่งคำขอสร้างที่ยังไม่ทราบผลซ้ำ
ฟิลด์การตอบกลับ
| ฟิลด์ | ประเภท |
|---|---|
ฟิลด์id | ประเภทstring |
ฟิลด์provider_task_id | ประเภทstring |
ฟิลด์polling_url | ประเภทstring |
ฟิลด์status | ประเภทstring when supplied |
ฟิลด์content.video_url | ประเภทstring|string[] |
ฟิลด์usage | ประเภทobject when supplied |
ข้อผิดพลาดและขั้นตอนถัดไป
| การตอบกลับ | เงื่อนไข | ขั้นตอนถัดไป |
|---|---|---|
การตอบกลับ400 · invalid_request_error | เงื่อนไขJSON/โมเดล/ชนิดฟิลด์ที่จำเป็น หรือดัชนีเนื้อหาไม่ถูกต้อง | ขั้นตอนถัดไป |
การตอบกลับ401 · authentication_error | เงื่อนไขคีย์ API ของ Ailoot ไม่ถูกต้อง | ขั้นตอนถัดไป |
การตอบกลับ404 · not_found_error | เงื่อนไขไม่พบงาน/ผลลัพธ์ หรือไม่ได้เป็นของผู้ใช้/คีย์ API/กลุ่มเดียวกัน | ขั้นตอนถัดไป |
การตอบกลับ502 · result_pending_check | เงื่อนไขการส่งคำขอ/สถานะเดิมไม่สมบูรณ์ เก็บ ID เดิม ห้ามส่งซ้ำ | ขั้นตอนถัดไป |
การตอบกลับ503 · result_pending_check | เงื่อนไขกำลังตรวจสอบสื่อ/เส้นทาง/การชำระบัญชีเดิม ให้ดำเนินการเดิมต่อ | ขั้นตอนถัดไป |
ชื่ออื่น
ชื่ออื่นของโมเดล
Ailoot Ultra doubao-seedance-1-0-lite-t2v-250428
ชื่อพาธเมธอดอื่น
/v1/videos/generations
ID ที่เกี่ยวข้องสำหรับเรียกใช้โมเดล
FAQ · ByteDance: Seedance 1.0 Lite Text-to-Video
- มีอินพุตและผลลัพธ์ใดบ้าง?
POST /v1/videos·doubao-seedance-1-0-lite-t2v-250428:text→video- คำขอใช้ฟิลด์ใดบ้าง?
POST /v1/videos·doubao-seedance-1-0-lite-t2v-250428:model,content,duration,resolution,ratio,service_tier,seed,camerafixed,watermark,execution_expires_after- มีข้อจำกัดใดบ้าง?
POST /v1/videos·doubao-seedance-1-0-lite-t2v-250428:duration.minimum:2;duration.maximum:12;seed.minimum:-1;seed.maximum:4294967295;execution_expires_after.minimum:3600;execution_expires_after.maximum:259200