Minimax Video Generation

Передовая генерация видео с интеллектуальным пониманием сцены и естественным движением. Доступны модели Hailuo и HailuoI2V для превосходного качества.

✓ Генерация 1280x720 HD

✓ 5-секундные видео

✓ Интеллектуальное понимание сцены

✓ Поддержка изображение-в-видео

Аутентификация

Для доступа к Minimax/Hailuo через Doitong API используйте ваш Doitong API ключ. Включите его в GraphQL мутацию или заголовки REST API.

Важно: Храните ваш Doitong API ключ в безопасности и никогда не используйте его в клиентском коде. Всегда делайте API вызовы с вашего серверного приложения.
// GraphQL Header
{
  "Authorization": "Bearer YOUR_API_KEY"
}

// REST Header
"X-API-Key": "YOUR_API_KEY"

Быстрый старт

Начните работу с Minimax / Hailuo-02 API всего за несколько минут. Следуйте этим простым шагам для генерации вашего первого text to video.

Шаг 1: Получите API ключ

Зарегистрируйтесь на Doitong и перейдите в панель управления для генерации API ключа.

Шаг 2: Сделайте первый запрос

Используйте один из примеров кода ниже для вашего первого API вызова.

curl -X POST https://api.doitong.com/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Idempotency-Key: unique-request-id-123" \
  -d '{
    "query": "mutation Generate($input: GenerateInput!) { generate(input: $input) { id status type provider url metadata creditCost } }",
    "variables": {
      "input": {
        "type": "VIDEO",
        "provider": "minimax",
        "input": {
          "text": "A serene landscape with mountains and a lake at sunset"
        },
        "options": {
          "duration": 5,
          "aspectRatio": "16:9"
        }
      }
    }
  }'
const response = await fetch('https://api.doitong.com/graphql', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer YOUR_API_KEY',
    'Idempotency-Key': 'unique-request-id-123'
  },
  body: JSON.stringify({
    query: `
      mutation Generate($input: GenerateInput!) {
        generate(input: $input) {
          id
          status
          type
          provider
          url
          metadata
          creditCost
        }
      }
    `,
    variables: {
      input: {
        type: 'VIDEO',
        provider: 'minimax',
        input: {
          text: 'A serene landscape with mountains and a lake at sunset'
        },
        options: {
          duration: 5,
          aspectRatio: '16:9'
        }
      }
    }
  })
});

const data = await response.json();
console.log('Result:', data.data.generate);
import requests
import json

url = "https://api.doitong.com/graphql"
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer YOUR_API_KEY"
}

query = """
mutation Generate($input: GenerateInput!) {
  generate(input: $input) {
    id
    status
    type
    provider
    url
    metadata
    creditCost
  }
}
"""

variables = {
    "input": {
        "type": "VIDEO",
        "provider": "minimax",
        "input": {
            "text": "A serene landscape with mountains and a lake at sunset"
        },
        "options": {
            "duration": 5,
            "aspectRatio": "16:9"
        }
    }
}

response = requests.post(url, json={
    "query": query,
    "variables": variables
}, headers=headers)

data = response.json()
print("Result:", data["data"]["generate"])
mutation Generate($input: GenerateInput!) {
  generate(input: $input) {
    id
    status
    type
    provider
    url
    metadata
    creditCost
    createdAt
  }
}

# Variables
{
  "input": {
    "type": "VIDEO",
    "provider": "minimax",
    "input": {
      "text": "A serene landscape with mountains and a lake at sunset"
    },
    "options": {
      "duration": 5,
      "aspectRatio": "16:9",
      "version": "hailuo-02",
      "quality": "high"
    }
  }
}

Цены

Minimax / Hailuo-02 API использует модель оплаты на основе кредитов. Кредиты расходуются в зависимости от сложности и длительности генерируемого контента.

Функция Кредиты Описание
Стандартный режим 100-200 Кредиты Видео 5–10 секунд стандартного качества
Pro режим 300-500 Кредиты Видео 5–10 секунд профессионального качества

API точки доступа

Minimax / Hailuo-02 API доступен через нашу унифицированную GraphQL точку доступа.

GraphQL точка доступа

POST https://api.doitong.com/graphql

REST точка доступа

POST https://api.doitong.com/v1/text_to_video

Параметры

Доступные параметры для запросов Minimax / Hailuo-02 API:

Параметр Тип Обязательный Описание
service Строка Да Идентификатор сервиса: "minimax"
prompt Строка Да Текстовое описание того, что нужно сгенерировать
duration Число Нет Длительность видео в секундах (по умолчанию: 5)
aspectRatio Строка Нет Соотношение сторон: "16:9", "9:16", "1:1" (по умолчанию: "16:9")
version Строка Нет Model version: "hailuo-02"
webhookUrl Строка Нет URL для получения уведомлений о завершении

Формат ответа

Все API ответы следуют единому формату:

Успешный ответ

{
  "data": {
    "generatevideo": {
      "id": "abc123xyz",
      "status": "processing",
      "url": null,
      "webhookUrl": "https://your-webhook.com/callback",
      "createdAt": "2024-01-01T00:00:00Z"
    }
  }
}

Завершённый ответ

{
  "data": {
    "generatevideo": {
      "id": "abc123xyz",
      "status": "completed",
      "url": "https://cdn.doitong.com/outputs/abc123xyz.mp4",
      "duration": 5,
      "createdAt": "2024-01-01T00:00:00Z"
    }
  }
}

Обработка ошибок

API использует стандартные HTTP коды статуса и возвращает детальные сообщения об ошибках.

Частые коды ошибок

Код статуса Тип ошибки Описание
400 Неверный запрос Некорректные параметры
401 Не авторизован Неверный или отсутствующий API ключ
402 Требуется оплата Недостаточно кредитов
429 Слишком много запросов Превышен лимит
500 Внутренняя ошибка сервера Ошибка сервера

Формат ответа об ошибке

{
  "errors": [
    {
      "message": "Insufficient credits for this operation",
      "extensions": {
        "code": "INSUFFICIENT_CREDITS",
        "creditsRequired": 100,
        "creditsAvailable": 50
      }
    }
  ]
}

Вебхуки

Получайте уведомления в реальном времени когда ваша генерация text to video завершена.

Настройка вебхуков

Включите параметр webhookUrl в ваш запрос, чтобы получить POST-уведомление при завершении обработки.

Данные вебхука

{
  "id": "abc123xyz",
  "status": "completed",
  "url": "https://cdn.doitong.com/outputs/abc123xyz.mp4",
  "service": "minimax",
  "createdAt": "2024-01-01T00:00:00Z",
  "completedAt": "2024-01-01T00:01:00Z",
  "metadata": {
    "duration": 5,
    "width": 1920,
    "height": 1080
  }
}

Безопасность вебхуков

Все запросы вебхуков включают заголовок с подписью для верификации:

X-Doitong-Signature: sha256=abc123...

Лимиты запросов

Для обеспечения справедливого использования и стабильности системы применяются следующие лимиты:

План Запросов/минута Одновременных задач Дневной лимит
Бесплатный 10 1 100
Стартовый 30 3 1,000
Pro 60 10 10,000
Enterprise Индивидуально Индивидуально Неограниченно
Заголовки лимитов: Проверяйте заголовки ответа для текущего статуса лимитов:
  • X-RateLimit-Limit: Maximum requests per window
  • X-RateLimit-Remaining: Requests remaining
  • X-RateLimit-Reset: Window reset timestamp

Лучшие практики

1. Оптимизируйте промпты

Пишите ясные, описательные промпты для лучших результатов:

  • Будьте конкретны в визуальных элементах, стиле и настроении
  • Включайте детали об освещении, ракурсах камеры и композиции
  • Избегайте противоречивых или невозможных запросов

2. Обработка асинхронных процессов

Генерация асинхронная. Реализуйте правильный опрос или вебхуки:

// Polling example
async function pollStatus(jobId) {
  let status = 'processing';
  while (status === 'processing') {
    await sleep(2000); // Wait 2 seconds
    const result = await checkJobStatus(jobId);
    status = result.status;
  }
  return result;
}

3. Восстановление после ошибок

Реализуйте логику повторов с экспоненциальной задержкой:

async function retryWithBackoff(fn, maxRetries = 3) {
  for (let i = 0; i < maxRetries; i++) {
    try {
      return await fn();
    } catch (error) {
      if (i === maxRetries - 1) throw error;
      await sleep(Math.pow(2, i) * 1000);
    }
  }
}

4. Мониторинг использования кредитов

Отслеживайте расход кредитов чтобы избежать прерываний:

  • Проверяйте баланс кредитов перед большими пакетными операциями
  • Настройте оповещения для низких порогов кредитов
  • Реализуйте очередь запросов с учётом кредитов

Готовы начать?

Присоединяйтесь к тысячам разработчиков, использующих Minimax / Hailuo-02 API для создания удивительного контента

Получить API ключ Посмотреть цены