Tạo video
Tạo video mang tính bất đồng bộ: gửi tác vụ để nhận một task ID, truy vấn trạng thái, rồi tải kết quả về. Gateway hỗ trợ hai định dạng:
| Định dạng | Gửi | Truy vấn | Ghi chú |
|---|---|---|---|
| Định dạng OpenAI Sora | POST /v1/videos | GET /v1/videos/{video_id} | Dạng API Sora tiêu chuẩn |
| Định dạng tác vụ chung | POST /v1/video/generations | GET /v1/video/generations/{task_id} | Tác vụ video chung của NewAPI |
Định dạng Sora
Gửi tác vụ
POST /v1/videoscurl https://test.kailin.com.cn/v1/videos \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-your-token" \
-d '{
"model": "sora-2",
"prompt": "An orange cat rolling in the snow, slow motion",
"seconds": "10",
"size": "1280x720"
}'
| Tham số | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
model | string | Có | Mô hình video, ví dụ sora-2, sora-2-pro |
prompt | string | Có | Mô tả cảnh |
seconds | string | Không | Thời lượng (ví dụ "4" / "8" / "12", tùy mô hình) |
size | string | Không | Độ phân giải, ví dụ 1280x720 / 720x1280 |
input_reference | file | Không | Ảnh tham chiếu/khung hình đầu (chỉ với multipart) |
Phản hồi (Đối tượng video)
{
"id": "video_abc123",
"object": "video",
"created_at": 1730000000,
"status": "queued",
"model": "sora-2",
"prompt": "An orange cat rolling in the snow, slow motion",
"size": "1280x720",
"seconds": "10",
"progress": 0
}
Truy vấn tác vụ
GET /v1/videos/{video_id}curl https://test.kailin.com.cn/v1/videos/video_abc123 \
-H "Authorization: Bearer sk-your-token"
Chuyển trạng thái status: queued → in_progress → completed / failed, với progress 0–100 trong khi đang chạy.
Tải video xuống
GET /v1/videos/{video_id}/contentKhi ở trạng thái completed, tải về tệp nhị phân MP4:
curl "https://test.kailin.com.cn/v1/videos/video_abc123/content" \
-H "Authorization: Bearer sk-your-token" \
--output result.mp4
Định dạng tác vụ chung
Gửi tác vụ
POST /v1/video/generationscurl https://test.kailin.com.cn/v1/video/generations \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-your-token" \
-d '{
"model": "kling-v1",
"prompt": "Shuttles flying over a cyberpunk city",
"duration": 5
}'
| Tham số | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
model | string | Có | Tên mô hình video (xem danh sách mô hình) |
prompt | string | Có | Mô tả cảnh |
image_url | string | Không | Ảnh khung hình đầu cho image-to-video |
duration / size v.v. | - | Không | Các tham số khác được truyền thẳng tùy mô hình (thời lượng, độ phân giải, tỉ lệ khung hình…) |
Phản hồi
{ "task_id": "4f6a2b1c-xxxx-xxxx-xxxx" }
Truy vấn tác vụ
GET /v1/video/generations/{task_id}curl https://test.kailin.com.cn/v1/video/generations/4f6a2b1c-xxxx \
-H "Authorization: Bearer sk-your-token"
{
"task_id": "4f6a2b1c-xxxx",
"status": "SUCCESS",
"video_url": "https://oss.example.com/video/xxx.mp4",
"progress": "100%"
}
| Trường | Mô tả |
|---|---|
status | Trạng thái tác vụ (SUBMITTED / IN_PROGRESS / SUCCESS / FAILURE, tùy kênh) |
video_url / url | URL kết quả (tên trường thay đổi tùy kênh) |
progress | Tiến độ |
Cảnh báo
Tạo video có thể mất từ vài chục giây đến vài phút. Hãy truy vấn theo chu kỳ 10–30 giây và lưu lại task ID (bản ghi tác vụ của gateway có thời hạn lưu trữ). video_url là tạm thời — hãy lưu trữ lại tệp ngay sau khi hoàn tất.