SpaceXAI: Grok Imagine Video
Grok Imagine Video สร้างคลิปสั้นจากข้อความ ภาพเริ่มต้น หรือภาพอ้างอิงสูงสุดเจ็ดภาพ รุ่นคลาสสิกยังแก้คลิป MP4 เดิมและต่อเพิ่ม 2–10 วินาที การสร้างสูงสุด 720p พร้อมเสียง ส่วนการแก้และต่อคงกรอบต้นฉบับภายใต้ขีดจำกัดของแต่ละโหมด
เกี่ยวกับโมเดล
คำอธิบายนี้ครอบคลุมความสามารถของโมเดล อินพุต เอาต์พุต และตัวเลือกที่ใช้ได้ใน Ailoot แสดงด้านล่างตามเมธอดที่เลือก
Grok Imagine Video เป็นรุ่นคลาสสิกของตระกูลวิดีโอ Grok Imagine เอกสารปัจจุบันของผู้ผลิตครอบคลุมสร้างคลิปจากพรอมป์ต์ ทำภาพเริ่มต้นให้เคลื่อนไหว ใช้สื่อภาพอ้างอิง และแก้หรือต่อวิดีโอเดิม แต่ละเวิร์กโฟลว์ให้ผลต่างกัน ได้แก่ ฉากใหม่ ฟุตเทจที่แก้แล้ว หรือวิดีโอเดียวที่มีต้นฉบับตามด้วยเนื้อหาใหม่ เลือกตามสื่อที่มีและส่วนช็อตที่จะเปลี่ยน
สำหรับช็อตใหม่จากข้อความ บรรยายตัวแบบ สภาพแวดล้อม การกระทำที่เห็น กล้อง และเสียง การสร้างมาตรฐานรองรับ 1–15 วินาที ที่ 480p หรือ 720p พร้อมเสียงที่สร้าง อัตราส่วนสี่เหลี่ยม แนวนอน แนวตั้ง และกว้าง ได้แก่ 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9 และ 5:2 ตัวอย่างบรีฟคือโคมกระดาษไหวเบา ๆ เหนือลานเงียบขณะกล้องแทร็กข้าง ตรวจว่าการเคลื่อนไหว กรอบ และเสียงบรรยากาศสนับสนุนช็อตนั้น
ภาพสู่วิดีโอใช้ภาพที่ส่งเป็นเฟรมแรก เตรียมครอป ตัวแบบ และรายละเอียด แล้วบอกการกระทำถัดไป เอาต์พุตตามอัตราส่วนภาพ ภาพเริ่มต้นให้องค์ประกอบเปิดที่แน่นอน ส่วน reference-to-video ใช้ภาพกำกับบุคคล สินค้า หรือสภาพแวดล้อมในฉากที่จัดใหม่ แยกบทบาทเพื่อไม่ให้ได้ตอนเปิดผิดเมื่อต้องการนำวัตถุรู้จักไปอยู่สถานที่อื่น
รุ่นคลาสสิกรับภาพอ้างอิงสูงสุดเจ็ดภาพต่อคำขอ โหมดนี้จำกัดสิบวินาทีและ 720p กำหนดบทบาทและตำแหน่งรายการเริ่ม <IMAGE_0> สำหรับฉากสินค้าสั้น ภาพหนึ่งกำหนดวัตถุ อีกภาพกำหนดสถานที่ เน้นบรีฟตำแหน่งวัตถุกับการกระทำหลัก โหมดอ้างอิงคลาสสิกมีการตั้งค่าของตน รุ่น 1.5 เต็มเพิ่มตัวควบคุมเสียงที่เลือกและเฟรมตรึง
การแก้วิดีโอรับคลิปเดิมกับพรอมป์ต์เปลี่ยน ผู้ผลิตรับ MP4 ที่มี codec รองรับ เช่น H.264, H.265 หรือ AV1 ยาวไม่เกิน 8.7 วินาที ผลแก้คงความยาวและอัตราส่วนต้นฉบับ และตามความละเอียดจนถึงเพดาน 720p ตัวควบคุมความยาว อัตราส่วน และความละเอียดกำหนดเองไม่ใช้ในโฟลว์นี้ เตรียมต้นฉบับที่องค์ประกอบกับจังหวะตรงปลายทางแล้ว ให้พรอมป์ต์เน้นการแก้ภาพ
ตัวอย่างแก้สีผ้าพันคอโดยคงใบหน้า การเคลื่อนไหว พื้นหลัง และกล้อง ระบุสิ่งที่จะรักษาร่วมกับการเปลี่ยน ผู้ผลิตอธิบายว่าคงส่วนอื่นให้ใกล้ต้นฉบับที่สุด ซึ่งเป็นเป้าหมายตรวจ ไม่ใช่รับประกันว่าทุกพิกเซลเหมือนเดิม เทียบตลอดคลิป โดยเฉพาะเมื่อวัตถุเคลื่อน ตัดผ่านอีกวัตถุ หรือถูกบัง ผลคือคลิปที่แก้แล้ว ไม่ใช่แค่ภาพนิ่งสีใหม่
การต่อวิดีโอเริ่มจากเฟรมสุดท้ายของ MP4 ความยาวต้นฉบับที่ระบุคือ 2–15 วินาที ส่วนเพิ่ม 2–10 วินาที ค่าเริ่มต้นหกวินาที ความยาวการต่อหมายถึงส่วนใหม่เท่านั้น ต้นฉบับสิบวินาทีต่ออีกห้าวินาทีได้วิดีโอสิบห้าวินาทีที่มีทั้งสองส่วน ผลคงอัตราส่วนและความละเอียดต้นฉบับภายในเพดาน 720p เตรียมช่วงสุดท้ายและบอกสิ่งถัดไป เช่น ตัวแบบหันหาอีกวัตถุที่เข้ามาขณะกล้องเคลื่อนต่อ
ตรวจรอยต่อระหว่างต้นฉบับกับเนื้อหาใหม่ ทั้งอัตลักษณ์ ทิศเคลื่อน จังหวะกล้อง แสง และเสียงให้เข้าการกระทำก่อนหน้า หากคลิปจบจุดภาพไม่เหมาะ ให้ขอบนั้นเป็นส่วนชัดเจนของแผนช็อตถัดไป การประกอบฉากยาวเป็นการตัดต่อ ขีดจำกัดการสร้าง อ้างอิง แก้ และต่อแยกกัน ผลรวมการต่อจึงยาวกว่าคลิปสร้างใหม่มาตรฐานได้
โฟลว์ผู้ผลิตเป็นอะซิงโครนัส รหัสคำขอติดตามจนผลสำเร็จให้ตำแหน่งและความยาววิดีโอ ตำแหน่งชั่วคราวจึงต้องเก็บผลเล่นได้กับสื่อต้นทางเมื่อตัดต่อ รุ่น 1.5 เต็มให้ 1080p โดยตรงและการยึดภาพ เสียง เฟรมที่หลากหลาย ส่วน Lite เหมาะพรอมป์ต์หรือภาพเริ่มง่าย รุ่นคลาสสิกยังมีประโยชน์เมื่อเริ่มจากวิดีโอที่ต้องปรับหรือต่อตามการกำกับ
Ailoot Ultra · วิดีโอ POST /v1/videos x-ai/grok-imagine-video
x-ai/grok-imagine-videoเริ่มต้น
Grok Imagine Video สร้างคลิปสั้นจากข้อความ ภาพเริ่มต้น หรือภาพอ้างอิงสูงสุดเจ็ดภาพ รุ่นคลาสสิกยังแก้คลิป MP4 เดิมและต่อเพิ่ม 2–10 วินาที การสร้างสูงสุด 720p พร้อมเสียง ส่วนการแก้และต่อคงกรอบต้นฉบับภายใต้ขีดจำกัดของแต่ละโหมด
- อินพุตที่รองรับ
- ข้อความ · รูปภาพ
- ผลลัพธ์
- วิดีโอ
ใช้งานได้ใน Ailoot · อินพุตและเมธอด
Ailoot Ultra · วิดีโอ POST /v1/videos
- ขาเข้า
text,image- ขาออก
video- รูปแบบเอาต์พุต
- ไบต์ MP4 ต้นฉบับ; ไม่ปรับมาตรฐานหรือแปลงรหัส
| ฟิลด์ | ประเภท | ข้อกำหนด | ค่าและข้อจำกัด | ค่าเริ่มต้น |
|---|---|---|---|---|
ฟิลด์model | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด x-ai/grok-imagine-video | ค่าเริ่มต้น— |
ฟิลด์prompt | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด | ค่าเริ่มต้น— |
ฟิลด์duration | ประเภทinteger | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 ขั้นต่ำ: 1 สูงสุด: 600 | ค่าเริ่มต้น— |
ฟิลด์resolution | ประเภทstring | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด 480p, 720p | ค่าเริ่มต้น— |
ฟิลด์aspect_ratio | ประเภทstring | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด 16:9, 9:16, 1:1, 4:3, 3:4, 3:2, 2:3 | ค่าเริ่มต้น— |
ฟิลด์generate_audio | ประเภทboolean | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด false | ค่าเริ่มต้น— |
ฟิลด์frame_images | ประเภทarray | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด จำนวนรายการขั้นต่ำ: 1 จำนวนรายการสูงสุด: 1 เนื้อหาอินพุต: อาร์เรย์ของออบเจ็กต์เฟรม แต่ละออบเจ็กต์มี type=image_url, image_url ซึ่งมี url และ frame_type ใช้ URL ภาพ HTTPS และกำหนด frame_type เป็น first_frame แต่ละบทบาทของเฟรมปรากฏได้ไม่เกินหนึ่งครั้ง ชื่อคีย์ที่แน่นอน: type, image_url, frame_type เงื่อนไข: คีย์เหล่านี้อธิบายออบเจ็กต์เฟรมแต่ละรายการ image_url มีเฉพาะ url ไม่ต้องระบุ frame_images สำหรับคำขอที่มีเฉพาะข้อความ | ค่าเริ่มต้น— |
ฟิลด์input_references | ประเภทarray | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด | ค่าเริ่มต้น— |
ฟิลด์size | ประเภทstring | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด 854x480, 1280x720, 480x854, 720x1280, 480x480, 720x720, 640x480, 960x720, 480x640, 720x960, 720x480, 1080x720, 480x720, 720x1080 แพตเทิร์น: ^[1-9][0-9]*x[1-9][0-9]*$ | ค่าเริ่มต้น— |
ฟิลด์callback_url | ประเภทstring | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด แพตเทิร์น: ^https:// | ค่าเริ่มต้น— |
ฟิลด์session_id | ประเภทstring | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด | ค่าเริ่มต้น— |
ฟิลด์trace | ประเภทobject | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด | ค่าเริ่มต้น— |
ฟิลด์user | ประเภทstring | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด | ค่าเริ่มต้น— |
ชุดผสมของสื่ออินพุต
สร้างวิดีโอจากข้อความ · พรอมป์ต์ข้อความ · จำเป็น: model, prompt, duration
ระบุพรอมป์ต์เป็นข้อความและระยะเวลาเป็นวินาทีเต็ม เลือกความละเอียดที่รองรับ เพิ่มอัตราส่วนภาพหรือใช้ขนาดที่ระบุไว้
model: ประเภท: string · x-ai/grok-imagine-video
prompt: ประเภท: string · จำนวนไบต์ UTF-8 สูงสุด: 10,000 · ต้องมีอักขระที่ไม่ใช่ช่องว่าง: ใช่
สร้างวิดีโอจากภาพ · พรอมป์ต์ข้อความและภาพเฟรมแรก · จำเป็น: model, prompt, duration, frame_images
frame_images เป็นอาร์เรย์ ออบเจ็กต์ของแต่ละเฟรมมี type, image_url และ frame_type โดย image_url มี url กำหนด type เป็น image_url ใช้ first_frame แต่ละบทบาทของเฟรมปรากฏได้ไม่เกินหนึ่งครั้ง ระบุ URL ภาพ HTTPS สาธารณะสำหรับแต่ละเฟรม ใช้ภาพเฟรมหรือภาพอ้างอิงอย่างใดอย่างหนึ่งในคำขอเดียว อย่าใช้ทั้งสองแบบร่วมกัน เลือกความละเอียดที่รองรับ เพิ่มอัตราส่วนภาพหรือใช้ขนาดที่ระบุไว้
ชื่อคีย์ที่แน่นอน: type, image_url, frame_type
model: ประเภท: string · x-ai/grok-imagine-video
prompt: ประเภท: string · จำนวนไบต์ UTF-8 สูงสุด: 10,000 · ต้องมีอักขระที่ไม่ใช่ช่องว่าง: ใช่
Reference to video · พรอมป์ต์ข้อความและภาพอ้างอิงที่รองรับ · จำเป็น: model, prompt, duration, input_references
input_references เป็นอาร์เรย์ของออบเจ็กต์ กำหนด type เป็น image_url และใช้ฟิลด์ที่ตรงกันซึ่งมี url ใช้ URL แบบ HTTPS สาธารณะ ไม่ต้องระบุ frame_images เพื่อเลือกโหมดอ้างอิง อย่าใช้ภาพอ้างอิงร่วมกับภาพเฟรม เลือกความละเอียดที่รองรับ เพิ่มอัตราส่วนภาพหรือใช้ขนาดที่ระบุไว้
model: ประเภท: string · x-ai/grok-imagine-video
prompt: ประเภท: string · จำนวนไบต์ UTF-8 สูงสุด: 10,000 · ต้องมีอักขระที่ไม่ใช่ช่องว่าง: ใช่
พารามิเตอร์และวงจรการทำงานของเมธอด
| พารามิเตอร์ | ข้อกำหนด |
|---|---|
พารามิเตอร์content_type | ข้อกำหนดapplication/json |
พารามิเตอร์required | ข้อกำหนดmodel, prompt, duration |
พารามิเตอร์material_types | ข้อกำหนดtext, image |
พารามิเตอร์additional_properties | ข้อกำหนดfalse |
พารามิเตอร์optional_controls | ข้อกำหนดresolution, aspect_ratio, generate_audio, frame_images, input_references, size, callback_url, session_id, trace, user |
วงจรการทำงาน: submit_once_poll_original
GET /v1/videos/{public_id}
GET /v1/videos/{public_id}/content
ราคา
วิธีคำนวณค่าบริการสุดท้าย
อัตราที่แสดงใช้ประมาณการค่าใช้จ่ายก่อนการสร้างผลลัพธ์ ยอดเรียกเก็บสุดท้ายคำนวณจากค่าใช้จ่ายที่บันทึกไว้สำหรับการสร้างผลลัพธ์ครั้งเดิม ระยะเวลาของผลลัพธ์ที่วัดได้และปริมาณที่คาดการณ์ไว้ไม่ใช่ปริมาณสุดท้ายที่ใช้คิดค่าบริการ
ข้อมูลอัตราราคาไม่ได้เพิ่มตัวเลือกคำขอ พารามิเตอร์ที่รองรับระบุไว้สำหรับเมธอดที่เลือก
- โหมดรวดเร็ว
- ไม่ได้ระบุ เมื่อเลือกโหมดรวดเร็ว
- โหมดยืดหยุ่น
- ไม่ได้ระบุ เมื่อเลือกโหมด flex
- ระดับการใช้เหตุผลสูงสุด
- ไม่ได้ระบุ เมื่อใช้การปรับตามค่าเริ่มต้น (default) สำหรับระดับการใช้เหตุผลสูงสุด
อัตราประมาณการเพื่อเปรียบเทียบ
ราคาตามการตั้งค่า
เทียบค่าบริการแต่ละรายการกับเงื่อนไขที่แสดง เลือกใช้อัตราเดียวสำหรับแต่ละชุดการตั้งค่าที่เป็นตัวเลือกทดแทนกัน
| การตั้งค่า | ตารางอัตราค่าบริการ | ปริมาณคาดการณ์ | หน่วยคิดค่าบริการ | เงื่อนไขคิดค่าบริการ | ค่าบริการ |
|---|---|---|---|---|---|
| การตั้งค่าอัตราค่าบริการโทเคนพื้นฐาน | ตารางอัตราค่าบริการอัตราพื้นฐาน | ปริมาณคาดการณ์— | หน่วยคิดค่าบริการ— | เงื่อนไขคิดค่าบริการ— | ค่าบริการ ขาเข้า · โทเค็นอินพุต · ประมาณการเพื่อเปรียบเทียบเท่านั้น — / 1K โทเค็น ขาออก · โทเค็นเอาต์พุต · ประมาณการเพื่อเปรียบเทียบเท่านั้น — / 1K โทเค็น ขาเข้า · การอ่านแคช · ประมาณการเพื่อเปรียบเทียบเท่านั้น — / 1K โทเค็น ขาเข้า · การเขียนแคช · ประมาณการเพื่อเปรียบเทียบเท่านั้น — / 1K โทเค็น ขาเข้า · การเขียนแคช, 1 ชั่วโมง · ประมาณการเพื่อเปรียบเทียบเท่านั้น — / 1K โทเค็น |
| การตั้งค่าภาพขาเข้า | ตารางอัตราค่าบริการ— | ปริมาณคาดการณ์— | หน่วยคิดค่าบริการต่อภาพ | เงื่อนไขคิดค่าบริการไม่มีการระบุเงื่อนไขเพิ่มเติมในคีย์ราคานี้ | ค่าบริการ ขาเข้า · ภาพขาเข้า · ประมาณการเพื่อเปรียบเทียบเท่านั้น $0.004 ต่อภาพ |
| การตั้งค่าราคาวิดีโอ | ตารางอัตราค่าบริการ— | ปริมาณคาดการณ์— | หน่วยคิดค่าบริการต่อวินาทีของวิดีโอ | เงื่อนไขคิดค่าบริการresolution: 480p | ค่าบริการ ขาออก · ราคาวิดีโอ · ประมาณการเพื่อเปรียบเทียบเท่านั้น $0.1 ต่อวินาทีของวิดีโอ |
| การตั้งค่าราคาวิดีโอ | ตารางอัตราค่าบริการ— | ปริมาณคาดการณ์— | หน่วยคิดค่าบริการต่อวินาทีของวิดีโอ | เงื่อนไขคิดค่าบริการresolution: 720p | ค่าบริการ ขาออก · ราคาวิดีโอ · ประมาณการเพื่อเปรียบเทียบเท่านั้น $0.14 ต่อวินาทีของวิดีโอ |
| การตั้งค่าต้นทุนการสร้างโดยประมาณ | ตารางอัตราค่าบริการ— | ปริมาณคาดการณ์ค่าประมาณสำหรับการสร้างหนึ่งครั้ง | หน่วยคิดค่าบริการ— | เงื่อนไขคิดค่าบริการ— | ค่าบริการ ขาออก · ค่าใช้จ่ายในการสร้างโดยประมาณ · ประมาณการเพื่อเปรียบเทียบเท่านั้น $0.1 ประมาณการก่อนสร้าง ค่าประมาณนี้ไม่ใช่ค่าใช้จ่ายเพิ่มเติมหรืออัตราคงที่สำหรับการสร้างผลลัพธ์ที่เสร็จสมบูรณ์แล้ว |
Ailoot กันยอดเงินประมาณการไว้ก่อนส่งคำขอ หลังได้ผลลัพธ์ จะคิดค่าบริการสุดท้ายตามการใช้งานที่วัดได้ การคิดค่าบริการแบบสตรีมใช้บันทึกการใช้งานสุดท้าย วิธีกันยอดเงินและคิดค่าบริการสุดท้าย →
รายละเอียดอัตราอ้างอิง
ตารางอัตราอ้างอิงระดับโมเดลไม่เปลี่ยนเมธอดที่เลือก ยอดประมาณการ หรือค่าบริการ การคิดค่าบริการจริงใช้อัตราของเมธอด Ailoot ที่เลือก
ข้อมูลอ้างอิงราคาตามการตั้งค่าวิดีโอ
ราคาตามการตั้งค่า
เทียบค่าบริการแต่ละรายการกับเงื่อนไขที่แสดง เลือกใช้อัตราเดียวสำหรับแต่ละชุดการตั้งค่าที่เป็นตัวเลือกทดแทนกัน
| การตั้งค่า | เงื่อนไขคิดค่าบริการ | ค่าบริการ |
|---|---|---|
| การตั้งค่าภาพขาเข้า | เงื่อนไขคิดค่าบริการไม่มีการระบุเงื่อนไขเพิ่มเติมในคีย์ราคานี้ | ค่าบริการ ขาเข้า · ภาพขาเข้า $0.004 ต่อภาพ ราคาอ้างอิงที่ประกาศสำหรับการตั้งค่าที่แสดง ยอดเรียกเก็บสุดท้ายเป็นไปตามการตั้งค่าที่ใช้คิดค่าบริการจริง |
| การตั้งค่าราคาวิดีโอ | เงื่อนไขคิดค่าบริการresolution: 480p | ค่าบริการ ขาออก · ราคาวิดีโอ $0.1 ต่อวินาทีของวิดีโอ ราคาอ้างอิงที่ประกาศสำหรับการตั้งค่าที่แสดง ยอดเรียกเก็บสุดท้ายเป็นไปตามการตั้งค่าที่ใช้คิดค่าบริการจริง |
| การตั้งค่าราคาวิดีโอ | เงื่อนไขคิดค่าบริการresolution: 720p | ค่าบริการ ขาออก · ราคาวิดีโอ $0.14 ต่อวินาทีของวิดีโอ ราคาอ้างอิงที่ประกาศสำหรับการตั้งค่าที่แสดง ยอดเรียกเก็บสุดท้ายเป็นไปตามการตั้งค่าที่ใช้คิดค่าบริการจริง |
ตัวอย่างคำขอ
Ailoot Ultra · วิดีโอ
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
from pathlib import Path
Path('request.json').write_text('{"aspect_ratio":"16:9","duration":8,"model":"x-ai/grok-imagine-video","prompt":"A serene mountain landscape at sunset","resolution":"720p"}', encoding='utf-8')
PY_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
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('result.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
รับและบันทึกผลลัพธ์
Ailoot Ultra · วิดีโอ
URL เนื้อหาที่ลงลายเซ็นและเป็นของคุณ
GET /v1/videos/{public_id}GET /v1/videos/{public_id}/content
ตรวจสอบสถานะงาน
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_STATUS_URL'
import json
from pathlib import Path
from urllib.parse import quote
r=json.loads(Path('result.json').read_text())
if not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')
Path('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))
PY_STATUS_URL
curl --fail-with-body --silent --show-error "$(cat status-url.txt)" \
-H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('status.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
การอ่านเนื้อหาแบบอื่น
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path('status.json').read_text())
if r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')
if not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')
urls=[]
for i,u in enumerate(r.get('data',[])):
if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')
urls.append((str(i),u))
for label,path in urls:
u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)
if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')
target=Path('owned-'+label+'.bin')
subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)
print('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')
PY_ASSETS
เก็บผลลัพธ์ที่เสร็จสมบูรณ์ทั้งหมด
บันทึกวิดีโอที่สร้างเสร็จหรือไฟล์ที่ส่งกลับมาทุกไฟล์ และดึงไฟล์สื่อจากทุก URL ที่ส่งกลับมาจริง
เก็บผลลัพธ์จริงที่เป็นของคุณทุกรายการ พร้อมเมทาดาทาที่วัดได้ซึ่งส่งกลับมา
เมื่อต้องตรวจสอบการตอบกลับต้นฉบับ
503 result_pending_check + id เดิม + X-Should-Retry:false ห้ามส่งคำขอเดิมซ้ำ
ฟิลด์การตอบกลับ
| ฟิลด์ | ประเภท | ความหมาย |
|---|---|---|
ฟิลด์index | ประเภทinteger | ความหมายตำแหน่งของวิดีโอนี้ในรายการผลลัพธ์ โดยเริ่มนับจากศูนย์ |
ฟิลด์content_url | ประเภทstring | ความหมายURL ดาวน์โหลด HTTPS ที่ลงลายเซ็นสำหรับวิดีโอที่เสร็จสมบูรณ์นี้ |
ฟิลด์sha256 | ประเภทstring | null | ความหมายค่าแฮช SHA-256 ของไบต์วิดีโอต้นฉบับ เป็น null หากไม่มีข้อมูล |
ฟิลด์size_bytes | ประเภทinteger | null | ความหมายขนาดไฟล์วิดีโอต้นฉบับเป็นไบต์ เป็น null หากไม่มีข้อมูล |
ฟิลด์duration_ms | ประเภทinteger | null | ความหมายระยะเวลาวิดีโอที่วัดได้เป็นมิลลิวินาที เป็น null หากไม่มีข้อมูล |
ฟิลด์width | ประเภทinteger | null | ความหมายความกว้างวิดีโอเป็นพิกเซล เป็น null หากไม่มีข้อมูล |
ฟิลด์height | ประเภทinteger | null | ความหมายความสูงวิดีโอเป็นพิกเซล เป็น null หากไม่มีข้อมูล |
ฟิลด์video_codec | ประเภทstring | null | ความหมายตัวระบุตัวแปลงสัญญาณวิดีโอ เป็น null หากไม่ได้บันทึกไว้ |
ฟิลด์has_audio | ประเภทboolean | null | ความหมายระบุว่าวิดีโอมีแทร็กเสียงหรือไม่ เป็น null หากไม่ได้วัด |
ฟิลด์audio_codec | ประเภทstring | null | ความหมายตัวระบุตัวแปลงสัญญาณเสียง เป็น null เมื่อไม่มีการบันทึกตัวระบุ |
ข้อผิดพลาดและขั้นตอนถัดไป
| การตอบกลับ | เงื่อนไข | ขั้นตอนถัดไป |
|---|---|---|
การตอบกลับ404 · not_found_error | เงื่อนไขไม่สามารถเข้าถึงวิดีโอ หรือไม่พบ ID วิดีโอนี้ | ขั้นตอนถัดไปตรวจสอบสิทธิ์เข้าถึงวิดีโอ สำหรับวิดีโอที่มีอยู่ ให้ใช้ ID สาธารณะเดิมและคีย์ API เดิม |
การตอบกลับ401 · authentication_error | เงื่อนไขคีย์ API ไม่ตรงกับบัญชีที่ยืนยันตัวตน | ขั้นตอนถัดไปตรวจสอบคีย์ API และสิทธิ์เข้าถึงบัญชีของคุณก่อนส่ง |
การตอบกลับ400 · invalid_request_error | เงื่อนไขไม่สามารถอ่านคำขอ หรือดัชนีดาวน์โหลดไม่ถูกต้อง | ขั้นตอนถัดไปแก้ไขเนื้อหาคำขอ สำหรับการดาวน์โหลด ให้เลือกดัชนีผลลัพธ์ที่งานเดิมส่งกลับ |
การตอบกลับ422 · price_unavailable | เงื่อนไขไม่สามารถคิดราคาการตั้งค่าวิดีโอที่เลือกได้ | ขั้นตอนถัดไปเลือกการตั้งค่าวิดีโอที่รองรับและระบุตัวเลือกที่จำเป็นให้ครบก่อนส่งคำขอที่แก้ไขแล้ว |
การตอบกลับ422 · invalid_request_error | เงื่อนไขข้อมูลขาเข้าวิดีโอหรืองานต้นฉบับสำหรับการต่อเนื่องไม่ถูกต้อง | ขั้นตอนถัดไปใช้ข้อมูลขาเข้า HTTPS ที่ถูกต้อง สำหรับการต่อเนื่อง ให้ใช้ ID วิดีโอสาธารณะเดิมที่เสร็จสมบูรณ์ของคุณพร้อมคีย์ API เดิม |
การตอบกลับ402 · billing_error | เงื่อนไขยอดคงเหลือหรือขีดจำกัดที่ใช้ได้ไม่เพียงพอสำหรับการกันวงเงิน | ขั้นตอนถัดไปตรวจสอบยอดคงเหลือและขีดจำกัดที่ใช้ได้ก่อนส่งคำขอใหม่ |
การตอบกลับ503 · server_error | เงื่อนไขการตรวจสอบวิดีโอ ที่เก็บข้อมูล หรือการเข้าถึงบริการไม่พร้อมใช้งานชั่วคราว | ขั้นตอนถัดไปรอให้บริการพร้อมใช้งาน หากมี ID วิดีโอแล้ว ให้ตรวจสอบงานเดิมนั้นแทนการสร้างวิดีโออีกครั้ง |
การตอบกลับ503 · result_pending_check | เงื่อนไขต้องตรวจสอบผลลัพธ์วิดีโอเดิมและยอดเรียกเก็บ | ขั้นตอนถัดไปเก็บ ID วิดีโอที่ส่งกลับและตรวจสอบงานนั้น อย่าส่งคำขอสร้างทดแทนระหว่างที่กำลังตรวจสอบ |
การตอบกลับ503 · owned_result_unavailable | เงื่อนไขการดาวน์โหลดวิดีโอที่มีอยู่ไม่พร้อมใช้งานชั่วคราว | ขั้นตอนถัดไปตรวจสอบงานวิดีโอเดิมในภายหลังและดาวน์โหลดผลลัพธ์ที่มีอยู่ การสร้างใหม่จะสร้างการดำเนินการแยกต่างหาก |
การตอบกลับ409 · video_not_ready | เงื่อนไขเนื้อหาวิดีโอยังไม่เผยแพร่ | ขั้นตอนถัดไปตรวจสอบสถานะงานเดิม ดาวน์โหลดหลังรายงาน completed หากรายงาน failed ให้ทำตามข้อความแจ้งตรวจสอบยอดเรียกเก็บ |
ชื่ออื่น
ชื่ออื่นของโมเดล
Ailoot Ultra x-ai/grok-imagine-video
ชื่อพาธเมธอดอื่น
ใช้พาธเมธอดที่แสดงด้านบน
ID ที่เกี่ยวข้องสำหรับเรียกใช้โมเดล
FAQ · SpaceXAI: Grok Imagine Video
- มีอินพุตและผลลัพธ์ใดบ้าง?
POST /v1/videos·x-ai/grok-imagine-video:text,image→video- คำขอใช้ฟิลด์ใดบ้าง?
POST /v1/videos·x-ai/grok-imagine-video:model,prompt,duration,resolution,aspect_ratio,generate_audio,frame_images,input_references,size,callback_url,session_id,trace,user- มีข้อจำกัดใดบ้าง?
POST /v1/videos·x-ai/grok-imagine-video:duration.minimum:1;duration.maximum:600;frame_images.max_items:1;frame_images.min_items:1