API генерации изображений и видео
Базовый адрес: https://themegabrain.ru/api/gateway/v1. Ключ создаётся в личном кабинете (раздел API Keys) и передаётся в заголовке Authorization: Bearer <ключ>. Тот же ключ работает с LLM-шлюзом.
Каталог моделей
Список моделей с ценой за единицу в долларах и рублях. ID модели совпадает с ID на fal.ai.
curl https://themegabrain.ru/api/gateway/v1/media/modelsОчередь: отправить задачу
Тело запроса — входные параметры самой модели, как в документации fal.ai (prompt, image_size, num_images, image_urls для редактирования, start_image_url для «картинка → видео», duration…). Стоимость считается до запуска и списывается сразу; при нехватке баланса вернётся 402.
curl -X POST https://themegabrain.ru/api/gateway/v1/queue/fal-ai/kling-video/v3/standard/text-to-video \
-H "Authorization: Bearer $MEGABRAIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"prompt": "дрон пролетает над зимним Байкалом, рассвет", "duration": "5", "generate_audio": false}'{
"request_id": "6c1f…",
"model": "fal-ai/kling-video/v3/standard/text-to-video",
"status": "IN_QUEUE",
"status_url": "https://themegabrain.ru/api/gateway/v1/queue/requests/6c1f…/status",
"response_url": "https://themegabrain.ru/api/gateway/v1/queue/requests/6c1f…",
"cost_usd": 0.91,
"refunded": false
}Статус и результат
GET status_url возвращает IN_QUEUE, IN_PROGRESS, COMPLETED или FAILED. GET response_url отдаёт выход модели (например {"video": {"url": …}} или {"images": [{"url": …}]}), пока задача идёт — 202. Опрашивайте раз в 2–5 секунд.
curl https://themegabrain.ru/api/gateway/v1/queue/requests/$REQUEST_ID/status -H "Authorization: Bearer $MEGABRAIN_API_KEY"
curl https://themegabrain.ru/api/gateway/v1/queue/requests/$REQUEST_ID -H "Authorization: Bearer $MEGABRAIN_API_KEY"Возвраты
Если провайдер завершил задачу ошибкой, статус становится FAILED, а полная стоимость возвращается на баланс ("refunded": true). Ошибки валидации входа (422 при отправке) не списываются.
OpenAI-совместимые изображения
POST /images/generations принимает тело OpenAI (model, prompt, n, size) и ждёт готовую картинку до ~110 секунд. Любые другие поля передаются модели как есть.
from openai import OpenAI
client = OpenAI(base_url="https://themegabrain.ru/api/gateway/v1", api_key="MEGABRAIN_API_KEY")
img = client.images.generate(
model="fal-ai/nano-banana-pro",
prompt="инфографика: как устроен API генерации",
size="1024x1024",
)
print(img.data[0].url)История
curl https://themegabrain.ru/api/gateway/v1/media/generations -H "Authorization: Bearer $MEGABRAIN_API_KEY"Ошибки
400— некорректный запрос (например,durationвне допустимых значений).401— нет или неверный ключ.402— недостаточно средств, пополните баланс в личном кабинете.404— модель не обслуживается или задача не найдена.422— модель отклонила вход / задача завершилась ошибкой (средства возвращены).503— провайдер временно недоступен, повторите позже.