Перейти к содержанию
Вся документация

Справочник

POST /v1/videos

Сделайте клип со звуком из текстового промпта в формате OpenAI: методы videos из SDK работают, если поменять только базовый URL. Поставьте в очередь, проверьте, скачайте один раз — и он удаляется.

Проверено 6 ноября 2026 г.

Сделайте клип

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")

Модели

МодельПодходит для480p за секунду768p за секунду1080p за секунду
minimax-h3-max-turboБыстрая, со звуком. С неё стоит начать.$0.045$0.07$0.14
minimax-h3-maxБольше шагов, чем у Turbo, для более тонкой детали, со звуком.$0.09$0.14$0.28

Оплачиваете секунды, которые заказали. Обе модели делают клипы от 5 до 15 секунд со звуком.

Запрос

ПолеПринимаетЧто делает
modelОбязательноОдин из идентификаторов моделей выше.
promptОбязательно, до 10 000 символовЧто снимать, передаётся модели как написано. Длиннее лимита — отказ, промпт никогда не обрезается.
secondsОт 5 до 15Длина клипа, числом или строкой. По умолчанию 5. Значение 4 из OpenAI отклоняется; 8 и 12 работают.
sizeWIDTHxHEIGHTВыбирает ближайшее разрешение и пропорции. 1280x720 становится 768p при 16:9, и именно за это вы платите.
resolution480p, 768p или 1080pЗадаёт цену и важнее size. По умолчанию 768p.
aspect_ratio16:9, 21:9, 4:3, 1:1, 3:4, 9:16Важнее size. По умолчанию 16:9.

Отправляйте JSON или multipart-форму, которую используют SDK OpenAI. Любое другое поле, например seed, отбрасывается и называется в x-nokeep-ignored. Поле, которое несёт картинку или клип, например input_reference, отклоняется с 400 unsupported_input: эти модели работают только с текстом. Python SDK от OpenAI выводит предупреждение об устаревании в методах videos: оно касается собственного видеосервиса OpenAI. На вызовы к нам это не влияет, а проверка типов может отметить id модели.

Маршруты клипа

МаршрутЧто делает
POST /v1/videosСтавит клип в очередь и фиксирует его цену.
GET /v1/videos/{id}Показывает, на каком он этапе. Проверяйте каждые несколько секунд.
GET /v1/videos/{id}/contentMP4-файл. Работает один раз, затем клип удаляется с хоста модели. Если загрузка оборвалась, запросите её снова.
DELETE /v1/videos/{id}Удаляет готовый клип без скачивания. Клип, который ещё рендерится, отвечает 409 video_not_ready.
GET /v1/videosПоследние клипы аккаунта.

Объект клипа

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 — queued, in_progress, completed или failed.
  • progress равен 0, пока клип не готов, а затем 100. Между ними модель ничего не сообщает.
  • size вычисляется из разрешения и пропорций, поэтому файл может отличаться на несколько пикселей.

Что вы платите

  • Полная цена клипа резервируется, когда он ставится в очередь, из купленных кредитов и дневного лимита ключа.
  • Списывается, когда клип готов, скачали вы его или нет.
  • Клип, который не удался, ничего не стоит, и это видно в его статусе.

Где хранится клип

Готовый клип ждёт на хосте модели, на её приватном уровне, до 23 часов. После единственного скачивания или при удалении его там больше нет. Файл мы не храним, а по истечении срока API отвечает 410 video_gone. Наша собственная строка о клипе хранит его id, ключ, модель, длину, разрешение, пропорции, кредиты и время, но никогда промпт. Она удаляется через 48 часов.

Контент, лимиты и ошибки

Четыре жёстких ограничения остаются: сексуальный контент с участием несовершеннолетних, сексуальный контент о реальных людях, вред массового поражения и нападение на реального человека. Промпт, который их переступает, получает 422 hard_limit и ничего не стоит. Хост модели тоже может отказать в запросе: это 422 content_refused, тоже бесплатно. См. Жёсткие ограничения.

Ключ может ставить в очередь 20 клипов в минуту, в пределах своих 120 запросов в целом, и иметь 10 рендеров одновременно. Сверх этого — 429 rate_limited. На странице ошибок перечислены все коды.

Чтобы проверить код, ничего не тратя, отправьте sk-nokeep-test как ключ. Он проходит все проверки, сразу сообщает, что клип готов, как video_test, а его файл пустой.