Source: https://ailoot.ai/docs/th/api/video-music/
Canonical: https://ailoot.ai/docs/th/api/video-music/
Language: th

[API](https://ailoot.ai/docs/th/) 

# วิดีโอและเพลง

[Markdown](https://ailoot.ai/docs/th/api/video-music/index.md)

การสร้างวิดีโอและเพลง: คำขอจะสร้างงาน และใช้รหัสของงานนั้นเพื่อรับผลลัพธ์

POST`https://api.ailoot.ai/v1/videos`

วิดีโอและเพลง

```bash
# เก็บ Request ID ไว้: ฝ่ายสนับสนุนใช้หมายเลขนี้ค้นหาคำขอของคุณ
# สร้างงานเพียงครั้งเดียว ลูปด้านล่างอ่านเฉพาะสถานะของงาน
curl --fail-with-body --max-time 120 -D video-create-headers-v1.txt \
  https://api.ailoot.ai/v1/videos \
  -H "Authorization: Bearer $AILOOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"grok-imagine-video-1.5","prompt":"ทะเลสาบที่สงบนิ่ง","seconds":"8","size":"1280x720"}' \
  -o video-create-v1.json || exit 1
VIDEO_ID=$(jq -er '.id // .request_id' video-create-v1.json) || exit 1
VIDEO_STATUS=""
# ลูปนี้อ่านเฉพาะงานเดิม โดยจะไม่ส่งคำขอสร้างงานซ้ำ
for ATTEMPT in $(seq 1 60); do
  curl --fail-with-body --max-time 30 \
    "https://api.ailoot.ai/v1/videos/$VIDEO_ID" \
    -H "Authorization: Bearer $AILOOT_API_KEY" \
    -o video-status-v1.json || exit 1
  VIDEO_STATUS=$(jq -r '.status // empty' video-status-v1.json)
  # result_pending_check: true (สถานะยังเป็น in_progress): กำลังตรวจสอบผลลัพธ์ ให้หยุดและอย่าสร้างงานใหม่เด็ดขาด
  if jq -e '.result_pending_check == true' video-status-v1.json >/dev/null; then
    cat video-status-v1.json
    echo "The result is being checked. Do not create the job again: check GET /v1/videos/$VIDEO_ID later or contact support with the Request ID." >&2
    exit 1
  fi
  case "$VIDEO_STATUS" in
    done|completed) break ;;
    queued|in_progress|pending|processing) sleep 5 ;;
    # หากสถานะเป็น failed หรือสถานะอื่น ให้แสดงสถานะแล้วหยุด อย่าสร้างงานใหม่เด็ดขาด
    *) cat video-status-v1.json; exit 1 ;;
  esac
done
case "$VIDEO_STATUS" in
  done|completed) ;;
  *) echo "The job is not finished yet (status: ${VIDEO_STATUS:-none}). Check it later: GET /v1/videos/$VIDEO_ID" >&2; exit 1 ;;
esac
curl --fail-with-body --max-time 120 -L --max-redirs 3 \
  "https://api.ailoot.ai/v1/videos/$VIDEO_ID/content" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o video-v1.mp4
# หากหมดเวลารอหลังส่งคำขอสร้างงาน ให้ตรวจสอบ Request ID ในประวัติการใช้งานก่อนเรียกใช้สคริปต์นี้อีกครั้ง
```

```bash
curl https://api.ailoot.ai/v1/music/generations \
  -H "Authorization: Bearer $AILOOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "google/lyria", "prompt": "เสียงเปียโนและเชลโลที่สงบผ่อนคลาย ไม่มีเสียงร้อง"}' 
```

คำตอบ · ฉบับย่อ

```json
// รหัสงานอยู่ในฟิลด์ id หรือ request_id
{ "id": "…", … }

// รูปแบบขึ้นอยู่กับโมเดล: ใช้รหัส
// จากคำตอบของคำขอสร้างงานตามที่ได้รับมาโดยไม่แก้ไข
```

## การยืนยันสิทธิ์

| พารามิเตอร์ | ชนิด | จำเป็น | คำอธิบาย |
| --- | --- | --- | --- |
| `Authorization` | header | จำเป็น | คีย์ในรูปแบบ `Bearer sk-…`. ใช้เฮดเดอร์ต่อไปนี้ได้เช่นกัน `x-api-key` หรือ `x-goog-api-key`. |

## วิดีโอ: เนื้อหาคำขอ

| พารามิเตอร์ | ชนิด | จำเป็น | คำอธิบาย |
| --- | --- | --- | --- |
| `model` | string | จำเป็น | โมเดลวิดีโอ: `google/omni-1.1-flash`, `grok-imagine-video`, `happyhorse-1.1-t2v`, `MiniMax-Hailuo-2.3`, `grok-imagine-video-1.5`, `happyhorse-1.1-r2v`, `grok-imagine-video-1.5-preview`, `happyhorse-1.1-i2v`. |
| `prompt` | string | จำเป็น | คำอธิบายวิดีโอ |
| `duration / seconds` | integer / string | ไม่จำเป็น | ขึ้นอยู่กับตระกูลโมเดล: Grok 1–15 วินาที, MiniMax 6/10 ที่ 768P หรือ 6 ที่ 1080P, HappyHorse 3–15; Google Omni 4/6/8/10 อย่านำฟิลด์ของตระกูลหนึ่งไปใช้กับอีกตระกูล |
| `resolution / size` | string | ไม่จำเป็น | Grok: 480p/720p/1080p (1080p สำหรับ video-1.5) หรือ size 1280x720/720x1280/1920x1080/1080x1920 MiniMax: 768P/1080P HappyHorse: 480P/720P/1080P Google Omni: 360p/720p |
| `image / first_frame_image / image_urls` | string / array | ไม่จำเป็น | ฟิลด์รูปภาพต้นทางขึ้นอยู่กับตระกูลโมเดลและโหมด MiniMax Fast ต้องใช้ first\_frame\_image ส่วน HappyHorse t2v ไม่ใช้ images, i2v ใช้รูปภาพเพียงหนึ่งรูปโดยไม่มี ratio และ r2v ใช้ 1–9 รูป |

คำตอบมีรหัสงาน (ฟิลด์ `id` หรือ `request_id`) ใช้รหัสนี้ตามที่ได้รับโดยไม่ต้องแยกวิเคราะห์ เพราะรูปแบบขึ้นอยู่กับโมเดล การตรวจ⁠สอบสถานะและรับไฟล์ที่เสร็จแล้ว:

GET`https://api.ailoot.ai/v1/videos/{id}`

GET`https://api.ailoot.ai/v1/videos/{id}/content`

ที่อยู่เดียวกันนี้ใช้ได้กับคำนำหน้า `/v1/videos/generations/{id}`. สถานะของงานที่เสร็จแล้วและชุดฟิลด์ในคำตอบขึ้นอยู่กับโมเดล ให้ดูฟิลด์สถานะและรับไฟล์ผ่าน `/content`.

## สร้าง → ตรวจ⁠สอบสถานะ → ดาวน์โหลด

บันทึกคำตอบจากการสร้างงานและ Request ID สำหรับ MiniMax/HappyHorse สถานะพร้อมใช้งานคือ `status: completed`โดยคำตอบมี `content_url`, `data[]` และ usage ส่วน Grok คือ `status: done` พร้อม `video.url`. Google Omni ส่งกลับ 202 queued จากนั้นเป็น in\_progress พร้อม Retry-After และจบด้วย completed หรือ partial/content\_revoked อย่าถือว่าทุกคำตอบ 200 หมายถึงวิดีโอพร้อมแล้ว หากคำตอบสถานะมี `result_pending_check: true` (`status` ในขณะที่ `in_progress`) แสดงว่ากำลังตรวจ⁠สอบผลลัพธ์ อย่าสร้างงานใหม่ ให้ตรวจ⁠สอบภายหลังผ่าน GET /v1/videos/{id} หรือติดต่อฝ่ายสนับสนุนพร้อม Request ID

`/content` อาจส่งกลับ MP4 โดยตรง หรือ redirect ไปยังไฟล์ที่มีลายเซ็น หากคำตอบมีหลายผลลัพธ์ใน `data[]`ให้บันทึกทุกผลลัพธ์: คิดค่าบริการสำหรับทุกผลลัพธ์ที่ส่งมอบ ไม่สามารถยกเลิกหรือลบงานวิดีโอผ่าน API ได้ การลบไฟล์ที่เสร็จแล้วจะปิดการเข้าถึงไฟล์ แต่ไม่ยกเลิกการสร้าง

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

## เพลง

POST`https://api.ailoot.ai/v1/music/generations`

| พารามิเตอร์ | ชนิด | จำเป็น | คำอธิบาย |
| --- | --- | --- | --- |
| `model` | string | จำเป็น | `google/lyria`, `google/lyria-3-clip-preview`. |
| `prompt` | string | จำเป็น | คำอธิบายเพลง: แนวเพลง เครื่องดนตรี และอารมณ์ |

ในคำตอบ `data[]` — คือลิงก์ไปยังคลิปที่เสร็จแล้ว โมเดลอาจส่งกลับหลายคลิปในคำขอเดียว โดยคิดค่าบริการสำหรับทุกคลิปที่ส่งมอบ

อย่าส่งคำขอสร้างวิดีโอหรือเพลงซ้ำหากการเชื่อมต่อขาดหาย เพราะงานอาจเริ่มแล้ว ให้ตรวจ⁠สอบสถานะด้วยรหัสงานก่อน หรือติดต่อฝ่ายสนับสนุนพร้อม Request ID

ยังมีคำถามอยู่ใช่ไหม ส่ง Request ID และรายละเอียดมาให้เรา เราจะช่วยตรวจ⁠สอบ[ติดต่อฝ่ายสนับสนุน](mailto:support@ailoot.ai)

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





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





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





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