Source: https://ailoot.ai/models/th/google-veo-3-1-lite/
Canonical: https://ailoot.ai/models/th/google-veo-3-1-lite/
Language: th

# Google: Veo 3.1 Lite

[Markdown](https://ailoot.ai/models/th/google-veo-3-1-lite/index.md) · [JSON](https://ailoot.ai/models/th/google-veo-3-1-lite/facts.json)

## [Google: Veo 3.1 Lite](https://ailoot.ai/models/th/google-veo-3-1-lite/)

Veo 3.1 Lite สร้างวิดีโอพร้อมเสียงโดยตรงจากคำบรรยายหรือภาพเริ่ม โฟลว์ Lite ที่ระบุให้หนึ่งคลิป ยาว 4, 6 หรือ 8 วินาที กรอบแนวนอนหรือแนวตั้ง และขีดจำกัดเฉพาะที่ต่างจาก Veo 3.1 กับ Fast

- [**Ailoot Ultra · วิดีโอ** `POST /v1/videos` `google/veo-3.1-lite`](https://ailoot.ai/models/th/google-veo-3-1-lite/#method-0)

เกี่ยวกับโมเดล

คำอธิบายนี้ครอบคลุมความสามารถของโมเดล อินพุต เอาต์พุต และตัวเลือกที่ใช้ได้ใน 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`](https://ailoot.ai/models/th/#m=google%2Fveo-3.1-lite&route=Ultra&caller=google%2Fveo-3.1-lite&fmt=videos)

Google /`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 กันยอดเงินประมาณการไว้ก่อนส่งคำขอ หลังได้ผลลัพธ์ จะคิดค่าบริการสุดท้ายตามการใช้งานที่วัดได้ การคิดค่าบริการแบบสตรีมใช้บันทึกการใช้งานสุดท้าย [วิธีกันยอดเงินและคิดค่าบริการสุดท้าย →](https://ailoot.ai/docs/th/billing/reserve/)

#### รายละเอียดอัตราอ้างอิง

ตารางอัตราอ้างอิงระดับโมเดลไม่เปลี่ยนเมธอดที่เลือก ยอดประมาณการ หรือค่าบริการ การคิดค่าบริการจริงใช้อัตราของเมธอด Ailoot ที่เลือก

ข้อมูลอ้างอิงราคาตามการตั้งค่าวิดีโอ

#### ราคาตามการตั้งค่า

เทียบค่าบริการแต่ละรายการกับเงื่อนไขที่แสดง เลือกใช้อัตราเดียวสำหรับแต่ละชุดการตั้งค่าที่เป็นตัวเลือกทดแทนกัน

| การตั้งค่า | เงื่อนไขคิดค่าบริการ | ค่าบริการ |
| --- | --- | --- |
| การตั้งค่าราคาวิดีโอ | เงื่อนไขคิดค่าบริการเสียง: with\_audio | ค่าบริการ ขาออก · ราคาวิดีโอ **$0.16** ต่อวินาทีของวิดีโอ ราคาอ้างอิงที่ประกาศสำหรับการตั้งค่าที่แสดง ยอดเรียกเก็บสุดท้ายเป็นไปตามการตั้งค่าที่ใช้คิดค่าบริการจริง |
| การตั้งค่าราคาวิดีโอ | เงื่อนไขคิดค่าบริการเสียง: without\_audio | ค่าบริการ ขาออก · ราคาวิดีโอ **$0.1** ต่อวินาทีของวิดีโอ ราคาอ้างอิงที่ประกาศสำหรับการตั้งค่าที่แสดง ยอดเรียกเก็บสุดท้ายเป็นไปตามการตั้งค่าที่ใช้คิดค่าบริการจริง |
| การตั้งค่าราคาวิดีโอ | เงื่อนไขคิดค่าบริการเสียง: with\_audio; ความละเอียด: 720p | ค่าบริการ ขาออก · ราคาวิดีโอ **$0.1** ต่อวินาทีของวิดีโอ ราคาอ้างอิงที่ประกาศสำหรับการตั้งค่าที่แสดง ยอดเรียกเก็บสุดท้ายเป็นไปตามการตั้งค่าที่ใช้คิดค่าบริการจริง |
| การตั้งค่าราคาวิดีโอ | เงื่อนไขคิดค่าบริการเสียง: without\_audio; ความละเอียด: 720p | ค่าบริการ ขาออก · ราคาวิดีโอ **$0.06** ต่อวินาทีของวิดีโอ ราคาอ้างอิงที่ประกาศสำหรับการตั้งค่าที่แสดง ยอดเรียกเก็บสุดท้ายเป็นไปตามการตั้งค่าที่ใช้คิดค่าบริการจริง |

### ตัวอย่างคำขอ

#### Ailoot Ultra · วิดีโอ

curlcurl · ทำให้เฟรมแรกของคุณเคลื่อนไหว

```bash
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
```

```bash
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}/content`
- `GET /v1/videos/generations/{request_id}/content`

##### ตรวจสอบสถานะงาน

GET · ดูสถานะ

```bash
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
```

##### บันทึกไฟล์ที่สร้างเสร็จทั้งหมด

GET · ดึงไฟล์สื่อที่เสร็จสมบูรณ์ทั้งหมด

```bash
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
```

การอ่านเนื้อหาแบบอื่น

GET · ดึงเนื้อหา

```bash
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`](https://ailoot.ai/models/th/#m=google%2Fveo-3.1-lite&route=Ultra&caller=google%2Fveo-3.1-lite&fmt=videos)

#### ชื่อพาธเมธอดอื่น

`/v1/videos/generations`, `/videos`, `/videos/generations`

#### ID ที่เกี่ยวข้องสำหรับเรียกใช้โมเดล

[`google/veo-3.1-lite`](https://ailoot.ai/models/th/#m=google%2Fveo-3.1-lite&route=Ultra&caller=google%2Fveo-3.1-lite&fmt=videos)

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`

เชื่อม Ailoot กับ Claude Code, OpenCode, Hermes หรือแอปของคุณ

## บริษัทและพอร์ตโฟลิโอโครงการของบริษัท

บริษัทและพอร์ตโฟลิโอโครงการของบริษัท: ลูกค้าหลายล้านราย; ยอดขายระดับหลายพันล้านต่อเดือน.

## ซื้อโทเคนพร้อมส่วนลด

ส่วนลดสมาชิกสำหรับงานประจำ โค้ดโปรโมชั่นลดซื้อโทเคนสูงสุด 50%

สมาชิก

เลือกแพ็กเกจมีส่วนลดสำหรับคำขอประจำ

โค้ดลดสูงสุด 50%

ใส่โค้ดขณะซื้อ ราคาคำนวณใหม่ตามโปรโมชั่นที่ใช้

รายจ่ายในประวัติ

เก็บโมเดล โทเคน และยอดสำหรับทุกคำขอ

[เลือกสมาชิก](https://ailoot.ai/docs/th/billing/subscriptions/) · [ดูราคาโมเดล](https://ailoot.ai/models/th/)

## เชื่อม API กับผลิตภัณฑ์ ที่คุณขาย

SaaS แอป และบอต ตามข้อเสนอและสัญญาอนุญาต Ailoot หากขายต่อให้ขอใบอนุญาตรีเซลเลอร์

แอปเชิงพาณิชย์

ใส่การสร้างข้อความ ภาพ วิดีโอ และเสียงในฟีเจอร์เสียเงินของบริการคุณ

ใบอนุญาตรีเซลเลอร์

ส่งคำอธิบายโครงการและรูปแบบการเข้าถึง ขอเงื่อนไขใช้และขายต่อเป็นลายลักษณ์อักษร

เอกสารบนเว็บไซต์

อ่านข้อเสนอ สัญญาอนุญาต และนโยบายประมวลผลข้อมูลก่อนเชื่อมได้

[ขอใบอนุญาตขายต่อ](mailto:support@ailoot.ai) · [ข้อเสนอและสัญญาอนุญาต](https://ailoot.ai/legal/offer?lang=th)

## Ailoot · บริษัทและพอร์ตโฟลิโอโครงการของบริษัท





Ailoot อาศัยประสบการณ์การดำเนินงานที่สั่งสม ฐานลูกค้าขนาดใหญ่ บริการที่เสถียร และการติดตาม KPI อย่างต่อเนื่อง





บริษัทและพอร์ตโฟลิโอโครงการของบริษัท: ลูกค้าหลายล้านราย; ยอดขายระดับหลายพันล้านต่อเดือน.





Ailoot นำประสบการณ์การดำเนินงานนี้มาใช้เพื่อให้เข้าถึงฟังก์ชัน AI ผ่าน API ในผลิตภัณฑ์ของลูกค้า เอเจนต์ แอปพลิเคชัน และระบบอัตโนมัติ
