Перейти к основному содержанию
Генерация видео всегда асинхронна. Вы получаете ID генерации сразу, затем опрашиваете статус. Обычно занимает 20–180 секунд.

Модели и стоимость

МодельОписаниеТокенов
luma-ray2-flashБыстрые прототипы (Starter)42
luma-ray2-flashБыстрая генерация42
kling-v2.1Универсальная, высокое качество44
kling-v2.1-proВысокое качество, про-тариф88
minimax-videoКонсистентные персонажи88
luma-ray2Кинематографичное качество 720p125
luma-ray2-1080pКинематографичное качество 1080p151
mj-video-480pХудожественный стиль 480p84
mj-video-720pХудожественный стиль 720p269
Стоимость зависит от длительности и разрешения. Используйте Calculate Price для точной суммы.

Text-to-video

curl -X POST https://neuralbox.top/api/v2/generate \
  -H "Authorization: Bearer nb_ВАШ_КЛЮЧ" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kling-v2.1",
    "prompt": "Облёт дрона над футуристическим городом ночью, дождь, неоновые вывески",
    "params": {"duration": 5, "aspect_ratio": "16:9"}
  }'

Image-to-video

curl -X POST https://neuralbox.top/api/v2/generate \
  -H "Authorization: Bearer nb_ВАШ_КЛЮЧ" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "luma-ray2",
    "prompt": "Камера медленно отъезжает назад",
    "params": {
      "image_url": "https://example.com/my-image.jpg",
      "duration": 5
    }
  }'

Опрос статуса

import requests, time

def ждать_видео(gen_id: int, api_key: str) -> str:
    headers = {"Authorization": f"Bearer {api_key}"}
    while True:
        data = requests.get(
            f"https://neuralbox.top/api/v2/generate/{gen_id}",
            headers=headers
        ).json()
        if data["status"] == "completed":
            return data["result_url"]
        if data["status"] == "failed":
            raise Exception(data.get("error"))
        print(f"Статус: {data['status']}, ждём...")
        time.sleep(5)