Tham chiếu
POST /v1/videos
Tạo một clip có âm thanh từ prompt văn bản, theo định dạng OpenAI: các phương thức videos của SDK chỉ cần đổi base URL. Xếp hàng, kiểm tra, tải về một lần, sau đó clip bị xóa.
Đã kiểm tra 6 tháng 11, 2026
Tạo một clip
import os
import time
from openai import OpenAI
client = OpenAI(
base_url="https://nokeep.ai/v1",
api_key=os.environ["NOKEEP_API_KEY"],
)
clip = client.videos.create(
model="minimax-h3-max-turbo",
prompt="Waves breaking on a rocky coast at dusk",
seconds="5",
size="1280x720",
)
while clip.status in ("queued", "in_progress"):
time.sleep(5)
clip = client.videos.retrieve(clip.id)
if clip.status == "completed":
client.videos.download_content(clip.id).write_to_file("clip.mp4")Mô hình
| Mô hình | Phù hợp cho | 480p mỗi giây | 768p mỗi giây | 1080p mỗi giây |
|---|---|---|---|---|
| minimax-h3-max-turbo | Nhanh, có âm thanh. Nên bắt đầu với mô hình này. | $0.045 | $0.07 | $0.14 |
| minimax-h3-max | Nhiều bước hơn Turbo để chi tiết mịn hơn, có âm thanh. | $0.09 | $0.14 | $0.28 |
Bạn trả theo số giây đã yêu cầu. Cả hai mô hình đều tạo clip 5 đến 15 giây có âm thanh.
Yêu cầu
| Trường | Nhận | Tác dụng |
|---|---|---|
model | Bắt buộc | Một trong các mã mô hình ở trên. |
prompt | Bắt buộc, tối đa 10.000 ký tự | Nội dung cần quay, gửi đến mô hình đúng như bạn viết. Vượt giới hạn sẽ bị từ chối, không bao giờ bị cắt. |
seconds | 5 đến 15 | Độ dài clip, dạng số hoặc chuỗi. Mặc định là 5. Giá trị 4 của OpenAI bị từ chối; 8 và 12 thì được. |
size | WIDTHxHEIGHT | Chọn độ phân giải và tỷ lệ gần nhất. 1280x720 thành 768p ở 16:9, và đó là mức bạn trả tiền. |
resolution | 480p, 768p hoặc 1080p | Đặt giá và được ưu tiên hơn size. Mặc định là 768p. |
aspect_ratio | 16:9, 21:9, 4:3, 1:1, 3:4, 9:16 | Được ưu tiên hơn size. Mặc định là 16:9. |
Gửi JSON hoặc dạng multipart mà SDK của OpenAI dùng. Mọi trường khác, như seed, bị bỏ qua và được nêu tên trong x-nokeep-ignored. Trường mang ảnh hoặc clip, như input_reference, bị từ chối với 400 unsupported_input: các mô hình này chỉ làm việc từ văn bản. SDK Python của OpenAI hiển thị cảnh báo ngừng hỗ trợ ở các phương thức videos, nói về dịch vụ video của chính OpenAI. Điều này không ảnh hưởng đến các lệnh gọi tới chúng tôi, và trình kiểm tra kiểu có thể đánh dấu id mô hình.
Các đường dẫn của clip
| Đường dẫn | Tác dụng |
|---|---|
POST /v1/videos | Xếp clip vào hàng đợi và giữ giá của nó. |
GET /v1/videos/{id} | Cho biết clip đang ở đâu. Kiểm tra vài giây một lần. |
GET /v1/videos/{id}/content | Tệp mp4. Chỉ dùng được một lần, sau đó clip bị xóa khỏi máy chủ của mô hình. Nếu tải bị gián đoạn, hãy yêu cầu lại. |
DELETE /v1/videos/{id} | Xóa một clip đã xong mà không tải về. Clip vẫn đang render sẽ nhận 409 video_not_ready. |
GET /v1/videos | Các clip gần đây của tài khoản. |
Đối tượng clip
{
"id": "video_8f3a…",
"object": "video",
"model": "minimax-h3-max-turbo",
"status": "completed",
"progress": 100,
"created_at": 1793960000,
"completed_at": 1793960030,
"expires_at": 1794042800,
"seconds": "5",
"size": "1366x768",
"resolution": "768p",
"aspect_ratio": "16:9",
"error": null,
"downloaded": false,
"expired": false,
"usage": {
"nokeep_credits": 350
}
}statuslàqueued,in_progress,completedhoặcfailed.progresslà 0 cho đến khi clip xong, rồi thành 100. Mô hình không báo gì ở giữa.sizeđược tính từ độ phân giải và tỷ lệ, nên tệp có thể lệch vài pixel.
Bạn trả gì
- Toàn bộ giá clip được giữ khi clip vào hàng đợi, trừ vào tín dụng đã mua và giới hạn hằng ngày của khóa.
- Được tính khi clip xong, dù bạn có tải về hay không.
- Clip bị lỗi không tốn gì, và trạng thái của nó cho biết điều đó.
Clip được lưu ở đâu
Clip đã xong nằm chờ trên máy chủ của mô hình, ở tầng riêng tư, tối đa 23 giờ. Nó bị xóa ở đó sau lần tải duy nhất, hoặc khi bạn xóa. Chúng tôi không bao giờ giữ tệp, và quá thời gian đó nó trả về 410 video_gone. Dòng dữ liệu của chúng tôi về clip gồm mã, khóa, mô hình, độ dài, độ phân giải, tỷ lệ, tín dụng và thời gian, không bao giờ có prompt. Dòng này bị xóa sau 48 giờ.
Nội dung, giới hạn và lỗi
Bốn giới hạn cứng vẫn được giữ: nội dung tình dục liên quan đến trẻ vị thành niên, nội dung tình dục về người thật, gây thiệt hại hàng loạt và nhắm vào một người thật. Prompt vi phạm một trong số đó nhận 422 hard_limit và không tốn gì. Nhà cung cấp của mô hình cũng có thể từ chối yêu cầu, đó là 422 content_refused, cũng miễn phí. Xem Giới hạn cứng.
Một khóa có thể xếp 20 clip mỗi phút, trong tổng 120 yêu cầu, và có 10 clip render cùng lúc. Vượt mức đó sẽ nhận 429 rate_limited. Trang lỗi liệt kê mọi mã.
Để kiểm tra mã mà không tốn gì, hãy gửi sk-nokeep-test làm khóa. Khóa này chạy mọi bước kiểm tra, báo clip đã xong ngay lập tức với video_test, và tệp của nó rỗng.