Lompat ke konten
Semua dokumentasi

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

ModelCocok untuk480p per detik768p per detik1080p per detik
minimax-h3-max-turboCepat, dengan suara. Yang paling baik untuk mulai.$0,045$0,07$0,14
minimax-h3-maxLebih 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

FieldDiisi denganFungsinya
modelWajibSalah satu id model di atas.
promptWajib, hingga 10.000 karakterApa yang difilmkan, dikirim ke model apa adanya. Di atas batas ditolak, tidak pernah dipotong.
seconds5 sampai 15Panjang klip, sebagai angka atau string. Default-nya 5. 4 dari OpenAI ditolak; 8 dan 12 berfungsi.
sizeWIDTHxHEIGHTMemilih resolusi dan bentuk terdekat. 1280x720 menjadi 768p pada 16:9, dan itulah yang kamu bayar.
resolution480p, 768p atau 1080pMenentukan harga dan menang atas size. Default-nya 768p.
aspect_ratio16:9, 21:9, 4:3, 1:1, 3:4, 9:16Menang 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

RuteFungsinya
POST /v1/videosMengantrikan klip dan menahan harganya.
GET /v1/videos/{id}Menyebut posisi klip. Cek setiap beberapa detik.
GET /v1/videos/{id}/contentFile 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/videosKlip terbaru milik akun.

Objek klip

JSON
{
  "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
  }
}
  • status adalah queued, in_progress, completed atau failed.
  • progress adalah 0 sampai klip selesai, lalu 100. Model tidak melaporkan apa pun di antaranya.
  • size dihitung 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.