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

Documentation Index

Fetch the complete documentation index at: https://docs.runblob.io/llms.txt

Use this file to discover all available pages before exploring further.

Ошибки возвращают стабильный код в поле message — обрабатывайте их программно по кодам, а не по человекочитаемому тексту.

Категории ошибок

Проблемы из-за невалидного запроса или нехватки ресурсов.
Описание: Недостаточно кредитов для выполнения запросаРешение: Пополните баланс
{
  "detail": "INSUFFICIENT_CREDITS"
}
Описание: Генерация с указанным ID не существуетРешение: Проверьте корректность ID
{
  "detail": "Generation not found"
}
Описание: Параметры запроса невалидны или отсутствуют обязательные поляРешение: Проверьте значения и типы параметров
{
  "detail": "Validation error: prompt is required"
}
Описание: Одно или несколько входных изображений невалидныРешение: Используйте JPEG, PNG, GIF или WEBP
{
  "status": "failed",
  "message": "INVALID_IMAGE"
}
Описание: Одно или несколько URL изображений недоступныРешение: Проверьте доступность URL по HTTPS
{
  "status": "failed",
  "message": "IMAGE_INACCESSIBLE"
}
Описание: Передано больше 5 изображенийРешение: Ограничьте количество до 5 на запрос
{
  "detail": "Maximum 5 images allowed, got 6"
}
Описание: В одном запросе переданы и images_url, и images_base64Решение: Используйте только один способ передачи изображений
{
  "detail": "Cannot provide both images_base64 and images_url"
}
Описание: Длительность вне допустимых значений (5, 10, 15)Решение: Используйте одно из поддерживаемых значений
{
  "detail": "Duration must be 5, 10, or 15 seconds"
}
Описание: Модель не равна ‘kling_o3’ или ‘kling_o3_pro’Решение: Используйте ‘kling_o3’ для Standard или ‘kling_o3_pro’ для Pro
{
  "detail": "Model must be 'kling_o3' or 'kling_o3_pro'"
}

Справочник HTTP-кодов

201
Created
Генерация создана успешно
200
OK
Запрос выполнен успешно
400
Bad Request
Невалидные параметры или формат запроса
401
Unauthorized
Невалидный или отсутствующий API-ключ
402
Payment Required
Недостаточно кредитов
404
Not Found
Генерация не найдена
422
Validation Error
Невалидный формат ввода или отсутствуют обязательные поля
500
Internal Server Error
Ошибка на стороне сервера
503
Service Unavailable
Сервис временно недоступен

Типичные проблемы и решения

Возможные причины:
  • Промпт содержит запрещённый контент
  • Невалидный формат изображения или повреждённый файл
  • URL изображений недоступны
  • Смешаны images_url и images_base64
Решение:
  • Проверьте payload webhook на конкретный код ошибки
  • Убедитесь, что все изображения доступны
  • Используйте только один способ передачи изображений
  • Пересмотрите правила контента
Нормальная хронология:
  • 5s Standard: 2–3 минуты
  • 10s Standard: 3–5 минут
  • 15s Standard: 5–7 минут
  • Pro-режим: +30–50% времени
Если превышает 10 минут: проверьте эндпоинт статуса или дождитесь webhookЕсли превышает 15 минут: автоматический таймаут, кредиты возвращены
Если генерация неудачна: кредиты автоматически возвращаются в течение 5 минутЕсли успешна, но нет URL: проверьте эндпоинт статуса — возможно, webhook не доставленДля проверки: используйте GET /v1/kling/o3-video/generations/{generation_id}
Типичные ошибки:
  • Использование одновременно images_url и images_base64 (выберите одно)
  • Больше 5 изображений
  • Изображения больше 10 MB
  • Невалидные форматы (используйте JPEG, PNG, GIF, WEBP)
  • Изображения недоступны по HTTPS
Решение: проверяйте ввод перед отправкой запроса
Standard (kling_o3) — 720p:
  • Быстрее генерация (2–5 мин)
  • Ниже стоимость
  • Хорошо для соцсетей и превью
  • Меньшее разрешение
Pro (kling_o3_pro) — 1080p:
  • Выше качество
  • Подходит для профессионального использования
  • Медленнее (+30–50% времени)
  • Дороже (~в 2 раза)

Примеры обработки ошибок

function validateO3VideoRequest(request) {
  const errors = [];
  
  // Prompt validation
  if (!request.prompt || request.prompt.length < 1) {
    errors.push('Prompt is required');
  }
  if (request.prompt && request.prompt.length > 2500) {
    errors.push('Prompt must be ≤ 2500 characters');
  }
  
  // Image validation
  const hasUrls = request.images_url && request.images_url.length > 0;
  const hasBase64 = request.images_base64 && request.images_base64.length > 0;
  
  if (hasUrls && hasBase64) {
    errors.push('Cannot provide both images_url and images_base64');
  }
  
  const totalImages = (request.images_url?.length || 0) + 
                     (request.images_base64?.length || 0);
  if (totalImages > 5) {
    errors.push(`Maximum 5 images allowed, got ${totalImages}`);
  }
  
  // Duration validation
  if (request.duration && !['5', '10', '15'].includes(request.duration)) {
    errors.push('Duration must be 5, 10, or 15 seconds');
  }
  
  // Mode validation
  if (request.mode && !['std', 'pro'].includes(request.mode)) {
    errors.push("Mode must be 'std' or 'pro'");
  }
  
  // Aspect ratio validation
  if (request.aspect_ratio && 
      !['16:9', '9:16', '1:1'].includes(request.aspect_ratio)) {
    errors.push('Invalid aspect ratio');
  }
  
  if (errors.length > 0) {
    throw new Error(errors.join('; '));
  }
  
  return true;
}

Руководство по диагностике

1

Проверьте API-ключ

Убедитесь, что ваш API-ключ валиден и не просрочен
curl -X GET https://platform.runblob.io/v1/account \
  -H "Authorization: Bearer YOUR_API_KEY"
2

Валидируйте запрос

Используйте клиентскую валидацию перед отправкой, чтобы поймать ошибки заранее
3

Проверьте логи webhook

Если используете webhooks, проверьте логи сервера на подробную информацию об ошибках
4

Следите за кредитами

Контролируйте баланс, чтобы избежать ошибок INSUFFICIENT_CREDITS
5

Свяжитесь с поддержкой

Если ошибки продолжаются, обратитесь в поддержку с generation_id