API-доступ к нашим моделям
Pay-as-you-go
Отдельный пополняемый API-кошелёк, оплата за каждый вызов по опубликованному прайсу. Без подписок и скрытых токенов.
Прод-механика
Идемпотентность (повтор не спишет дважды), pre-charge с возвратом при ошибке, rate-limit и spend-cap на ключ.
Async + вебхуки
Вызов возвращает id: опрашивай статус или получи подписанный вебхук на свой сервер по готовности.
Что можно вызвать
Понятно на любом стеке
Один заголовок авторизации, JSON-тело, id в ответе. Опрос статуса или вебхук — на твой выбор.
# генерация + опрос статуса 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"]
Платишь только за то, что сгенерировал
Prepaid · pay-as-you-go
Пополнил кошелёк → каждый вызов списывает цену модели. Ошибка генерации → автоматический возврат.
- отдельный API-кошелёк (не путается с балансом сайта)
- spend-cap и rate-limit на каждый ключ
- usage-дашборд: расход по ключу и модели
Цена за вызов
| Операция | Модель | Цена |
|---|---|---|
| images.generate | nano-banana | 8 ₽ / изображение |
| video.generate | veo-3-1-text-to-video | 60 ₽ / 8 сек |
| video.generate | seedance-2-text-to-video | 20 ₽ / секунда |
| audio.generate | eleven_multilingual_v2 | 12 ₽ / 1000 знаков |
Это стандартный базовый прайс (та же цена, что на сайте — у API-ключа нет скидки подписки). Точная сумма конкретного вызова приходит в поле cost_rub ответа, а полный актуальный каталог (с единицей тарификации) — GET /api/public/v1/models и в консоли.
Частые вопросы
Чем API отличается от CLI/MCP?
API — для серверов и приложений: доступ по ключу, оплата за вызов с отдельного кошелька, без подписок. CLI/MCP — для человека в редакторе, вход через аккаунт.
Как получить ключ?
В консоли разработчика создаёшь ключ — он показывается один раз. Дальше видно только префикс. Можно отозвать в любой момент.
Что с асинхронностью?
Вызов возвращает id. Опрашивай /creations/{id} или зарегистрируй вебхук — придёт подписанный колбэк с ретраями по готовности.
Как передать входную картинку?
Через POST /uploads (multipart) получаешь file_id, либо передаёшь image_url — мы безопасно скачаем (SSRF-защита) и перезальём.
Действуют ли безлимит-тарифы?
Нет. API всегда метрический, по прайсу — иначе это был бы арбитраж. Безлимиты — только для человека через CLI/MCP, в рамках fair-use.
Встрой генерацию за вечер
Получи ключ, пополни кошелёк, сделай первый вызов — на наших моделях, в рублях.