Referensi
POST /v1/videos
Buat klip dengan suara dari prompt teks, dengan format OpenAI: method videos dari SDK cukup diganti base URL-nya. Antrikan, cek, unduh sekali, lalu klipnya dihapus.
Diperiksa 6 November 2026
Buat klip
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")Model
| Model | Cocok untuk | 480p per detik | 768p per detik | 1080p per detik |
|---|---|---|---|---|
| minimax-h3-max-turbo | Cepat, dengan suara. Yang paling baik untuk mulai. | $0,045 | $0,07 | $0,14 |
| minimax-h3-max | Lebih banyak langkah dari Turbo untuk detail yang lebih halus, dengan suara. | $0,09 | $0,14 | $0,28 |
Kamu membayar detik yang kamu minta. Kedua model membuat klip 5 sampai 15 detik dengan suara.
Permintaan
| Field | Diisi dengan | Fungsinya |
|---|---|---|
model | Wajib | Salah satu id model di atas. |
prompt | Wajib, hingga 10.000 karakter | Apa yang difilmkan, dikirim ke model apa adanya. Di atas batas ditolak, tidak pernah dipotong. |
seconds | 5 sampai 15 | Panjang klip, sebagai angka atau string. Default-nya 5. 4 dari OpenAI ditolak; 8 dan 12 berfungsi. |
size | WIDTHxHEIGHT | Memilih resolusi dan bentuk terdekat. 1280x720 menjadi 768p pada 16:9, dan itulah yang kamu bayar. |
resolution | 480p, 768p atau 1080p | Menentukan harga dan menang atas size. Default-nya 768p. |
aspect_ratio | 16:9, 21:9, 4:3, 1:1, 3:4, 9:16 | Menang atas size. Default-nya 16:9. |
Kirim JSON atau form multipart yang dipakai SDK OpenAI. Field lain, seperti seed, dibuang dan disebut di x-nokeep-ignored. Field yang membawa gambar atau klip, seperti input_reference, ditolak dengan 400 unsupported_input: model ini hanya bekerja dari teks. SDK Python OpenAI menampilkan peringatan penghentian pada metode videos, tentang layanan video milik OpenAI sendiri. Ini tidak memengaruhi panggilan ke kami, dan pemeriksa tipe mungkin menandai id model.
Rute klip
| Rute | Fungsinya |
|---|---|
POST /v1/videos | Mengantrikan klip dan menahan harganya. |
GET /v1/videos/{id} | Menyebut posisi klip. Cek setiap beberapa detik. |
GET /v1/videos/{id}/content | File mp4. Hanya berfungsi sekali, lalu klip dihapus dari host model. Jika unduhan terputus, minta lagi. |
DELETE /v1/videos/{id} | Menghapus klip yang sudah selesai tanpa mengunduhnya. Klip yang masih dirender menjawab 409 video_not_ready. |
GET /v1/videos | Klip terbaru milik akun. |
Objek klip
{
"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
}
}statusadalahqueued,in_progress,completedataufailed.progressadalah 0 sampai klip selesai, lalu 100. Model tidak melaporkan apa pun di antaranya.sizedihitung dari resolusi dan bentuk, jadi file bisa berbeda beberapa piksel.
Yang kamu bayar
- Harga penuh klip ditahan saat diantrikan, dari kredit yang kamu beli dan batas harian kuncinya.
- Ditagih saat klip selesai, baik kamu mengunduhnya atau tidak.
- Klip yang gagal tidak dikenai biaya, dan statusnya menyebutkan itu.
Di mana klip disimpan
Klip yang sudah selesai menunggu di host model, pada tier privatnya, sampai 23 jam. Klip dihapus di sana setelah satu kali unduhan, atau saat kamu menghapusnya. Kami tidak pernah menyimpan filenya, dan setelah waktu itu rute menjawab 410 video_gone. Baris kami tentang klip berisi id, kunci, model, panjang, resolusi, bentuk, kredit dan waktunya, tidak pernah prompt. Baris itu dihapus setelah 48 jam.
Konten, batas dan error
Empat batas keras tetap berlaku: konten seksual yang melibatkan anak di bawah umur, konten seksual tentang orang sungguhan, bahaya korban massal dan menargetkan orang sungguhan. Prompt yang melewati salah satunya mendapat 422 hard_limit dan tidak dikenai biaya. Host model juga bisa menolak permintaan, yaitu 422 content_refused, juga gratis. Lihat Batas keras.
Sebuah kunci bisa mengantrikan 20 klip per menit, di dalam 120 permintaan secara keseluruhan, dan memiliki 10 klip yang dirender sekaligus. Lebih dari itu adalah 429 rate_limited. Halaman error mencantumkan setiap kode.
Untuk mengecek kodemu tanpa mengeluarkan apa pun, kirim sk-nokeep-test sebagai kunci. Kunci itu menjalankan setiap pemeriksaan, melaporkan klip selesai seketika sebagai video_test, dan filenya kosong.