Seedance 2.5 API: คู่มือนักพัฒนาสำหรับ Endpoint, การยืนยันตัวตน และการสร้างวิดีโอ
Seedance 2.5 เป็นโมเดลวิดีโอมัลติโมดัลที่ทำงานกินเวลานาน ซึ่งหมายความว่า API ที่ขับเคลื่อนมันทำงานแบบ async ไม่ใช่แบบ request-response ครั้งเดียว คุณส่ง task การสร้าง ทำการ poll เพื่อรอผลลัพธ์ แล้วดาวน์โหลดผลลัพธ์ เมื่อเข้าใจรูปแบบนี้แล้ว ไม่ว่าจะเป็น endpoint, auth header หรือฟิลด์ payload สำหรับ duration, resolution และ references ที่เหลือก็ไม่ซับซ้อน
คู่มือนี้อธิบาย contract ของ Seedance 2.5 API แบบเต็มรูปแบบ ครอบคลุม endpoint, การยืนยันตัวตน, request body, การ poll แบบ async และตัวอย่าง curl และ Python ที่ใช้งานได้จริง เนื้อหานี้อ้างอิงเส้นทางของ PixMind api-platform ซึ่งสอดคล้องกับ contract ของ ByteDance สำหรับโมเดลนี้ นอกจากนี้ยังเพิ่มการเปรียบเทียบแบบเคียงข้างกับรูปแบบ API ของ Seedance 2.0 และ Kling, case study ไปป์ไลน์ production แบบ end-to-end, แหล่งข้อมูลนักพัฒนาบุคคลที่สาม และคำถามที่พบบ่อยแบบขยายความครอบคลุม rate limit, concurrency, webhook และการตรวจสอบเครดิต รายละเอียด endpoint และ auth ทั้งหมดได้รับการตรวจสอบกับ backend ที่ใช้งานจริง ณ วันที่ 2026-07-31
ภาพรวมโมเดล Seedance 2.5
ประเด็นสำคัญ
- Endpoint: ใช้
POST /api-platform/v1/generationsเพื่อสร้าง task; และGET /api-platform/v1/task/{task_id}เพื่อ poll ผลลัพธ์- Auth:
Authorization: Bearer <API_KEY>(หรือใช้ headerX-API-Key); สร้าง key ที่มี scope video ใน dashboard ของ PixMind- Payload:
{ model, prompt, duration, resolution, aspect_ratio, reference_images, reference_videos, generate_audio }- ทำงานแบบ async: การเรียกสร้างจะคืนค่า
taskId; คุณ poll จนกว่าstatusจะเป็นreadyจากนั้นจึงอ่านค่าvideoUrl- โครงสร้างข้ามผู้ให้บริการ: Seedance 2.5, Seedance 2.0 และ Kling ใช้รูปแบบ submit-then-poll เดียวกัน แตกต่างเพียง path ของ endpoint, งบประมาณอ้างอิง และชื่อฟิลด์
- รูปแบบ production: เพิ่ม
Idempotency-Keyตอนสร้าง, poll ด้วยจำนวนครั้งที่จำกัดพร้อม backoff, ตรวจสอบเครดิตก่อนส่ง และมี route สำรองที่ถูกกว่าสำหรับการวนซ้ำ- API access เร็ว ๆ นี้ บน PixMind; เส้นทางถูกเอกสารไว้พร้อมใช้แล้ว ส่วนการเชื่อมต่อ backend อยู่ระหว่างขั้นสุดท้าย
ข้อกำหนดเบื้องต้น: รับ API Key
การเรียก Seedance 2.5 ใช้ API key ยืนยันตัวตนที่ผูกกับบัญชีของคุณ สร้าง key ใน dashboard ของ PixMind api-platform และเก็บให้ปลอดภัย โดยปฏิบัติต่อมันเหมือนข้อมูลลับอื่น ๆ ในโค้ดให้โหลด key จาก environment variable แทนการ commit ลงใน source control:
export PIXMIND_API_KEY="pk-xxxxxxxxxxxxxxxx"
สร้าง API key
บน PixMind สิทธิ์ของ key ถูกกำหนด scope ตามประเภทงาน (image / video) ตรวจสอบให้แน่ใจว่า key ของคุณเปิดสิทธิ์ video ไว้ก่อนเรียก Seedance 2.5
หมายเหตุนักพัฒนา: หมุนเวียน key แยกตาม environment (dev / staging / prod) และกำหนด scope ของแต่ละ key ให้แคบที่สุดเท่าที่จำเป็น key ของ staging ที่มีเฉพาะ scope video จะไม่สามารถรั่วไหลเข้าไปในไปป์ไลน์ image ได้ ซึ่งจะจำกัดผลกระทบหาก key ถูกบุกรุก ควรออก key ใหม่ตามรอบเวลาที่กำหนดและบันทึก last-used timestamp เพื่อให้ค้นหาและเพิกถอน key ที่ไม่ได้ใช้งานได้ง่าย
รับชม: การเดินผ่านเวิร์กโฟลว์ Seedance 2.5
วิธีที่เร็วที่สุดในการเข้าใจการอัปเกรดเป็น 2.5 ก่อนเขียนโค้ดคือการรับชมฟุตเทจเดโมอย่างเป็นทางการและการวิเคราะห์จากชุมชน การเดินผ่านทั้งสองชิ้นนี้ครอบคลุมการสร้างเนทีฟ 30 วินาที, เอาต์พุต 4K, การแก้ไขระดับภูมิภาค และเวิร์กโฟลว์อ้างอิง 50 รายการที่ API เปิดให้ใช้งาน:
ทางเลือกสำรอง noscript: เดโม Seedance 2.5 บน YouTube — ครอบคลุมคลิปเนทีฟ 30 วินาที, การแก้ไขระดับภูมิภาค และอ้างอิงมัลติโมดัล 50 รายการ
สำหรับการอภิปรายในเชิงบรรณาธิการที่ลึกซึ้งยิ่งขึ้นว่าการอัปเกรดเวิร์กโฟลว์หมายถึงอะไรสำหรับไปป์ไลน์ production การวิเคราะห์ "Seedance 2.5 Changes Everything" เป็นเนื้อหาที่ควรรับชมควบคู่กับรีลอย่างเป็นทางการ:
ทางเลือกสำรอง noscript: Seedance 2.5 Changes Everything บน YouTube.
Contract ของ Seedance 2.5 API
Endpoint
สร้าง task การสร้างวิดีโอ:
POST /api-platform/v1/generations
Poll เพื่อรอความเสร็จ:
GET /api-platform/v1/task/{task_id}
endpoint สร้างคือจุดเข้าสร้างแบบรวม: มันอ่านฟิลด์ model แล้วส่งต่อไปยังเส้นทางที่เกี่ยวข้อง ส่ง model: "seedance-2.5" แล้ว route จะจัดการไปป์ไลน์วิดีโอให้
การยืนยันตัวตน
ส่ง API key เป็น Bearer token (เข้ากันได้กับ OpenAI SDK):
Authorization: Bearer $PIXMIND_API_KEY
auth middleware ยังยอมรับ header X-API-Key หากคุณชอบรูปแบบนี้มากกว่า ทั้งสองรูปแบบรองรับ เลือกใช้รูปแบบใดรูปแบบหนึ่งและใช้อย่างสม่ำเสมอในโค้ดไคลเอนต์ เพื่อให้ log และการ retry ติดตามได้ง่ายขึ้น
Request Body
| ฟิลด์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
model |
string | ใช่ | ไอดีโมเดล, ใช้ seedance-2.5 สำหรับ route นี้ |
prompt |
string | ใช่ | คำสั่งช็อตแบบภาษาธรรมชาติ |
duration |
integer | ไม่ | ความยาวคลิปเป็นวินาที (สูงสุด 30 บน route นี้) |
resolution |
string | ไม่ | 480p, 720p, 1080p หรือ 4K |
aspect_ratio |
string | ไม่ | 16:9, 9:16, 1:1, 4:3, 3:4 |
reference_images |
string[] | ไม่ | URL ภาพสาธารณะสำหรับเอกลักษณ์, ผลิตภัณฑ์, สไตล์ ฯลฯ (รวมอินพุตมัลติโมดัลสูงสุด 50 รายการ) |
reference_videos |
string[] | ไม่ | URL วิดีโอสาธารณะสำหรับการชี้แนะเกี่ยวกับ motion หรือ scene |
generate_audio |
boolean | ไม่ | สร้างเสียงซิงโครไนซ์เมื่อโหมดรองรับ |
เกี่ยวกับ references: Seedance 2.5 รับอินพุตมัลติโมดัลสูงสุด 50 รายการ ในหนึ่งคำขอ ทั้งภาพ, วิดีโอ, ข้อความ และเสียงรวมกัน กำหนด role ที่ชัดเจนให้แต่ละ reference (เอกลักษณ์, รูปทรง, motion, ชุดสี, จังหวะ) และถอด asset ที่แย่งพื้นที่คุณสมบัติเดียวกันออก

API ของ Seedance 2.5 เปรียบเทียบกับ Seedance 2.0 และ Kling อย่างไร
API วิดีโอส่วนใหญ่ในปัจจุบันใช้โครงสร้าง async เดียวกัน: ส่ง POST หนึ่งครั้งเพื่อสร้าง task, ส่ง GET หนึ่งครั้งเพื่อ poll จนกว่าจะเสร็จ สิ่งที่ต่างกันคือ path ของ endpoint, รูปแบบ auth, งบประมาณอ้างอิง และชื่อฟิลด์ใน payload ตารางด้านล่างสรุปความแตกต่างเหล่านี้สำหรับ API สามตัวที่นักพัฒนาเปรียบเทียบบ่อยที่สุดเมื่อวางแผนการเชื่อมต่อ
| ประเด็น | Seedance 2.5 API (route PixMind) | Seedance 2.0 API (route PixMind) | Kling API (บุคคลที่สาม) |
|---|---|---|---|
| Endpoint สร้าง | POST /api-platform/v1/generations |
POST /api-platform/v1/generations |
path แยก /v1/videos/text2video และ /v1/videos/image2video (ยืนยันกับเอกสาร Kling API สด) |
| การส่งต่อ | model: "seedance-2.5" ใน body |
model: "seedance-2.0-pro" / -fast / -mini |
เลือก endpoint, ไม่ใช่ฟิลด์ model |
| Auth | Authorization: Bearer <key> หรือ X-API-Key |
เหมือนกัน | Bearer access token ที่ออกจาก Kling API key ผ่าน JWT flow (เฉพาะของผู้ให้บริการ) |
| Endpoint poll | GET /api-platform/v1/task/{task_id} |
เหมือนกัน | รูปแบบ GET /v1/videos/<id> |
| ระยะเวลาเดี่ยวสูงสุด | สูงสุด 30 วินาที | 5 / 10 / 15 วินาที | ประมาณ 5 ถึง 10 วินาทีทั่วไปบน first-party Kling, นานกว่านั้นในบาง route ของผู้ให้บริการ |
| อ้างอิงมัลติโมดัล | สูงสุด 50 (ภาพ / วิดีโอ / ข้อความ / เสียง) | สูงสุด 9 | โหมด image-to-video และ first/last-frame ตาม endpoint |
| เสียง | สร้างร่วมแบบรวมเมื่อรองรับ | รองรับ | รองรับในบางโหมด |
| วันที่ตรวจสอบ | 2026-07-31 (route PixMind) | 2026-07-31 (route PixMind) | ประมาณการ; ยืนยันกับเอกสาร Kling สดก่อนเชื่อมต่อ |
ข้อสังเกตจากประสบการณ์จริง: โครงสร้าง async ที่ใช้ร่วมกันหมายความว่าโค้ดไคลเอนต์สามารถนำไปใช้ใหม่ข้ามผู้ให้บริการได้ ห่อ create-and-poll loop ไว้ในฟังก์ชัน
generate_video(model, payload)อันเดียวแล้วสลับ model ID คุณก็ A/B Seedance 2.5, Seedance 2.0 Fast และ Kling จากเครื่องมือเดียวกันได้ นี่คือวิธีที่ประหยัดที่สุดในการเลือก route ที่เหมาะสมต่อช็อตโดยไม่ต้องเขียนโค้ดเชื่อมต่อใหม่
สรุปปฏิบัติ: หากทีมของคุณสร้าง polling client สำหรับ Seedance 2.0 ไว้แล้ว การนำ 2.5 มาใช้เป็นเพียงการเปลี่ยน model string บวกกับฟิลด์ reference และ duration ใหม่ คุณไม่จำเป็นต้องออกแบบการเชื่อมต่อใหม่
เปรียบเทียบ Seedance 2.5 กับ Kling
ขั้นตอนที่ 1: สร้าง Generation Task
นี่คือคำขอสร้างแบบน้อยที่สุด, คลิป 16:9, 720p, 5 วินาที พร้อม text prompt header Idempotency-Key เป็นทางเลือกแต่แนะนำสำหรับการส่งใน production ทุกครั้ง:
curl -X POST https://aihub-admin.aimix.pro/api-platform/v1/generations \
-H "Authorization: Bearer $PIXMIND_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "seedance-2.5",
"prompt": "A courier in a yellow jacket cycling through a neon-lit rainy Tokyo street at night, tracking shot, cinematic, no text",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9"
}'
response ที่สำเร็จจะคืนค่า task ID คุณจะไม่ได้รับวิดีโอกลับมาที่นี่, แต่จะได้ handle เพื่อไป poll:
{
"code": 1000,
"data": {
"taskId": "47264",
"type": "video",
"status": "processing"
}
}
หากคุณเห็น code: 400 กับข้อความ "模型不存在或未配置" (โมเดลไม่มีอยู่หรือยังไม่ได้กำหนดค่า), แสดงว่า route backend สำหรับ seedance-2.5 ยังไม่ถูกเปิดใช้งานบน endpoint นั้น นี่คือสถานะ Coming Soon บน PixMind ขณะกำลังเชื่อมต่อขั้นสุดท้าย
ขั้นตอนที่ 2: Poll Task จนกว่าจะ Ready
การสร้างวิดีโอเป็นแบบ async ให้ poll task endpoint ด้วย taskId จากขั้นตอนที่ 1:
curl -X GET https://aihub-admin.aimix.pro/open-api/v1/task/47264 \
-H "Authorization: Bearer $PIXMIND_API_KEY"
ฟิลด์ status จะเปลี่ยนจาก pending, ไป processing, แล้วไป ready ตามลำดับ poll ทุก 3 ถึง 5 วินาที เมื่อ task พร้อม response จะรวม URL วิดีโอสุดท้าย:
{
"code": 1000,
"data": {
"taskId": "47264",
"status": "ready",
"progress": 100,
"videoUrl": "https://.../seedance-2-5-47264.mp4",
"coverUrl": "https://.../seedance-2-5-47264-cover.webp"
}
}
สถานะล้มเหลวปลายทาง ได้แก่ failed, error, canceled และ cancelled ให้จัดการสถานะเหล่านี้และส่งฟิลด์ description ไปยัง log ของคุณ
หมายเหตุนักพัฒนา: ช่วงเวลา poll 3 ถึง 5 วินาทีก็ใช้ได้สำหรับ task เดี่ยว แต่จะคูณทวีคูณเร็วมากเมื่อขยายขนาด สำหรับคิว task 20 รายการ ควรใช้ dispatcher loop เดียวที่ poll task ที่เปิดอยู่ทุกรายการครั้งเดียวต่อรอบ พร้อม backoff แบบเอ็กซ์โพเนนเชียล (5s, 5s, 10s, 15s, จำกัดที่ 30s) เมื่อ task ค้างนานขึ้น วิธีนี้จะรักษาปริมาณคำขอให้สุภาพโดยไม่ยืด p99 latency ของทั้งแบตช์
ขั้นตอนที่ 3: ดาวน์โหลดและใช้ผลลัพธ์
เมื่อ status เป็น ready ให้ดาวน์โหลด videoUrl (และ coverUrl สำหรับเฟรมโปสเตอร์ตามตัวเลือก) ไฟล์เป็น MP4 มาตรฐาน สามารถ transcode, host หรือฝังตามที่แอปพลิเคชันต้องการ
สำหรับหน้า landing บนเว็บ โดยทั่วไปคุณจะบีบอัดเป็นคลิป H.264 ความยาว 8 ถึง 10 วินาที พร้อม fast-start เพื่อ autoplay, สกัดโปสเตอร์ WebP และ host ทั้งสองไฟล์บน CDN ของคุณเอง (PixMind host สื่อ case study ของ Seedance 2.5 บน cdn.pixmind.io) ห้าม hotlink videoUrl ที่ host โดย API ใน production เนื่องจาก URL ของ API ไม่รับประกันว่าจะคงอยู่

ตัวอย่าง Python แบบเต็ม
นี่คือสนิปเปต Python ที่รันได้ครบถ้วน ซึ่งสร้าง task, poll จนกว่าจะพร้อม และพิมพ์ URL วิดีโอ โค้ดชิ้นนี้เพิ่ม Idempotency-Key, retry loop ที่จำกัดการลองใหม่ และ cap แบบ timeout ซึ่งเป็นสามสิ่งที่ไคลเอนต์ production ต้องการแต่ตัวอย่าง hello-world มักละเว้น:
import time
import uuid
import requests
API_BASE = "https://aihub-admin.aimix.pro"
API_KEY = "your-pixmind-api-key" # scope: video
GEN = f"{API_BASE}/api-platform/v1/generations"
TASK = f"{API_BASE}/open-api/v1/task"
HEADERS = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json",
}
# 1. Create with an idempotency key so a retry does not start a second billed task
payload = {
"model": "seedance-2.5",
"prompt": "A 30-second continuous hero shot: a character walking through a neon city that flows into a product reveal",
"duration": 30,
"resolution": "1080p",
"aspect_ratio": "16:9",
"generate_audio": True,
}
headers = {**HEADERS, "Idempotency-Key": str(uuid.uuid4())}
create = requests.post(GEN, headers=headers, json=payload, timeout=30).json()
task_id = create["data"]["taskId"]
print(f"Task created: {task_id}")
# 2. Poll with bounded retries and gentle backoff
max_attempts, delay = 100, 5
for attempt in range(max_attempts):
time.sleep(delay)
t = requests.get(f"{TASK}/{task_id}", headers=HEADERS, timeout=15).json()
status = t["data"]["status"].lower()
print(f"attempt={attempt + 1} status={status} progress={t['data'].get('progress', 0)}%")
if status in ("ready", "succeeded", "completed"):
print("Video URL:", t["data"]["videoUrl"])
break
if status in ("failed", "error", "canceled", "cancelled"):
raise RuntimeError(f"Task failed: {t['data']}")
delay = min(delay + 2, 30) # backoff, capped at 30s
else:
raise TimeoutError(f"Task {task_id} did not finish in {max_attempts * 5}s")
Case Study End-to-End: ไปป์ไลน์วิดีโอผลิตภัณฑ์ 30 วินาที
นี่คือส่วนที่คู่มือ API ส่วนใหญ่ข้ามไป: ทีมจริงๆ นำ contract ข้างต้นมาประกอบเป็นไปป์ไลน์ production ที่ทำซ้ำได้อย่างไร สถานการณ์คือทีมครีเอทีฟสี่คนของแบรนด์ D2C ที่ผลิตวิดีโอฮีโร่ 30 วินาทีสำหรับการเปิดตัวผลิตภัณฑ์ ด้วยงบประมาณที่ตายตัวและกำหนดเส้นตายที่เข้มงวด รูปแบบด้านล่างคือโครงสร้างที่ส่งมอบตรงเวลาอย่างสม่ำเสมอ
ภาพรวมไปป์ไลน์
ทีมแบ่งงานเป็นสี่ขั้นตอน: การวนซ้ำ (A/B test ราคาประหยัดบน Seedance 2.0 Fast), การสร้างชิ้นสุดท้าย (รัน Seedance 2.5 ครั้งเดียวที่ 1080p / 30 วินาที), รีวิวและแก้ไขระดับภูมิภาค (การสร้างใหม่ระดับภูมิภาคของ Seedance 2.5) และ การส่งมอบ (transcode, โปสเตอร์, อัปโหลด CDN) แต่ละขั้นตอนใช้โค้ดไคลเอนต์ชุดเดียวกัน; เปลี่ยนเฉพาะ model ID และ payload การแยกนี้คือสิ่งที่ทำให้ไปป์ไลน์ทำซ้ำได้ข้ามแคมเปญ
การจัดสรร reference
ก่อนการเรียก API ใด ๆ ทีมจะกำหนด role เดียวที่ชัดเจนให้แต่ละ reference บันทึกไว้ในสเปรดชีตที่แชร์กันเพื่อให้ prompt และ payload ไปด้วยกัน ห้า reference จากงบประมาณอินพุต 50 รายการ แต่ละรายการทำหน้าที่เดียว:
| Asset | Role | วิธีอ้างอิง |
|---|---|---|
character.jpg |
เอกลักษณ์ (ผู้ส่งของ) | @Image 1 ใน prompt |
product.jpg |
เรขาคณิตผลิตภัณฑ์ | @Image 2 ใน prompt |
studio-palette.png |
ชุดสี | @Image 3 ใน prompt |
camera-motion.mp4 |
การบล็อกกล้อง | @Video 1 ใน prompt |
rhythm.wav |
จังหวะตัด | @Audio 1 ใน prompt |
prompt แมปแต่ละรายการอย่างชัดเจน: "รักษาตัวละครจาก @Image 1 ไม่เปลี่ยนแปลง; จับคู่ผลิตภัณฑ์ใน @Image 2; ใช้ @Video 1 เฉพาะสำหรับ motion กล้อง; จัดจังหวะการตัดตาม @Audio 1" การแมปนี้คือ contract ระหว่างทิศทางครีเอทีฟและ payload ของ API หาก reference ไม่ได้รับการกำหนด role จะไม่ถูกใส่ในคำขอ
ขั้นตอนวนซ้ำ (ควบคุมต้นทุน)
ก่อนเปิดใช้จ่ายสำหรับการรัน 2.5 ความยาว 30 วินาที ทีมทดสอบ prompt และ reference บน Seedance 2.0 Fast ที่ 5 วินาทีและ 720p นี่คือการเรียก POST /api-platform/v1/generations ครั้งเดียวกันที่ใช้ model: "seedance-2.0-fast" การวนซ้ำสามรอบมีต้นทุนเพียงเศษเสี้ยวของการรัน 2.5 ครั้งเดียว และเผยให้เห็นความขัดแย้งของ reference ก่อนผูกงบประมาณ dispatcher จะบันทึก taskId, สถานะ และเวลาที่ผ่านไปของแต่ละรอบการวนซ้ำ เพื่อให้หัวหน้าทีมครีเอทีฟเปรียบเทียบเวอร์ชันต่าง ๆ แบบเคียงข้างกันได้
ข้อสังเกตจากประสบการณ์จริง: ทีมที่ข้ามขั้นตอนนี้และไปสร้าง 2.5 ความยาว 30 วินาทีเลยมักจะเผาผลาญการรันเต็มราคาสามหรือสี่ครั้งเพื่อแก้ความขัดแย้งของ prompt ที่ตรวจจับได้บน Fast ขั้นตอนวนซ้ำคือส่วนที่มี ROI สูงสุดของไปป์ไลน์ และทีมที่ส่งมอบอย่างเชื่อถือได้คือทีมที่ปฏิบัติต่อขั้นตอนนี้เป็นสิ่งบังคับ
การสร้างชิ้นสุดท้าย (Seedance 2.5 ที่ 30 วินาที / 1080p)
เมื่อการวนซ้ำบน Fast ยืนยันว่า prompt อ่านได้ ทีมจึงส่งการสร้างจริง: model: "seedance-2.5", duration: 30, resolution: "1080p", พร้อม reference ทั้งห้ารายการแนบมาและ prompt ที่แมป role แบบเต็มการเรียกสร้างจะรวม Idempotency-Key เพื่อให้ network retry จาก CI runner ไม่เริ่ม task เรียกเก็บเงินครั้งที่สอง หัวหน้าทีมครีเอทีฟรีวิว log การส่ง taskId ชิ้นสุดท้ายก่อนที่ dispatcher จะได้รับอนุญาตให้ commit ซึ่งเป็นการตรวจสอบหนึ่งนาทีที่ป้องกันพิมพ์ผิดใน prompt ที่มีราคาแพง
Polling, ข้อผิดพลาด, และ idempotency
dispatcher ตัวเดียว poll task ทุก 5 วินาทีพร้อม backoff จนถึง 30 วินาที, จำกัดที่ 100 ครั้ง (ประมาณ 8 นาที) ความล้มเหลวปลายทาง (failed, error) จะ trigger retry ครั้งเดียวด้วย Idempotency-Key ใหม่เฉพาะเมื่อ description ของความล้มเหลวระบุว่าเป็นปัญหา backend ชั่วคราว ข้อผิดพลาดของ reference หรือ prompt จะส่งไปยังหัวหน้าทีมครีเอทีฟและแก้ไขก่อนส่งใหม่ ไม่ใช่ retry แบบสุ่ม dispatcher เขียนบรรทัด log แบบมีโครงสร้างต่อความพยายาม (task ID, สถานะ, ความคืบหน้า, เวลาที่ผ่านไป) เพื่อให้ต้นทุนและ latency สามารถตรวจสอบได้หลังเปิดตัว
การแก้ไขระดับภูมิภาค
ในขั้นตอนรีวิว ลูกค้าขอสลับผลิตภัณฑ์บนชั้นขวาของช็อตสุดท้าย ทีมส่ง task แก้ไขระดับภูมิภาคที่กำหนดเป้าไปที่พื้นที่นั้นเท่านั้น โดยรักษา motion และเอกลักษณ์ของส่วนที่เหลือของคลิปไว้ นี่คือฟีเจอร์ 2.5 ที่มีค่าที่สุดสำหรับงานลูกค้า: การเดินทางไกลหนึ่งวันกลายเป็นการสร้างใหม่ 10 นาที ไปป์ไลน์เก็บ taskId ดั้งเดิมและ taskId ที่แก้ไขไว้เชื่อมโยงกันใน log โปรเจกต์ เพื่อให้สายตระกูลของทุกเฟรมที่ส่งมอบสามารถสืบย้อนได้
การส่งมอบ
videoUrl ที่พร้อมถูกดาวน์โหลด, transcode เป็น H.264 พร้อม fast-start สำหรับ autoplay บนเว็บ, จับคู่กับโปสเตอร์ WebP ที่สกัดจาก coverUrl, และอัปโหลดไปยัง CDN ของทีม asset สุดท้ายถูกส่งไปยังหน้า landing และรีวิวทีละเฟรม (เอกลักษณ์, มือ, เรขาคณิตผลิตภัณฑ์, โลโก้, การซิงค์เสียง) ก่อนเผยแพร่
วินัยต้นทุน
ไปป์ไลน์จำกัดการใช้จ่ายในสามจุด หนึ่ง, การวนซ้ำรันบน Fast แทน 2.5 สอง, การตรวจสอบเครดิตล่วงหน้าก่อนส่ง 2.5 ทุกครั้งจะยกเลิกหากยอดเงินในกระเป๋าต่ำกว่าเกณฑ์สำหรับ duration และ resolution ที่เลือก สาม, งบประมาณ task ต่อการเปิดตัวแบบตายตัวใน dispatcher จะปฏิเสธการส่ง task ใหม่เมื่อถึงขีด ราคา Seedance 2.5 ยังไม่เผยแพร่ ดังนั้นทีมถือว่าตัวเลขต่อวินาทีใด ๆ เป็นเพียงการประมาณการ และอ่านเครดิตปัจจุบันจากตัวสร้างสดก่อนแต่ละแคมเปญ
การจัดการ Reference มัลติโมดัล 50 รายการ
ฟีเจอร์เด่น, อินพุตมัลติโมดัลสูงสุด 50 รายการ, ปรากฏใน payload เป็น array ของ URL สาธารณะ:
{
"model": "seedance-2.5",
"prompt": "Keep the character from the first image unchanged; use the video for body motion and the audio for rhythm",
"duration": 20,
"resolution": "1080p",
"aspect_ratio": "16:9",
"reference_images": ["https://cdn.example.com/character.jpg", "https://cdn.example.com/product.jpg"],
"reference_videos": ["https://cdn.example.com/motion.mp4"],
"generate_audio": true
}
URL ของ reference ทั้งหมดต้องเข้าถึงได้แบบสาธารณะ กำหนด role เดียวให้แต่ละรายการและอธิบาย role นั้นใน prompt ("use @Video 1 only for body motion") เพื่อให้โมเดลทราบว่าอินพุตใดควบคุมคุณสมบัติใด
หมายเหตุนักพัฒนา: ตรวจสอบล่วงหน้าว่า URL ของ reference ทุกรายการคืน HTTP 200 พร้อม content-type ที่คาดไว้ก่อนส่ง 403 ครั้งเดียวบน asset ที่ปกป้องด้วย CDN เป็นสาเหตุที่พบบ่อยที่สุดของ task ที่
failedใน production และสูญเสียงบประมาณการสร้างเต็มจำนวน การตรวจสอบด้วย HEAD request สองบรรทัดในไคลเอนต์ของคุณช่วยป้องกันคลาสความล้มเหลวนี้ทั้งหมด นอกจากนี้ให้ใช้ URL แบบคงที่ที่อ้างอิงเนื้อหา (เช่นมี hash หรือเวอร์ชันใน path) เพื่อให้การสลับ asset กลางแคมเปญไม่เปลี่ยนสิ่งที่โมเดลได้รับอย่างเงียบ ๆ
การจัดการข้อผิดพลาดและ Idempotency
- 401 "API Key 无效" (API Key ไม่ถูกต้อง), key ผิด หรือ key ไม่มี scope video ให้ตรวจสอบ key และสิทธิ์ของมัน
- 400 "模型不存在或未配置" (โมเดลไม่มีอยู่หรือยังไม่ได้กำหนดค่า), route
seedance-2.5ยังไม่เปิดใช้งานบน backend นี้ บน PixMind นี่คือสถานะ Coming Soon - 4001 "余额不足" (ยอดเงินไม่เพียงพอ), คำขอถูกต้องแต่กระเป๋าเงินของคุณไม่มีเครดิต; task ไม่ถูกสร้าง
- 429 rate limit, ถดถอยแบบเอ็กซ์โพเนนเชียลแล้ว retry; endpoint สร้างบังคับ concurrency ต่อ key และ cap อัตราคำขอ หากคุณเจอปัญหานี้เป็นประจำ ให้ติดต่อ support เพื่อขยายขีดจำกัดหรือเผื่อเวลาส่งกระจายช่วงสั้น ๆ
- 502 / 504 gateway, ชั่วคราว; retry การเรียกสร้างด้วย
Idempotency-Keyเดิมเพื่อให้ backend ตัดซ้ำและคุณไม่เริ่ม task เรียกเก็บเงินครั้งที่สอง - Polling timeout, จำกัดจำนวนครั้ง (เช่น 100 x 5 วินาที, ประมาณ 8 นาที) และถือว่า timeout เป็นความล้มเหลวพร้อม retry ครั้งเดียว
สำหรับ production ให้ส่ง header Idempotency-Key ในการเรียกสร้างทุกครั้งเพื่อให้ retry ของไคลเอนต์ไม่เริ่ม task เรียกเก็บเงินครั้งที่สอง ใช้ UUID ต่อ logical task (ไม่ใช่ต่อ HTTP attempt), สร้างครั้งเดียวและจัดเก็บไว้ฝั่งคุณ เพื่อให้ logical generation เดียวกันถูกตัดซ้ำข้าม retry, CI rerun และการเล่นคิวใหม่ รูปแบบคือ: สร้าง UUID เมื่อผู้ใช้ (หรือ job runner) ตัดสินใจสร้าง task, persist ก่อน HTTP call ครั้งแรก และนันำไปใช้ใหม่สำหรับการ retry ทุกครั้งของ logical task เดียวกัน
แหล่งข้อมูลนักพัฒนาบุคคลที่สาม
contract ข้างต้นคือเส้นทางการใช้งานบน PixMind สำหรับบริบทที่ลึกซึ้งยิ่งขึ้นเกี่ยวกับโมเดลพื้นฐานของ ByteDance และพื้นผิว API อย่างเป็นทางการ นี่คือแหล่งข้อมูลที่นักพัฒนาหยิบใช้บ่อยที่สุด ตรวจสอบ 2026-07-31:
- หน้าทรัพยากร BytePlus Seedance 2.5, ai.byteplus.com/lumina/en/resource/bytedance-seedance-2-5 มุมมองของ ByteDance เองเกี่ยวกับ 2.5, โฟกัสรอกการสร้างวิดีโอโฆษณาและเดโมผลิตภัณฑ์ มีประโยชน์สำหรับ narrative ความสามารถและกรณีการใช้งานที่ ByteDance เองกำหนดเป้า รายการที่ตรวจสอบแล้ว, 2026-07-31
- เอกสาร BytePlus ModelArk API, พื้นผิวนักพัฒนาอย่างเป็นทางการสำหรับการเรียก Seedance ผ่านคลาวด์ของ ByteDance อ้างอิงข้ามชื่อฟิลด์และโหมดเมื่อคุณต้องการยืนยันว่า route ที่เชื่อมต่อเปิดเผยอะไรบ้าง จากนั้นสะท้อนชื่อเหล่านั้นในไคลเอนต์ของคุณ
- เอกสาร Volcengine 火山方舟 (Volcano Engine Ark), volcengine.com/docs/82379 endpoint ในประเทศ (จีน) สำหรับตระกูลโมเดลเดียวกัน รูปแบบ async submit-and-poll เหมือนกับ route PixMind; ชื่อฟิลด์และขั้นตอน auth แตกต่างเล็กน้อย รายการที่ตรวจสอบแล้ว, 2026-07-31; ยืนยัน path สดก่อนเชื่อมต่อ
- คู่มือสร้างเดโม MakeFun AI, makefun.ai/seedance-2-5-demo-videos/ เดินผ่านการสร้างเวิร์กโฟลว์เดโมที่อ้างอิงหนักของ BytePlus ModelArk ใหม่ มีประโยชน์เมื่อคุณต้องการทำซ้ำลุคอย่างเป็นทางการก่อนออกแบบ prompt ของคุณเอง
- การวิเคราะห์ชุมชน, การวิเคราะห์ 2.5 ของ Topview/Medium, การรายงาน FORCE ของ Pixo และ คู่มือฉบับสมบูรณ์ของ ToSea ทั้งหมดครอบคลุมการอัปเกรดเวิร์กโฟลว์จากมุมบรรณาธิการ มีประโยชน์สำหรับบริบท ไม่ใช่สำหรับรายละเอียด endpoint; ให้ยืนยันรายละเอียดทางเทคนิคกับ API สดเสมอ
หมายเหตุนักพัฒนา: คู่มือบุคคลที่สามเสื่อมสภาพเร็ว ถือว่าคู่มือใด ๆ เป็นจุดเริ่มต้นและยืนยัน path ของ endpoint, ชื่อฟิลด์ และต้นทุนเครดิตกับ route ที่เชื่อมต่อในวันที่คุณเชื่อมต่อ รายละเอียด endpoint และ auth ของคู่มือนี้ตรวจสอบ 2026-07-31, แต่โมเดลยังอยู่ในขั้นเริ่มต้น ดังนั้นควรตรวจสอบใหม่ก่อนเปิดตัว production
Seedance 2.5 API FAQ
Seedance 2.5 API endpoint คืออะไร?
สร้าง task ด้วย POST /api-platform/v1/generations, จากนั้น poll GET /api-platform/v1/task/{task_id} จนกว่า status จะเป็น ready ฟิลด์ model คือ seedance-2.5
ฉันยืนยันตัวตนกับ Seedance 2.5 API อย่างไร?
ส่ง API key ของคุณเป็น Authorization: Bearer <key> header X-API-Key ก็รับเช่นกัน สร้าง key ที่มีสิทธิ์ video ใน dashboard ของ PixMind และโหลดจาก environment variable แทนการฝังใน source code
Seedance 2.5 API พร้อมใช้งานบน PixMind หรือยัง?
route ถูกเอกสารไว้และพร้อมใช้แล้ว; การเข้าถึง backend อยู่ระหว่างขั้นสุดท้าย และโมเดลถูกทำเครื่องหมายเป็น Coming Soon หน้า /api-platform/models/seedance-2-5 มี reference ของ endpoint และพารามิเตอร์ และหน้า /ai-video/seedance-2-5 โฮสต์ตัวสร้างเว็บในระหว่างนี้
ฉันส่ง reference ได้กี่รายการในคำขอ Seedance 2.5 เดียว?
สูงสุด 50 อินพุตมัลติโมดัล, ภาพ, วิดีโอ, ข้อความ และเสียงรวมกัน ในคำขอเดียว นี่เพิ่มขึ้นจาก 9 บน Seedance 2.0 reference ทุกรายการต้องเป็น URL ที่เข้าถึงได้แบบสาธารณะ
Seedance 2.5 API คืนวิดีโอแบบ synchronous หรือไม่?
ไม่ การสร้างวิดีโอเป็นแบบ async การเรียกสร้างคืนค่า taskId; คุณ poll task endpoint จนกว่า status จะเป็น ready จากนั้นจึงอ่านค่า videoUrl การสร้าง 30 วินาทีทั่วไปใช้เวลาหลายนาที ดังนั้นออกแบบไคลเอนต์สำหรับ polling ไม่ใช่สำหรับการบล็อก
rate limit และ concurrency cap คือเท่าไร?
endpoint สร้างบังคับขีดจำกัดอัตราคำขอและ concurrency ต่อ key หากคุณเกิน คำขอจะคืน 429 และคุณควรถดถอยแบบเอ็กซ์โพเนนเชียล สำหรับงานแบบแบตช์ (มากกว่าไม่กี่ task ที่ทำงานพร้อมกัน), กระจายการส่งในช่วงเวลาสั้น ๆ และติดต่อ support เพื่อขยายขีดจำกัดหากคุณเจอ 429 เป็นประจำ ขีดจำกัดตัวเลขที่แน่นอนถูกปรับต่อบัญชี ดังนั้นยืนยันบน key ของคุณเองก่อนออกแบบงานแบตช์ขนาดใหญ่
Seedance 2.5 API รองรับ webhook หรือ callback หรือไม่?
route PixMind ที่ตรวจสอบแล้วใช้แค่การ poll ไม่มี push callback หากสถาปัตยกรรมของคุณต้องการ push notification ให้รัน dispatcher เดียวที่ poll task endpoint แล้วปล่อย webhook ไปยังบริการดาวน์สตรีมของคุณเมื่อ status ถึงสถานะปลายทาง วิธีนี้ทำให้การเชื่อมต่อง่ายและหลีกเลี่ยงการผูกไปป์ไลน์ของคุณเข้ากับ URL callback ที่อาจเปลี่ยนไประหว่าง environment
ฉันรัน task พร้อมกันได้กี่รายการ?
concurrency ถูกจำกัดโดย cap ต่อ key ของคุณและโดยยอดเครดิตของคุณ สำหรับงาน 30 วินาที 1080p คาดว่าจะรัน task ไม่กี่รายการขนานกัน ไม่ใช่หลายสิบรายการ ถือว่า cap สดเป็นที่ตรวจสอบบนบัญชีของคุณ: ส่งแบตช์สอบวัดเล็ก, วัดว่ามีกี่ task ที่เปลี่ยนจาก pending ไป processing พร้อมกัน และปรับขนาดคิวของคุณตามตัวเลขนั้น
API คืนวิดีโอในรูปแบบใด?
task ที่พร้อมคืน videoUrl ที่ชี้ไปยังไฟล์ MP4 มาตรฐาน บวก coverUrl สำหรับเฟรมโปสเตอร์ ดาวน์โหลดและ transcode เป็นรูปแบบที่เป้าหมายการส่งมอบต้องการ (H.264 พร้อม fast-start สำหรับเว็บ, encoding แนวตั้งสำหรับโซเชียล, ProRes สำหรับการมาสเตอร์งานตัดต่อ) ห้าม hotlink videoUrl ที่ host โดย API ใน production เพราะไม่รับประกันว่าจะคงอยู่; คัดลอกไฟล์ไปยัง CDN ของคุณเองเมื่อ ready
ฉันตรวจสอบเครดิตก่อนส่งอย่างไร?
อ่านตัวสร้างสดสำหรับต้นทุนเครดิตปัจจุบันที่ duration และ resolution ที่คุณเลือก จากนั้นตรวจสอบยอดเงินในกระเป๋า API คืน 4001 "余额不足" (ยอดเงินไม่เพียงพอ) หากยอดต่ำเกินไป ซึ่งตอนนั้น task จะไม่ถูกสร้าง สำหรับไปป์ไลน์ production, เพิ่มการตรวจสอบยอดเงินก่อนส่งที่ยกเลิกก่อนหากยอดต่ำกว่าเกณฑ์ต่อ task เพื่อไม่ให้คุณต่อคิวงานที่กระเป๋าเงินไม่ครอบคลุม
ฉันแก้ไขข้อผิดพลาด "模型不存在或未配置" อย่างไร?
response 400 นี้หมายความว่า route seedance-2.5 ยังไม่เปิดใช้งานบน endpoint backend ที่คุณเรียก บน PixMind นี่คือสถานะ Coming Soon ขณะที่การเชื่อมต่อ backend อยู่ระหว่างขั้นสุดท้าย ยืนยันว่าคุณเรียก path /api-platform/v1/generations ที่เอกสารไว้ด้วย model: "seedance-2.5" (ตัวพิมพ์เล็ก, ตรงตัว) หากทั้งสองอย่างถูกต้องและข้อผิดพลาดยังคงอยู่ route ยังไม่เปิดบนบัญชีของคุณ; ติดตามหน้า /api-platform/models/seedance-2-5 สำหรับความพร้อมใช้งาน
ฉันขอ resolution และ duration อะไรได้บ้าง?
duration สูงสุด 30 วินาทีในช็อตเดียว; resolution 480p, 720p, 1080p และ 4K เนทีฟ ยืนยันตัวเลือกที่แน่นอนในตัวสร้างสดก่อนส่ง เนื่องจาก route ที่เชื่อมต่ออาจเปิดเผยเพียงส่วนย่อย
ราคา Seedance 2.5 API เผยแพร่หรือไม่?
ยังไม่เผยแพร่ ถือว่าตัวเลขต่อวินาทีใด ๆ ที่คุณเห็นที่อื่นเป็นเพียงการประมาณการ อ่านตัวสร้างสดสำหรับเครดิตปัจจุบันที่ duration และ resolution ที่คุณเลือกก่อนส่ง และจัดโครงสร้างไปป์ไลน์เพื่อให้สามารถรองรับการอัปเดตราคาโดยไม่ต้องเขียนการเชื่อมต่อใหม่
เริ่มสร้างด้วย Seedance 2.5 API
Seedance 2.5 API คือ contract การสร้างวิดีโอ async มาตรฐาน: หนึ่งคำขอสร้าง, หนึ่ง poll loop, หนึ่งดาวน์โหลด เมื่อคุณมี key ที่มี scope video ตัวอย่าง curl และ Python ข้างต้นคือทั้งหมดที่คุณต้องการเพื่อส่งมอบการเชื่อมต่อชิ้นแรก ตารางเปรียบเทียบและ case study ไปป์ไลน์แสดงวิธีขยาย contract นั้นจากคลิปเดียวไปเป็นเวิร์กโฟลว์ production ที่ทำซ้ำได้ ซึ่งอยู่รอดจากการแก้ไขของลูกค้า, แรงกดดันด้านงบประมาณ และกำหนดเส้นตาย
→ อ่าน reference route Seedance 2.5 API แบบเต็ม หรือ ทดลองโมเดลในตัวสร้างเว็บ ขณะที่การเข้าถึง API อยู่ระหว่างขั้นสุดท้าย
เปรียบเทียบ route Seedance ทุก route
รายละเอียด endpoint และ auth ตรวจสอบกับ backend ของ PixMind api-platform ในวันที่ 2026-07-31 ลิงก์แหล่งข้อมูลบุคคลที่สามตรวจสอบ 2026-07-31 ฟิลด์การเปรียบเทียบ Kling API ถูกทำเครื่องหมายเป็นประมาณการและควรยืนยันกับเอกสาร Kling สด ราคา Seedance 2.5 ยังไม่เผยแพร่และถูกทำเครื่องหมายเป็นประมาณการเท่านั้น


