AI Video Generate
API AI Video Generate¶
Tạo video chạy bất đồng bộ:
POST /v1/video/generate→ nhậnjob_id, credit bị giữ chứ chưa trừ- Chờ (thường 45 giây – 2 phút)
GET /v1/video/jobs/{job_id}cho tới khistatuslàcompletedhoặcfailedcompleted→ lấy link ởresult.failed→ credit được hoàn tự động
Địa chỉ và xác thực¶
Mọi endpoint dùng chung một gốc:
https://revidapi.com/v1
Authorization: Bearer sk_...
Hoặc X-API-Key: sk_.... Lấy khoá ở revidapi.com/dashboard.
Bảng model¶
Danh sách sống, kèm giá từng cấu hình:
curl https://revidapi.com/v1/video/models \
-H "Authorization: Bearer sk_..."
| Model | Ghi chú |
|---|---|
veo3.1-lite |
Rẻ nhất, 720p/1080p/4k · 4–8 giây |
veo3.1-fast |
Nhanh, 720p/1080p/4k · 4–8 giây |
veo3.1-omni |
Đầy đủ nhất, thêm 10 giây và chế độ veo_mode |
grok-i2v |
Ảnh → video, 480p trở lên |
kling-2.5-turbo |
720p/1080p · 5–10 giây |
kling-2.6 |
Có bậc tiếng riêng |
kling-3.0-video |
Nhiều cấu hình nhất |
Chỉ dùng đúng
modelmàGET /v1/video/modelstrả về. Tên khác trả404 model_not_found.
1) Tạo job video¶
- Method:
POST - URL:
https://revidapi.com/v1/video/generate - Content-Type:
application/json
| Tên | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
model |
string | Có | Lấy từ GET /v1/video/models |
prompt |
string | Có | Mô tả video |
duration |
string | Không | 4s, 5s, 8s, 10s — theo cấu hình model có |
resolution |
string | Không | 720p, 1080p, 4k — theo cấu hình model có |
aspect_ratio |
string | Không | 16:9, 9:16, 1:1 |
audio |
bool | Không | Chỉ có tác dụng ở model có bậc tiếng riêng |
img_url |
string | mảng | Không | Ảnh đầu vào (image-to-video) |
image_urls |
mảng | chuỗi ngăn phẩy | Không | Nhiều ảnh — dùng cho veo_mode |
video_url |
string | Không | Video đầu vào (chỉnh sửa video) |
veo_mode |
string | Không | frames hoặc ingredients, chỉ họ Veo |
resolution và duration phải khớp một cấu hình có bán. Sai thì trả 400 kèm danh sách cấu hình có thật, không phải lỗi chung chung.
Tạo từ mô tả¶
curl -X POST https://revidapi.com/v1/video/generate \
-H "Authorization: Bearer sk_..." \
-H "Content-Type: application/json" \
-d '{
"model": "veo3.1-lite",
"prompt": "Cận cảnh giọt cà phê rơi, ánh sáng điện ảnh",
"duration": "4s",
"resolution": "720p",
"aspect_ratio": "16:9"
}'
Tạo từ ảnh¶
curl -X POST https://revidapi.com/v1/video/generate \
-H "Authorization: Bearer sk_..." \
-H "Content-Type: application/json" \
-d '{
"model": "grok-i2v",
"prompt": "nhân vật bước tới trước, máy quay tĩnh",
"img_url": "https://example.com/start.jpg",
"duration": "6s",
"resolution": "480p"
}'
Veo — nội suy khung đầu → khung cuối¶
import requests
r = requests.post(
"https://revidapi.com/v1/video/generate",
headers={"Authorization": "Bearer sk_..."},
json={
"model": "veo3.1-omni",
"prompt": "chuyển cảnh mượt từ khung đầu sang khung cuối",
"veo_mode": "frames",
"image_urls": ["https://example.com/start.jpg",
"https://example.com/end.jpg"],
"duration": "4s",
"resolution": "720p",
"aspect_ratio": "16:9",
},
)
print(r.json())
Veo — ghép nhiều ảnh tham chiếu¶
json={
"model": "veo3.1-omni",
"prompt": "video theo phong cách các ảnh tham chiếu",
"veo_mode": "ingredients",
"image_urls": ["https://example.com/a.jpg",
"https://example.com/b.jpg",
"https://example.com/c.jpg"],
"duration": "4s",
"resolution": "720p",
}
Kết quả trả về¶
{
"job_id": "job_vid_PFxvMD1e3fTKaCQo",
"status": "pending",
"cost": 13,
"poll": "/v1/video/jobs/job_vid_PFxvMD1e3fTKaCQo"
}
cost là số credit sẽ trừ nếu video ra thành công.
2) Hỏi trạng thái job¶
- Method:
GET - URL:
https://revidapi.com/v1/video/jobs/{job_id}
curl https://revidapi.com/v1/video/jobs/job_vid_PFxvMD1e3fTKaCQo \
-H "Authorization: Bearer sk_..."
Đang chạy:
{ "id": "job_vid_...", "object": "video.job", "status": "running", "model": "veo3.1-lite" }
Xong:
{
"id": "job_vid_...",
"object": "video.job",
"status": "completed",
"model": "veo3.1-lite",
"result": "https://cdn.revidapi.com/outputs/.../result.mp4"
}
Hỏng — credit đã hoàn, không phải trả tiền cho lượt lỗi:
{
"id": "job_vid_...",
"status": "failed",
"error": { "message": "Generation failed. Please try again later.",
"type": "upstream_error" }
}
Nhịp hỏi hợp lý: 10–15 giây một lần, tối đa 5 phút.
Mã lỗi¶
| Mã | Ý nghĩa | Cách xử lý |
|---|---|---|
400 |
Thiếu model/prompt, hoặc cấu hình không có |
Đọc message — nó liệt kê cấu hình có thật |
401 |
Khoá sai hoặc thiếu | Kiểm lại header Authorization |
402 |
Không đủ credit | Nạp ở revidapi.com/dashboard/usage |
404 |
Không bán model đó | Xem GET /v1/video/models |
503 |
Dịch vụ video tạm nghỉ | Thử lại sau |