API ДЛЯ РАЗРАБОТЧИКОВ server-to-server

Наши модели —
в твоём продукте

REST-доступ к 30+ моделям картинок, видео и аудио. Оплата за вызов с отдельного API-кошелька, в рублях. Стабильный /v1, идемпотентность, вебхуки, OpenAPI.

POST /api/public/v1/images/generate
# одна картинка, синхронный пример curl https://api.gptrf.ru/api/public/v1/images/generate \ -H "Authorization: Bearer gptrf_live_…" \ -d '{"model":"nano-banana","prompt":"neon city"}' # ответ { "id": "4f9c…", "status": "queued", "cost_rub": 8.00 }
ЧТО ЭТО отдельная дверь для бизнеса

API-доступ к нашим моделям

Та же генерация, что на сайте, но по API-ключу и с метрической оплатой. Для тех, кто встраивает генерацию в свой сервис или гонит объём.

Pay-as-you-go

Отдельный пополняемый API-кошелёк, оплата за каждый вызов по опубликованному прайсу. Без подписок и скрытых токенов.

Прод-механика

Идемпотентность (повтор не спишет дважды), pre-charge с возвратом при ошибке, rate-limit и spend-cap на ключ.

Async + вебхуки

Вызов возвращает id: опрашивай статус или получи подписанный вебхук на свой сервер по готовности.

ОПЕРАЦИИ семантический REST

Что можно вызвать

POST /images/generate
Генерация / правка
+input image = редактирование; +mask = inpaint
POST /images/upscale
Апскейл
Topaz / Recraft, до 4K
POST /images/remove-background
Удаление фона
прозрачный PNG
POST /video/generate
Видео
t2v / i2v, Seedance · Kling · Veo
POST /audio/generate
Озвучка (текст → речь)
ElevenLabs TTS, мультиязык
POST /audio/dialogue
Диалог
text-to-dialogue (мультиголос)
POST /uploads
Загрузка медиа
multipart или URL (SSRF-safe)
GET /creations/{id}
Статус задачи
поллинг готовности + результат
Вебхуки · в консоли
Колбэки о готовности
Настраиваются в консоли разработчика → подпись HMAC, ретраи
ИНТЕГРАЦИЯ за минуты

Понятно на любом стеке

Один заголовок авторизации, JSON-тело, id в ответе. Опрос статуса или вебхук — на твой выбор.

OpenAPI 3.1X-Idempotency-KeyWebhooksSDK скоро
# генерация + опрос статуса
curl -X POST https://api.gptrf.ru/api/public/v1/images/generate \
  -H "Authorization: Bearer $GPTRF_KEY" \
  -H "X-Idempotency-Key: 7f3a…" \
  -d '{"model":"nano-banana","prompt":"neon city"}'

curl https://api.gptrf.ru/api/public/v1/creations/4f9c… \
  -H "Authorization: Bearer $GPTRF_KEY"
const r = await fetch("https://api.gptrf.ru/api/public/v1/images/generate", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.GPTRF_KEY}`,
    "X-Idempotency-Key": crypto.randomUUID(),
  },
  body: JSON.stringify({ model: "nano-banana", prompt: "neon city" }),
});
const { id } = await r.json();
import httpx, uuid
r = httpx.post(
    "https://api.gptrf.ru/api/public/v1/images/generate",
    headers={"Authorization": f"Bearer {KEY}",
             "X-Idempotency-Key": str(uuid.uuid4())},
    json={"model": "nano-banana", "prompt": "neon city"},
)
cid = r.json()["id"]
ЦЕНЫ прозрачно, за вызов

Платишь только за то, что сгенерировал

Опубликованный прайс по каждой модели в рублях. Пополняешь API-кошелёк — вызовы его расходуют. Подписки тут не действуют.
КАК ЭТО РАБОТАЕТ

Prepaid · pay-as-you-go

Пополнил кошелёк → каждый вызов списывает цену модели. Ошибка генерации → автоматический возврат.

  • отдельный API-кошелёк (не путается с балансом сайта)
  • spend-cap и rate-limit на каждый ключ
  • usage-дашборд: расход по ключу и модели
ПРИМЕР ПРАЙСА

Цена за вызов

ОперацияМодельЦена
images.generatenano-banana8 ₽ / изображение
video.generateveo-3-1-text-to-video60 ₽ / 8 сек
video.generateseedance-2-text-to-video20 ₽ / секунда
audio.generateeleven_multilingual_v212 ₽ / 1000 знаков

Это стандартный базовый прайс (та же цена, что на сайте — у API-ключа нет скидки подписки). Точная сумма конкретного вызова приходит в поле cost_rub ответа, а полный актуальный каталог (с единицей тарификации) — GET /api/public/v1/models и в консоли.

FAQ

Частые вопросы

Чем API отличается от CLI/MCP?

API — для серверов и приложений: доступ по ключу, оплата за вызов с отдельного кошелька, без подписок. CLI/MCP — для человека в редакторе, вход через аккаунт.

Как получить ключ?

В консоли разработчика создаёшь ключ — он  показывается один раз. Дальше видно только префикс. Можно отозвать в любой момент.

Что с асинхронностью?

Вызов возвращает id. Опрашивай /creations/{id} или зарегистрируй вебхук — придёт подписанный колбэк с ретраями по готовности.

Как передать входную картинку?

Через POST /uploads (multipart) получаешь file_id, либо передаёшь image_url — мы безопасно скачаем (SSRF-защита) и перезальём.

Действуют ли безлимит-тарифы?

Нет. API всегда метрический, по прайсу — иначе это  был бы арбитраж. Безлимиты — только для человека через CLI/MCP, в рамках fair-use.

Встрой генерацию за вечер

Получи ключ, пополни кошелёк, сделай первый вызов — на наших моделях, в рублях.