wan2.7-t2v
มีเพียง model และ prompt ที่จำเป็น หากไม่ระบุ size และ duration เกตเวย์จะส่งเป็น 1280*720 ความยาวห้าวินาที
ไม่พบรายการที่ตรงกัน ลองค้นด้วยชื่อโปรโตคอล ความสามารถ หรือพาธของเอนด์พอยต์
โมเดลวิดีโอตอบกลับเป็นงาน ไม่ใช่การตอบกลับครั้งเดียว POST /v1/videos จะคืนรหัสงานพร้อม "status": "queued" และ GET /v1/videos/{task_id} จะรายงานความคืบหน้าจนงานเปลี่ยนเป็น completed หรือ failed เมื่อเสร็จแล้ว ไฟล์ที่ได้คือ URL ที่ลงลายเซ็นใน metadata.url ซึ่งมีพารามิเตอร์ Expires ติดมาด้วย จึงควรดาวน์โหลดไฟล์เก็บไว้แทนการเก็บลิงก์ งานที่ล้มเหลวจะแนบรหัสและข้อความจากต้นทางไว้ใน error.code และ error.message ซึ่งมักเพียงพอให้เห็นว่าคำขอขาดฟิลด์ใด ส่วน POST /v1/video/generations เข้าสู่ตัวจัดการเดียวกัน สำหรับไคลเอนต์ที่เขียนตามเส้นทางนั้นไว้แล้ว
curl https://api.chinaapi.ai/v1/videos \
-H "Authorization: Bearer $CHINAAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "wan2.7-i2v",
"prompt": "the cat turns and walks toward the camera",
"input_reference": "https://example.com/first-frame.jpg",
"size": "1280*720",
"duration": 5
}'
# {"id":"task_9f2c...","task_id":"task_9f2c...","object":"video",
# "model":"wan2.7-i2v","status":"queued","progress":0}
curl https://api.chinaapi.ai/v1/videos/task_9f2c... \
-H "Authorization: Bearer $CHINAAPI_KEY"
# {"id":"task_9f2c...","object":"video","model":"wan2.7-i2v",
# "status":"completed","progress":100,
# "metadata":{"url":"https://.../output.mp4?Expires=..."}}
มีเพียง model และ prompt ที่จำเป็น หากไม่ระบุ size และ duration เกตเวย์จะส่งเป็น 1280*720 ความยาวห้าวินาที
ทำให้ภาพนิ่งเคลื่อนไหว input_reference รับ URL รูปภาพที่เข้าถึงได้แบบสาธารณะและจะกลายเป็นเฟรมแรก ให้ส่ง size และ duration ไปพร้อมกัน
สร้างวิดีโอจากสื่ออ้างอิง input_reference รับภาพอ้างอิงหนึ่งภาพ หากต้องการส่งหลายภาพให้ใช้ images แทน และ video_url เพิ่มวิดีโออ้างอิง — นับรวมกันได้สูงสุดห้ารายการ อย่าส่ง input_reference พร้อม images เพราะเกตเวย์จะเก็บเฉพาะ input_reference
แก้ไขคลิปที่มีอยู่ตามพรอมป์ต์ video_url รับวิดีโอต้นฉบับ ซึ่งต้องยาว 2 ถึง 10 วินาที เป็น MP4 หรือ MOV และ size กำหนดผลลัพธ์
ภาพอ้างอิงใส่ใน images ส่วน input_reference รับได้หนึ่งภาพ หากส่งทั้งสองอย่างจะส่งต่อทั้งคู่ ความยาวใส่ใน seconds หรือ duration และพารามิเตอร์ของผู้ให้บริการใส่ใน metadata ซึ่ง resolution รับได้เฉพาะ 480p หรือ 720p
รูปแบบคำขอเหมือน doubao-seedance-2-5-260628 ทุกอย่าง รวมถึงกฎของ role ใน metadata.content ส่วน doubao-seedance-2-0-fast-260128 และ doubao-seedance-2-0-mini-260615 แลกคุณภาพกับความเร็วและต้นทุน และรุ่น 2.0 ต้องมีภาพหรือวิดีโออ้างอิงอย่างน้อยหนึ่งรายการ ต่างจาก 2.5 ที่รับเสียงอย่างเดียวได้
เฟรมแรกใส่ใน image ตระกูลนี้ไม่อ่าน input_reference เลย mode ค่าเริ่มต้นคือ std และ duration คือ 5 วินาที ที่เหลืออยู่ใน metadata ได้แก่ image_tail สำหรับเฟรมปิด sound ที่รับ on หรือ off (ค่าเริ่มต้น off) พร้อมด้วย negative_prompt cfg_scale และ camera_control
ส่ง prompt สำหรับข้อความเป็นวิดีโอ หรือเพิ่ม image แล้วเกตเวย์จะประกอบอาร์เรย์ contents ที่ต้นทางต้องการให้เอง ส่วนขนาดอยู่ใต้ metadata.settings โดย resolution เป็น 720p หรือ 1080p duration อยู่ระหว่าง 3 ถึง 15 วินาที และ aspect_ratio เป็น 16:9 9:16 หรือ 1:1 เสียงมีมาให้เสมอและไม่มีสวิตช์ปิด
สร้างวิดีโอจากภาพอ้างอิงหลายภาพพร้อมกัน พารามิเตอร์ทุกตัวอยู่ใน metadata และไม่มีฟิลด์ resolution — ระดับคุณภาพคือ mode ดูตัวอย่างเต็มด้านล่าง
รับฟิลด์ของเกตเวย์เองแล้วประกอบเพย์โหลดฝั่งต้นทางให้: image หรือ input_reference กลายเป็นเฟรมแรก images กลายเป็นภาพอ้างอิง และ video_url กลายเป็นวิดีโออ้างอิง size เลือก 768P หรือ 2K และ duration เป็นจำนวนเต็มตั้งแต่ 4 ถึง 15 คำขอที่มีแต่ข้อความต้องระบุ metadata.ratio ที่ไม่ใช่ adaptive
รวมถึง MiniMax-Hailuo-2.3-Fast และ MiniMax-Hailuo-02 กลุ่มนี้อ่านจากระดับบนสุดเพียง prompt duration และ size ภาพทุกภาพต้องผ่าน metadata ในชื่อ first_frame_image last_frame_image หรือ subject_reference
รวมถึง happyhorse-1.1-i2v และ happyhorse-1.1-r2v ฟิลด์ตรงกับตระกูล wan2.7 คือ prompt input_reference size duration และที่นี่ 480P มีราคากำหนดไว้ จึงรับ 832*480 ได้ในจุดที่ wan2.7 ปฏิเสธ หากต้องการอ้างอิงหลายรายการให้ใส่ใน metadata.input.media เพราะการประกอบอัตโนมัติที่ฟิลด์ images กระตุ้นนั้นมีเฉพาะกับ wan2.7-r2v
size เป็นความกว้างและความสูงคั่นด้วยดอกจัน เช่น 1280*720 ไม่รับตัว x: 832x480 จะได้ invalid size: 832x480, example: 1920*1080 กลับมา duration เป็นจำนวนวินาทีเต็ม สำหรับ wan2.7-i2v wan2.7-r2v และ wan2.7-videoedit เกตเวย์จะยุบ size เป็นระดับความละเอียด และต้นทางมีเพียงสองระดับ จึงให้ส่ง 1280*720 สำหรับ 720P หรือ 1920*1080 สำหรับ 1080P ขนาดระดับ 480P อย่าง 832*480 ไม่มีราคากำหนดไว้กับสามรุ่นนี้ จึงถูกปฏิเสธทันที หรือไม่ก็รับไว้แล้วไปล้มเหลวที่ต้นทางด้วย InvalidParameter งานที่ล้มเหลวจะได้เงินคืน แต่ไม่ว่าทางไหนก็เสียเที่ยวไปฟรี ๆ ส่วน wan2.7-t2v รับค่าตามที่เขียนมา
size ผ่านตารางตายตัวที่เขียนขนาดด้วยตัว x — 1280x720 1920x1080 720x1280 1080x1920 1024x1024 512x512 — และค่าที่ไม่อยู่ในตารางจะกลายเป็น 1:1 โดยไม่แจ้งข้อผิดพลาด ดังนั้นการส่งรูปแบบดอกจัน 1280*720 ให้ kling-v3 จะได้วิดีโอจัตุรัสกลับมาแทนที่จะได้คำทักท้วง ถ้าการจัดเฟรมสำคัญให้กำหนด metadata.aspect_ratio โดยตรง
MiniMax-Hailuo-2.3 MiniMax-Hailuo-2.3-Fast และ MiniMax-Hailuo-02 ทิ้งฟิลด์ระดับบนสุด image input_reference images และ video_url ไปเงียบ ๆ คำขอสำเร็จก็จริง แต่ทำงานเป็นข้อความเป็นวิดีโอและถูกคิดเงินตามนั้น ให้ใส่ภาพใน metadata.first_frame_image แทน เพิ่ม metadata.last_frame_image สำหรับเฟรมปิด และใช้ metadata.subject_reference สำหรับการอ้างอิงตัวแบบ ส่วน MiniMax-H3 เป็นข้อยกเว้นของกลุ่มนี้และอ่านฟิลด์ระดับบนสุด
curl https://api.chinaapi.ai/v1/video/generations \
-H "Authorization: Bearer $CHINAAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "kling-v3-omni",
"prompt": "the character from the references walks through a neon-lit street",
"metadata": {
"image_list": [
{"image_url": "https://example.com/character.jpg"},
{"image_url": "https://example.com/outfit.jpg"},
{"image_url": "https://example.com/scene.jpg"}
],
"mode": "std",
"duration": "5",
"aspect_ratio": "16:9",
"sound": "off"
}
}'
curl https://api.chinaapi.ai/v1/video/generations/task_9f2c... \
-H "Authorization: Bearer $CHINAAPI_KEY"
# {"code":"success",
# "data":{"task_id":"task_9f2c...","status":"SUCCESS",
# "progress":"100%","fail_reason":"",
# "result_url":"https://.../output.mp4"}}
type ฟิลด์นี้มีไว้เพื่อระบุ first_frame หรือ end_frame เท่านั้น และ aspect_ratio จำเป็นเมื่อไม่มีเฟรมแรก mode คือระดับคุณภาพ ได้แก่ std pro หรือ 4k โดยค่าเริ่มต้นของต้นทางคือ pro ซึ่งคิดเงิน 1.33 เท่าของราคาที่ประกาศ ส่วน 4k คิด 5 เท่า จึงควรส่ง mode ให้ชัดเจนเพื่อให้ยอดเงินตรงกับที่คาดไว้ duration เป็นสตริงตั้งแต่ "3" ถึง "15" และ sound มีค่าเริ่มต้นเป็น off วิดีโออ้างอิงใส่ใน video_list และต้องกำหนด "refer_type": "feature" เพราะโหมดแก้ไข base คิดเงินตามความยาววิดีโอที่ส่งมา ประเมินราคาก่อนส่งไม่ได้ จึงถูกปฏิเสธ ภาพอ้างอิงยังมีขนาดขั้นต่ำที่ฝั่งต้นทางด้วย ไฟล์ขนาดเท่าไอคอนจะส่งผ่านได้แต่ทำให้งานล้มเหลวด้วย Image pixel is invalid งานที่ล้มเหลวจะได้เงินคืน แต่เสียเที่ยวไปฟรี ๆ
GET /v1/videos/{task_id} ตอบในรูปแบบวิดีโอของ OpenAI โดยไฟล์อยู่ที่ metadata.url และความคืบหน้าเป็นตัวเลข ส่วน GET /v1/video/generations/{task_id} ตอบเป็น {"code": "success", "data": {…}} โดยไฟล์อยู่ที่ data.result_url data.status เป็นคำตัวพิมพ์ใหญ่อย่าง SUCCESS หรือ FAILURE data.progress เป็นสตริงอย่าง "100%" และความล้มเหลวอธิบายไว้ใน data.fail_reason ให้ถามสถานะที่เส้นทางเดียวกับที่ส่งไป
curl https://api.chinaapi.ai/v1/videos \
-H "Authorization: Bearer $CHINAAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedance-2-5-260628",
"prompt": "the subject slowly turns toward the camera",
"images": ["https://example.com/first-frame.jpg"],
"seconds": "5",
"metadata": {"resolution": "480p"}
}'
curl https://api.chinaapi.ai/v1/videos \
-H "Authorization: Bearer $CHINAAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedance-2-5-260628",
"prompt": "keep the subject from the reference image",
"seconds": "5",
"metadata": {
"resolution": "480p",
"ratio": "16:9",
"content": [
{
"type": "image_url",
"image_url": {"url": "https://example.com/reference.jpg"},
"role": "reference_image"
}
]
}
}'
role จะถูกอ่านเป็นเฟรมแรกไม่ใช่ภาพอ้างอิง ผลลัพธ์จึงใช้อัตราส่วนของภาพนั้น การส่ง ratio มาด้วยจะถูกปฏิเสธด้วย InvalidParameter.TaskTypeConstraint และ seconds เท่ากับ 2 ก็ถูกปฏิเสธในโหมดนี้ ขณะที่ 5 ใช้ได้ generate_audio ต้นทางมีค่าเริ่มต้นเป็น true ดังนั้นไฟล์ที่ได้จะมีแทร็กเสียงเว้นแต่ตั้งเป็น false ใน metadata ใส่ role ให้ทุกรายการใน metadata.content เพื่อใช้โหมดอ้างอิงเต็มรูปแบบ — ภาพได้ถึง 30 ภาพ วิดีโอ 10 รายการ และเสียง 10 รายการ ป้อนเฉพาะเสียงก็ได้ และสร้างต่อเนื่อง 30 วินาที — ซึ่งโหมดนั้นรับ ratio ได้