Google: Veo 3.1 Lite
Veo 3.1 Lite สร้างวิดีโอพร้อมเสียงโดยตรงจากคำบรรยายหรือภาพเริ่ม โฟลว์ Lite ที่ระบุให้หนึ่งคลิป ยาว 4, 6 หรือ 8 วินาที กรอบแนวนอนหรือแนวตั้ง และขีดจำกัดเฉพาะที่ต่างจาก Veo 3.1 กับ Fast
เกี่ยวกับโมเดล
คำอธิบายนี้ครอบคลุมความสามารถของโมเดล อินพุต เอาต์พุต และตัวเลือกที่ใช้ได้ใน Ailoot แสดงด้านล่างตามเมธอดที่เลือก
Veo 3.1 Lite เป็นสมาชิก Lite ของสายสร้างวิดีโอ Veo 3 จาก Google สังเคราะห์วิดีโอพร้อมเสียงจากคำบรรยายธรรมชาติหรือภาพอินพุต ผลคือคลิปที่สร้าง ไม่ใช่บทวิเคราะห์ข้อความของบันทึกเดิม model card Lite อ้าง Veo 3 สำหรับสถาปัตยกรรม ข้อมูลฝึก และข้อจำกัดที่ทราบ ส่วนเอกสาร Lite กำหนดคุณสมบัติกับขีดจำกัดของตน
สถาปัตยกรรมที่อ้างใช้ latent diffusion กับตัวแทนเสียงตามเวลาและตัวแทนวิดีโอเชิงพื้นที่และเวลา โมเดลฐานฝึกจากเสียง วิดีโอ และภาพ พร้อมคำบรรยายละเอียดต่างระดับ และข้อมูลที่กรองกับลบซ้ำ อธิบายจุดประสงค์สร้างภาพเสียงร่วม แต่ไม่เปิดจำนวนพารามิเตอร์เฉพาะ Lite หรือพิสูจน์ว่าทุกการเคลื่อนตามโลกกายภาพ สำหรับฉากจริงให้ตัดสินการกระทำกับเสียงคู่กัน
เอกสาร Lite ตรงตัวให้ข้อความอินพุตไม่เกิน 1,024 โทเคน และหนึ่งวิดีโอเอาต์พุต คอลัมน์ Lite ในคู่มือระบุ 4, 6 และ 8 วินาที ค่าเริ่มต้น 720p และ 1080p ต้องคลิป 8 วินาที อัตราส่วนเริ่มต้นแนวนอน 16:9 มีแนวตั้ง 9:16 ด้วย เอาต์พุต 24 เฟรมต่อวินาที เสียงโดยตรงเปิดตลอดในโฟลว์นี้ ค่าเหล่านี้เป็นโฟลว์ Lite ที่ผู้ผลิตระบุ ไม่ใช่ Veo รุ่นอื่นหรือผลตอบสนองแอปที่วัดแยก
Lite ไม่รองรับ 4K หรือการต่อวิดีโอ ตารางพารามิเตอร์ระบุ referenceImages หลายอ้างอิงและวิดีโออินพุตเพื่อการต่อใช้ไม่ได้ในคอลัมน์ Lite ภาพเริ่มกำหนดเฟรมแรกได้ และตารางมี lastFrame ร่วมภาพเริ่มเพื่อช่วงเปลี่ยน แยกเส้นทางคุมเฟรมจากผสมหลายสื่อสไตล์หรือตัวแบบ การตั้งค่าสร้างคนแยกตามโหมด ตาราง Lite ให้ allow_all สำหรับข้อความสู่วิดีโอ และ allow_adult สำหรับภาพสู่วิดีโอกับ interpolation โดยกฎภูมิภาคอาจจำกัดเพิ่ม เลือกภาพเริ่มตรงฉากแรกที่ต้องการ พร้อมตัวแบบ กรอบ และรายละเอียดก่อนขอเคลื่อน
ข้อความสู่วิดีโอให้ตัวแบบ การกระทำ สภาพแวดล้อม และสไตล์ เพิ่มตำแหน่งและการเคลื่อนกล้อง กรอบ โฟกัส และแสงเมื่อสำคัญ เช่น ฉากสินค้าคงวัตถุกลางขณะกล้องเข้าหารายละเอียดวัสดุและแสงรอบเปลี่ยนเบา ระบุสภาพเริ่ม การกระทำหลัก และช่วงท้าย เพื่อคลิปสั้นจบแนวคิดเดียว การรวมการกระทำไม่เกี่ยวกันยาวเป็นอีกงานจากช็อตเฉพาะ
ภาพสู่วิดีโอให้เฟรมเริ่มชัดและบอกสิ่งเคลื่อนกับสิ่งคงที่ แยกการเคลื่อนตัวแบบจากกล้อง หากจำกัดเฟรมจบ ให้เตรียมองค์ประกอบที่เข้ากันแล้วบอกช่วงเชื่อม ตรวจผลแทนถือว่าอัตลักษณ์ ตำแหน่ง หรือรูปทรงเหมือนเดิมตลอด model card ที่อ้างระบุความสม่ำเสมอสมบูรณ์ในฉากและการเคลื่อนซับซ้อนยังเป็นความท้าทาย
คู่มือพรอมป์ต์รองรับสัญญาณตรงสำหรับบทสนทนา เอฟเฟกต์ และบรรยากาศ ใส่ประโยคตรงในเครื่องหมายคำพูด ระบุผู้พูด และผูกเสียงกับการกระทำที่เห็น อย่าสับสนเอฟเฟกต์หรือบรรยากาศกับประโยคพูด เอกสารระบุรองรับพรอมป์ต์อังกฤษเต็ม ส่วนภาษาอื่นยังไม่ประเมินในคู่มือนั้น ตรวจถ้อยคำที่ได้ยิน เวลา และคุณภาพเสียงเป็นส่วนเดียวกับวิดีโอ แทนถือว่าเสียงเป็นสำเนาพรอมป์ต์ถูกต้องที่รับประกัน
โฟลว์เป็นอะซิงโครนัส คำขอคืน operation และเรียกผลหลังสถานะเสร็จ เก็บตัวระบุและตรวจคลิป คู่มือระบุเก็บฝั่งผู้ผลิตสองวันและทำเครื่องหมาย SynthID สิ่งเก็บจึงควรรวมผลดาวน์โหลด พรอมป์ต์ ภาพต้นทาง และค่าที่เลือก seed ช่วยทำซ้ำแต่ไม่รับประกัน determinism ตรวจตัวแบบต่อเนื่อง การกระทำ กรอบ เสียง และจุดจบก่อนใช้ตัดต่อ ประมวลผลเสร็จอย่างเดียวไม่พิสูจน์ว่าโจทย์สร้างสรรค์สำเร็จ
Ailoot Ultra · วิดีโอ POST /v1/videos google/veo-3.1-lite
google/veo-3.1-liteเริ่มต้น
เปลี่ยนคำบรรยายฉากให้เป็นวิดีโอความยาว 4, 6 หรือ 8 วินาทีที่ความละเอียด 720p
- แสดงสินค้าในขณะเคลื่อนไหว
- สร้างฉากเพื่อปูพื้นบริบท
- ทดลองการเคลื่อนกล้องช่วงสั้น ๆ
- อินพุตที่รองรับ
- ข้อความ · รูปภาพ
- ผลลัพธ์
- วิดีโอ
ใช้งานได้ใน Ailoot · อินพุตและเมธอด
Ailoot Ultra · วิดีโอ POST /v1/videos
- ขาเข้า
text,image- ขาออก
video- รูปแบบเอาต์พุต
- mp4
- จำนวนเอาต์พุต
- ไม่เกิน 4 เอาต์พุตs
| ฟิลด์ | ประเภท | ข้อกำหนด | ค่าและข้อจำกัด | ค่าเริ่มต้น |
|---|---|---|---|---|
ฟิลด์model | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด google/veo-3.1-lite | ค่าเริ่มต้น— |
ฟิลด์prompt | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด ความยาวขั้นต่ำ: 1 จำนวนไบต์สูงสุด: 10,000 หน่วย: ไบต์ UTF8 | ค่าเริ่มต้น— |
ฟิลด์duration | ประเภทinteger | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด 4, 6, 8 หน่วย: วินาที | ค่าเริ่มต้น— |
ฟิลด์resolution | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด 720p | ค่าเริ่มต้น— |
ฟิลด์aspect_ratio | ประเภทstring | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด 16:9, 9:16 | ค่าเริ่มต้น— |
ฟิลด์generate_audio | ประเภทboolean | ข้อกำหนดจำเป็น | ค่าและข้อจำกัด false | ค่าเริ่มต้น— |
ฟิลด์frame_images | ประเภทarray | ข้อกำหนดไม่บังคับ | ค่าและข้อจำกัด เงื่อนไข: ไม่ต้องระบุสำหรับ text_to_video หากระบุ ต้องมีเพียงหนึ่งรายการ {"type":"image_url","image_url":{"url":"<actual HTTPS URL>"},"frame_type":"first_frame"} รายการนั้นมีเฉพาะ type,image_url,frame_type และ image_url มีเฉพาะ url ห้ามมีคีย์เพิ่มเติมหรือซ้ำกัน ใช้ได้เฉพาะ duration=4,resolution="720p",aspect_ratio="16:9",generate_audio=false ต้องแยกวิเคราะห์ URL ได้โดยมีสคีม https ชื่อโฮสต์ที่ไม่ว่าง ไม่มี userinfo และไม่มีอักขระ # โดยตรง คงพารามิเตอร์สืบค้นที่มีลายเซ็นและพาธที่เข้ารหัสไว้ แหล่งข้อมูลไม่ได้ตรวจสอบ MIME ขนาดไฟล์ หรือขนาดภาพเป็นพิกเซลของข้อมูลขาเข้า | ค่าเริ่มต้น— |
ชุดผสมของสื่ออินพุต
สร้างวิดีโอจากข้อความ · จำเป็น: prompt
สร้างวิดีโอจากภาพ · จำเป็น: prompt, frame_images
พารามิเตอร์และวงจรการทำงานของเมธอด
| พารามิเตอร์ | ข้อกำหนด |
|---|---|
พารามิเตอร์content_type | ข้อกำหนดapplication/json |
พารามิเตอร์required | ข้อกำหนดmodel, prompt, duration, resolution, aspect_ratio, generate_audio |
พารามิเตอร์other_options | ข้อกำหนดfalse |
พารามิเตอร์resolution | ข้อกำหนด720p |
พารามิเตอร์prompt_max_bytes | ข้อกำหนด10000 |
พารามิเตอร์duration | ข้อกำหนด4, 6, 8 |
พารามิเตอร์aspect_ratio | ข้อกำหนด16:9, 9:16 |
พารามิเตอร์generate_audio | ข้อกำหนดfalse |
พารามิเตอร์material_types | ข้อกำหนดtext, image |
พารามิเตอร์parameters | ข้อกำหนด{"name":"model","type":"string","required":true,"default_known":false,"default":null,"enum_known":true,"enum":["google/veo-3.1-lite"],"availability":"source_interface"}, {"name":"prompt","type":"string","required":true,"default_known":false,"default":null,"enum_known":false,"enum":null,"availability":"source_interface","min_length":1,"maximum_bytes":10000,"maximum_length":null,"unit":"ไบต์ UTF8"}, {"name":"duration","type":"integer","required":true,"default_known":false,"default":null,"enum_known":true,"enum":[4,6,8],"availability":"source_interface","unit":"วินาที"}, {"name":"resolution","type":"string","required":true,"default_known":false,"default":null,"enum_known":true,"enum":["720p"],"availability":"source_interface"}, {"name":"aspect_ratio","type":"string","required":true,"default_known":false,"default":null,"enum_known":true,"enum":["16:9","9:16"],"availability":"source_interface"}, {"name":"generate_audio","type":"boolean","required":true,"default_known":false,"default":null,"enum_known":true,"enum":[false],"availability":"source_interface"}, {"name":"frame_images","type":"array","required":false,"default_known":false,"default":null,"enum_known":false,"enum":null,"availability":"source_interface","conditions":"ไม่ต้องระบุสำหรับ text_to_video หากระบุ ต้องมีเพียงหนึ่งรายการ {\"type\":\"image_url\",\"image_url\":{\"url\":\"<actual HTTPS URL>\"},\"frame_type\":\"first_frame\"} รายการนั้นมีเฉพาะ type,image_url,frame_type และ image_url มีเฉพาะ url ห้ามมีคีย์เพิ่มเติมหรือซ้ำกัน ใช้ได้เฉพาะ duration=4,resolution=\"720p\",aspect_ratio=\"16:9\",generate_audio=false ต้องแยกวิเคราะห์ URL ได้โดยมีสคีม https ชื่อโฮสต์ที่ไม่ว่าง ไม่มี userinfo และไม่มีอักขระ # โดยตรง คงพารามิเตอร์สืบค้นที่มีลายเซ็นและพาธที่เข้ารหัสไว้ แหล่งข้อมูลไม่ได้ตรวจสอบ MIME ขนาดไฟล์ หรือขนาดภาพเป็นพิกเซลของข้อมูลขาเข้า"} |
ชื่ออื่นของเมธอด: /v1/videos/generations, /videos, /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 ที่ส่งกลับ
ตรวจสอบสถานะเดิมเป็นระยะ เก็บแอสเซ็ตที่เสร็จสมบูรณ์ทุกชิ้นและระยะเวลา
ราคา
วิธีคำนวณค่าบริการสุดท้าย
อัตราที่แสดงใช้ประมาณการค่าใช้จ่ายก่อนการสร้างผลลัพธ์ ยอดเรียกเก็บสุดท้ายคำนวณจากค่าใช้จ่ายที่บันทึกไว้สำหรับการสร้างผลลัพธ์ครั้งเดิม ระยะเวลาของผลลัพธ์ที่วัดได้และปริมาณที่คาดการณ์ไว้ไม่ใช่ปริมาณสุดท้ายที่ใช้คิดค่าบริการ
ข้อมูลอัตราราคาไม่ได้เพิ่มตัวเลือกคำขอ พารามิเตอร์ที่รองรับระบุไว้สำหรับเมธอดที่เลือก
- โหมดรวดเร็ว
- ไม่ได้ระบุ เมื่อเลือกโหมดรวดเร็ว
- โหมดยืดหยุ่น
- ไม่ได้ระบุ เมื่อเลือกโหมด flex
- ระดับการใช้เหตุผลสูงสุด
- ไม่ได้ระบุ เมื่อใช้การปรับตามค่าเริ่มต้น (default) สำหรับระดับการใช้เหตุผลสูงสุด
อัตราประมาณการเพื่อเปรียบเทียบ
ราคาตามการตั้งค่า
เทียบค่าบริการแต่ละรายการกับเงื่อนไขที่แสดง เลือกใช้อัตราเดียวสำหรับแต่ละชุดการตั้งค่าที่เป็นตัวเลือกทดแทนกัน
| การตั้งค่า | ตารางอัตราค่าบริการ | ปริมาณคาดการณ์ | สร้างเสียง | ความละเอียด | หน่วยคิดค่าบริการ | เงื่อนไขคิดค่าบริการ | ค่าบริการ |
|---|---|---|---|---|---|---|---|
| การตั้งค่าอัตราค่าบริการโทเคนพื้นฐาน | ตารางอัตราค่าบริการอัตราพื้นฐาน | ปริมาณคาดการณ์— | สร้างเสียง— | ความละเอียด— | หน่วยคิดค่าบริการ— | เงื่อนไขคิดค่าบริการ— | ค่าบริการ ขาเข้า · โทเค็นอินพุต · ประมาณการเพื่อเปรียบเทียบเท่านั้น — / 1K โทเค็น ขาออก · โทเค็นเอาต์พุต · ประมาณการเพื่อเปรียบเทียบเท่านั้น — / 1K โทเค็น ขาเข้า · การอ่านแคช · ประมาณการเพื่อเปรียบเทียบเท่านั้น — / 1K โทเค็น ขาเข้า · การเขียนแคช · ประมาณการเพื่อเปรียบเทียบเท่านั้น — / 1K โทเค็น ขาเข้า · การเขียนแคช, 1 ชั่วโมง · ประมาณการเพื่อเปรียบเทียบเท่านั้น — / 1K โทเค็น |
| การตั้งค่าราคาวิดีโอ | ตารางอัตราค่าบริการ— | ปริมาณคาดการณ์— | สร้างเสียง— | ความละเอียด— | หน่วยคิดค่าบริการต่อวินาทีของวิดีโอ | เงื่อนไขคิดค่าบริการเสียง: with_audio | ค่าบริการ ขาออก · ราคาวิดีโอ · ประมาณการเพื่อเปรียบเทียบเท่านั้น $0.16 ต่อวินาทีของวิดีโอ |
| การตั้งค่าราคาวิดีโอ | ตารางอัตราค่าบริการ— | ปริมาณคาดการณ์— | สร้างเสียง— | ความละเอียด— | หน่วยคิดค่าบริการต่อวินาทีของวิดีโอ | เงื่อนไขคิดค่าบริการเสียง: with_audio; ความละเอียด: 720p | ค่าบริการ ขาออก · ราคาวิดีโอ · ประมาณการเพื่อเปรียบเทียบเท่านั้น $0.1 ต่อวินาทีของวิดีโอ |
| การตั้งค่าราคาวิดีโอ | ตารางอัตราค่าบริการ— | ปริมาณคาดการณ์— | สร้างเสียง— | ความละเอียด— | หน่วยคิดค่าบริการต่อวินาทีของวิดีโอ | เงื่อนไขคิดค่าบริการเสียง: without_audio | ค่าบริการ ขาออก · ราคาวิดีโอ · ประมาณการเพื่อเปรียบเทียบเท่านั้น $0.1 ต่อวินาทีของวิดีโอ |
| การตั้งค่าUltra | ตารางอัตราค่าบริการ— | ปริมาณคาดการณ์การตั้งค่าที่ร้องขอ; เป็นเพียงค่าประมาณ | สร้างเสียงไม่มีเสียง | ความละเอียด720p | หน่วยคิดค่าบริการต่อวินาทีของวิดีโอเอาต์พุต | เงื่อนไขคิดค่าบริการ— | ค่าบริการ ขาออก · วินาทีของวิดีโอขาออกโดยประมาณ · ประมาณการเพื่อเปรียบเทียบเท่านั้น $0.06 ต่อวินาทีของวิดีโอเอาต์พุต อัตราที่แสดงใช้ประมาณต้นทุนก่อนสร้าง ยอดเรียกเก็บสุดท้ายคำนวณจากต้นทุนที่บันทึกไว้สำหรับการสร้างเดิม ระยะเวลาจริงของวิดีโอไม่ใช่ปริมาณที่ใช้คิดค่าบริการ |
| การตั้งค่าต้นทุนการสร้างโดยประมาณ | ตารางอัตราค่าบริการ— | ปริมาณคาดการณ์ค่าประมาณสำหรับการสร้างหนึ่งครั้ง | สร้างเสียง— | ความละเอียด— | หน่วยคิดค่าบริการ— | เงื่อนไขคิดค่าบริการ— | ค่าบริการ ขาออก · ค่าใช้จ่ายในการสร้างโดยประมาณ · ประมาณการเพื่อเปรียบเทียบเท่านั้น $0.24 ประมาณการก่อนสร้าง ค่าประมาณนี้ไม่ใช่ค่าใช้จ่ายเพิ่มเติมหรืออัตราคงที่สำหรับการสร้างผลลัพธ์ที่เสร็จสมบูรณ์แล้ว |
Ailoot กันยอดเงินประมาณการไว้ก่อนส่งคำขอ หลังได้ผลลัพธ์ จะคิดค่าบริการสุดท้ายตามการใช้งานที่วัดได้ การคิดค่าบริการแบบสตรีมใช้บันทึกการใช้งานสุดท้าย วิธีกันยอดเงินและคิดค่าบริการสุดท้าย →
รายละเอียดอัตราอ้างอิง
ตารางอัตราอ้างอิงระดับโมเดลไม่เปลี่ยนเมธอดที่เลือก ยอดประมาณการ หรือค่าบริการ การคิดค่าบริการจริงใช้อัตราของเมธอด Ailoot ที่เลือก
ข้อมูลอ้างอิงราคาตามการตั้งค่าวิดีโอ
ราคาตามการตั้งค่า
เทียบค่าบริการแต่ละรายการกับเงื่อนไขที่แสดง เลือกใช้อัตราเดียวสำหรับแต่ละชุดการตั้งค่าที่เป็นตัวเลือกทดแทนกัน
| การตั้งค่า | เงื่อนไขคิดค่าบริการ | ค่าบริการ |
|---|---|---|
| การตั้งค่าราคาวิดีโอ | เงื่อนไขคิดค่าบริการเสียง: with_audio | ค่าบริการ ขาออก · ราคาวิดีโอ $0.16 ต่อวินาทีของวิดีโอ ราคาอ้างอิงที่ประกาศสำหรับการตั้งค่าที่แสดง ยอดเรียกเก็บสุดท้ายเป็นไปตามการตั้งค่าที่ใช้คิดค่าบริการจริง |
| การตั้งค่าราคาวิดีโอ | เงื่อนไขคิดค่าบริการเสียง: without_audio | ค่าบริการ ขาออก · ราคาวิดีโอ $0.1 ต่อวินาทีของวิดีโอ ราคาอ้างอิงที่ประกาศสำหรับการตั้งค่าที่แสดง ยอดเรียกเก็บสุดท้ายเป็นไปตามการตั้งค่าที่ใช้คิดค่าบริการจริง |
| การตั้งค่าราคาวิดีโอ | เงื่อนไขคิดค่าบริการเสียง: with_audio; ความละเอียด: 720p | ค่าบริการ ขาออก · ราคาวิดีโอ $0.1 ต่อวินาทีของวิดีโอ ราคาอ้างอิงที่ประกาศสำหรับการตั้งค่าที่แสดง ยอดเรียกเก็บสุดท้ายเป็นไปตามการตั้งค่าที่ใช้คิดค่าบริการจริง |
| การตั้งค่าราคาวิดีโอ | เงื่อนไขคิดค่าบริการเสียง: without_audio; ความละเอียด: 720p | ค่าบริการ ขาออก · ราคาวิดีโอ $0.06 ต่อวินาทีของวิดีโอ ราคาอ้างอิงที่ประกาศสำหรับการตั้งค่าที่แสดง ยอดเรียกเก็บสุดท้ายเป็นไปตามการตั้งค่าที่ใช้คิดค่าบริการจริง |
ตัวอย่างคำขอ
Ailoot Ultra · วิดีโอ
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "google/veo-3.1-lite", "prompt": "A cat in a spacesuit walking on the Moon", "duration": 4, "resolution": "720p", "aspect_ratio": "16:9", "generate_audio": false}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
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
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_IMAGE_URL:?Set the actual HTTPS URL of your first-frame image}"
export AILOOT_IMAGE_URL
python3 - <<'PY_REQUEST'
import json,os,re
from pathlib import Path
from urllib.parse import urlsplit
image=os.environ["AILOOT_IMAGE_URL"]
try:
parsed=urlsplit(image)
valid=(image.startswith("https://") and parsed.scheme=="https" and bool(parsed.hostname)
and parsed.username is None and parsed.password is None and "#" not in image
and not any(ord(c)<32 or ord(c)==127 for c in image)
and re.search(r"%(?![0-9A-Fa-f]{2})",image) is None)
except ValueError:
valid=False
if not valid:
raise SystemExit("Use your actual HTTPS image URL with a hostname, no userinfo and no fragment")
p={"model":"google/veo-3.1-lite","prompt":"The subject makes a slow, natural movement. Keep the opening composition.","duration":4,"resolution":"720p","aspect_ratio":"16:9","generate_audio":False,"frame_images":[{"type":"image_url","image_url":{"url":image},"frame_type":"first_frame"}]}
Path("request.json").write_text(json.dumps(p,ensure_ascii=False),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, headers and original returned id. Use the existing GET status tab for that original operation, then save every completed owned output. Never resubmit an unknown generation.")
PY_RESULT
รับและบันทึกผลลัพธ์
Ailoot Ultra · วิดีโอ
mp4
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_id}/content
ตรวจสอบสถานะงาน
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/$operation_id" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o status.json
python3 - <<'PY_STATUS'
import json
from pathlib import Path
r=json.loads(Path("status.json").read_text())
print(json.dumps(r))
if r.get("status")=="completed":
for x in r.get("data",[]):print(x)
PY_STATUS
บันทึกไฟล์ที่สร้างเสร็จทั้งหมด
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}"
export AILOOT_STATUS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
from urllib.parse import urlsplit,urljoin
f=Path(os.environ["AILOOT_STATUS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual completed status file")
r=json.loads(f.read_text())
if r.get("status")!="completed" or not isinstance(r.get("data"),list) or not r["data"]:raise SystemExit("Wait for a completed status with asset paths")
urls=[]
for x in r["data"]:
if not isinstance(x,str) or "\n" in x or "\r" in x:raise SystemExit("Invalid asset path")
u=urljoin("https://api.ailoot.ai",x)
z=urlsplit(u)
if z.scheme!="https" or z.netloc!="api.ailoot.ai" or z.username or z.password:raise SystemExit("Use the actual Ailoot asset paths from status")
urls.append(u)
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_REQUEST
index=0
while IFS= read -r asset_url; do
curl --fail-with-body --silent --show-error "$asset_url" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o "video-${index}.mp4"
index=$((index + 1))
done < asset-urls.txt
การอ่านเนื้อหาแบบอื่น
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/$operation_id/content" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o video.mp4
เก็บผลลัพธ์ที่เสร็จสมบูรณ์ทั้งหมด
บันทึกวิดีโอที่สร้างเสร็จหรือไฟล์ที่ส่งกลับมาทุกไฟล์ และดึงไฟล์สื่อจากทุก URL ที่ส่งกลับมาจริง
data[] ที่เสร็จสมบูรณ์มี URL เนื้อหาที่ลงลายเซ็นและเป็นของคุณทั้งหมด เรียก URL แต่ละรายการที่ส่งกลับ หรือใช้เอนด์พอยต์เนื้อหาโดยกำหนด index เป็นดัชนีผลลัพธ์จริง งานเดิมที่ล้มเหลวอาจส่งกลับ charge_pending_check ให้ตรวจสอบงานเดิมนั้นแทนการสร้างซ้ำ แทร็กเสียง AAC ที่ถูกต้องอาจมีอยู่แม้ generate_audio=false ให้เก็บ MP4 ต้นฉบับทั้งหมดรวมถึงเสียงนั้น
เมื่อต้องตรวจสอบการตอบกลับต้นฉบับ
อ่านงานเดิมที่มีอยู่ ห้ามส่งซ้ำเมื่อไม่ทราบผลการส่ง
จำนวนเอาต์พุตสูงสุด: 4.
ฟิลด์การตอบกลับ
| ฟิลด์ | ประเภท | ความหมาย |
|---|---|---|
ฟิลด์id | ประเภทstring | ความหมาย— |
ฟิลด์object | ประเภทstring | ความหมาย— |
ฟิลด์model | ประเภทstring | ความหมาย— |
ฟิลด์status | ประเภทstring | ความหมาย— |
ฟิลด์data[] | ประเภทsigned content URL | ความหมาย— |
ฟิลด์charge_pending_check | ประเภทboolean | ความหมาย— |
ฟิลด์error.code | ประเภทstring | ความหมาย— |
ฟิลด์error.message | ประเภทstring | ความหมาย— |
ฟิลด์operation_id | ประเภทstring | ความหมายการตอบกลับสถานะ/เนื้อหาเดิม HTTP503 result_pending_check: ใช้ ID วิดีโอสาธารณะเดิมเดียวกันเป็น id |
ฟิลด์error.type | ประเภทstring | ความหมายserver_error เมื่อเกิด HTTP503 result_pending_check |
ข้อผิดพลาดและขั้นตอนถัดไป
| การตอบกลับ | เงื่อนไข | ขั้นตอนถัดไป |
|---|---|---|
การตอบกลับ400 · invalid_request_error | เงื่อนไขฟิลด์จำเป็น รูปแบบการแทนข้อมูล หรือค่าพารามิเตอร์ไม่ถูกต้อง | ขั้นตอนถัดไปแก้ฟิลด์ที่ระบุก่อนส่งคำขอสร้างครั้งใหม่ |
การตอบกลับ409 · video_not_ready | เงื่อนไขเนื้อหาผลลัพธ์เดิมยังไม่พร้อมใช้งาน | ขั้นตอนถัดไปตรวจสอบ ID เดิมที่ส่งกลับเป็นระยะ และปฏิบัติตาม Retry-After |
การตอบกลับserver_error | เงื่อนไขการตอบกลับที่ได้รับระบุว่าต้องตรวจสอบการดำเนินการหรือผลลัพธ์ | ขั้นตอนถัดไปเก็บ ID การดำเนินการ/งานที่ส่งกลับมาแต่เดิม ส่วนหัวของคำขอ และการตอบกลับไว้ แล้วอ่านข้อมูลการดำเนินการเดิมนั้นต่อด้วยวิธีที่รองรับ ห้ามส่งคำขอสร้างซ้ำ |
การตอบกลับ503 · result_pending_check | เงื่อนไขGET สถานะ/เนื้อหาเดิม: งานยังไม่เผยแพร่ งานเดิมไม่อยู่ในสถานะ failed/cancelled/expired และสถานะภายในเป็น unknown หรือสถานะงานเดิมเป็น completed | ขั้นตอนถัดไปเก็บ id และ operation_id เดิม (ID วิดีโอสาธารณะเดียวกัน) การตอบกลับ และส่วนหัว อ่านเฉพาะสถานะ/เนื้อหาเดิม ห้ามส่งคำขอสร้างใหม่ |
การตอบกลับ422 · price_unavailable | เงื่อนไขแยกวิเคราะห์ออบเจ็กต์ frame_images ที่ให้มาหรือโปรไฟล์ตามเงื่อนไขไม่สำเร็จ หรือโปรไฟล์ที่แยกวิเคราะห์ครบแล้วไม่มีรายการราคาที่ตรงกันและพร้อมใช้งาน | ขั้นตอนถัดไปเก็บ model, prompt, duration, resolution, aspect_ratio และ generate_audio เพิ่ม frame_images ที่มีรายการ first_frame เพียงหนึ่งรายการในรูปแบบออบเจ็กต์ที่กำหนด ตั้ง duration=4, resolution="720p", aspect_ratio="16:9" และ generate_audio=false การตรวจสอบนี้ทำก่อนส่งคำขอ |
ชื่ออื่น
ชื่ออื่นของโมเดล
Ailoot Ultra google/veo-3.1-lite
ชื่อพาธเมธอดอื่น
/v1/videos/generations, /videos, /videos/generations
ID ที่เกี่ยวข้องสำหรับเรียกใช้โมเดล
FAQ · Google: Veo 3.1 Lite
- มีอินพุตและผลลัพธ์ใดบ้าง?
POST /v1/videos·google/veo-3.1-lite:text,image→video- คำขอใช้ฟิลด์ใดบ้าง?
POST /v1/videos·google/veo-3.1-lite:model,prompt,duration,resolution,aspect_ratio,generate_audio,frame_images