Документация API
OpenAI-совместимый API: текст, изображения, видео и эмбеддинги — один ключ, один баланс.
base_url and the key in a compatible client, then check the methods supported by your model.
Create an sk-… key in the console (email signup), top up
from $1 via USDT. Roubles require a third-party exchange with its own minimum and fees. Then call
/v1/chat/completions (text), /v1/images/generations (images),
/v1/embeddings (RAG), /v1/audio/transcriptions (speech-to-text)
or async /v1/videos (video, incl.
image-to-video; poll the task id, fetch mp4 from
/content). Failed tasks are never billed. The complete reference
below is in Russian; support answers in English too — just write in the
Помощь в Telegram · support@rodnik.ai.
Быстрый старт
Для подключения клиента с поддержкой OpenAI-совместимого API укажите адрес ниже и ключ из консоли. Доступные методы и параметры зависят от модели. Создайте аккаунт по e-mail, затем выпустите ключ для своего приложения.
BASE_URL = https://api.rodnik.ai/v1
API_KEY = sk-... # Консоль → API-ключи
Чтобы попробовать модель до интеграции, откройте Студию. Для Студии и API используется один баланс.
Проверьте подключение перед первой задачей
- Создайте отдельный ключ для приложения в разделе «Ключи API». Храните его в переменной окружения на сервере.
- Укажите адрес
https://api.rodnik.ai/v1и получите список доступных моделей. Возьмите точный id из ответа. - Отправьте один короткий запрос, затем проверьте модель, токены и сумму в истории запросов. Для Студии и API используется общий баланс.
curl --fail-with-body --max-time 30 https://api.rodnik.ai/v1/models \
-H "Authorization: Bearer $RODNIK_API_KEY"
Команда использует ключ из переменной окружения и запрашивает каталог моделей. Для генерации выберите пример ниже. В приложениях с отдельным полем Base URL вставьте адрес с /v1; если требуется полный URL запроса, для текста используйте https://api.rodnik.ai/v1/chat/completions.
Начните с одного запроса одновременно. Для видео сохраните id и проверяйте состояние той же задачи после обновления страницы или разрыва соединения.
Текст — chat/completions
Стриминг поддерживается (SSE). Рекомендуем glm-4.5-air для
быстрых задач, glm-5.3 для сложных, deepseek-v4-flash для
логики и математики.
# pip install openai
from openai import OpenAI
client = OpenAI(
base_url="https://api.rodnik.ai/v1",
api_key="sk-...",
)
resp = client.chat.completions.create(
model="glm-5.2",
messages=[
{"role": "system", "content": "Ты — помощник, отвечай по-русски."},
{"role": "user", "content": "Объясни RAG в двух предложениях"},
],
stream=True, # потоковая выдача
)
for chunk in resp:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="")
// npm i openai — Node.js / JavaScript
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.rodnik.ai/v1",
apiKey: "sk-...",
});
const stream = await client.chat.completions.create({
model: "glm-5.2",
messages: [{ role: "user", content: "Привет! Кто ты?" }],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}
Изображения — images/generations
Синхронный вызов; по умолчанию приходит ссылка (url), base64 —
через response_format="b64_json". Ссылка на изображение действует до 24 часов; для скачивания используйте ключ того же аккаунта. Число изображений и размеры зависят от модели.
resp = client.images.generate(
model="kolors",
prompt="минималистичный постер: гора, закат, плоские цвета",
n=1,
size="1024x1024",
)
# Для скачивания нужен действующий ключ того же аккаунта
import httpx, os
from pathlib import Path
image = httpx.get(resp.data[0].url, headers={"Authorization": "Bearer " + os.environ["RODNIK_API_KEY"]})
image.raise_for_status()
Path("result.png").write_bytes(image.content)
# то же самое в curl
curl https://api.rodnik.ai/v1/images/generations \
-H "Authorization: Bearer sk-..." -H "Content-Type: application/json" \
-d '{"model":"kolors","prompt":"горный пейзаж, закат","n":1,"size":"1024x1024"}'
Видео — /v1/videos
Формат как у OpenAI: создаёте задачу → опрашиваете статус → скачиваете mp4. Время выполнения и допустимые параметры зависят от модели. Перед отправкой проверьте цену и сохраните id задачи.
# pip install httpx
import httpx, time
BASE, KEY = "https://api.rodnik.ai", "sk-..."
H = {"Authorization": f"Bearer {KEY}", "Content-Type": "application/json"}
# 1) Создать задачу
r = httpx.post(f"{BASE}/v1/videos", headers=H, json={
"model": "kling-v2.6",
"prompt": "кот идёт по мокрой улице под дождём, кинематографично",
"seconds": "5",
})
r.raise_for_status()
vid = r.json()["id"]
print("Сохраните id задачи:", vid)
# 2) Опрашивать статус (раз в 3–5 секунд)
for attempt in range(120):
status = httpx.get(f"{BASE}/v1/videos/{vid}", headers=H, timeout=30)
status.raise_for_status()
v = status.json()
print(v["status"], v.get("progress", 0), "%")
if v["status"] in ("completed", "failed"):
break
time.sleep(5)
else:
raise TimeoutError(f"Проверьте позже ту же задачу {vid}; не создавайте новую")
# 3) Скачать mp4
if v["status"] == "completed":
result = httpx.get(f"{BASE}/v1/videos/{vid}/content", headers=H)
result.raise_for_status()
open("out.mp4", "wb").write(result.content)
Для видео по изображению проверьте поддержку исходного кадра у выбранной модели. В Студии доступны параметры поддерживаемых сценариев.
Эмбеддинги — bge-m3 и qwen3-embedding-8b
Для поиска и RAG. bge-m3 — мультиязычный бюджетный ярус ($0.01 / 1M токенов); qwen3-embedding-8b — флагманский: 4096 измерений, для многоязычного поиска.
resp = client.embeddings.create(
model="bge-m3",
input=["Первый документ", "Второй документ"],
)
vec = resp.data[0].embedding # 1024 измерения
Переранкинг выдачи поиска — /v1/rerank (qwen3-reranker-8b), оплата как у текста — за токены:
curl https://api.rodnik.ai/v1/rerank \
-H "Authorization: Bearer sk-..." \
-H "Content-Type: application/json" \
-d '{"model":"qwen3-reranker-8b","query":"возврат средств","documents":["Как вернуть деньги","Правила оплаты"]}'
Транскрипция и OCR
Для qwen3-asr, qwen3-asr-1.7b-new и sensevoicesmall стоимость указана за запрос. Сравните актуальные тарифы распознавания перед отправкой. Допустимые форматы и размер файла зависят от модели. Пример передачи аудио:
curl https://api.rodnik.ai/v1/audio/transcriptions \
-H "Authorization: Bearer sk-..." \
-F model=qwen3-asr \
-F file=@audio.mp3
OCR — текст с картинки (unlimited-ocr): русский и английский, с координатами блоков. Тот же chat-эндпоинт, картинка передаётся как image_url (или попробуйте в Студии — прикрепите файл к сообщению):
resp = client.chat.completions.create(
model="unlimited-ocr",
messages=[{"role": "user", "content": [
{"type": "text", "text": "Извлеки весь текст"},
{"type": "image_url", "image_url": {"url": "data:image/png;base64,..."}},
]},
)
Ошибки и лимиты
| Код | Причина | Что делать |
|---|---|---|
401 | Неверный или отозванный ключ | Проверьте ключ / создайте новый в консоли |
402 | Недостаточно баланса | Пополните баланс в кошельке USDT (TRC-20). Для оплаты рублями см. способы пополнения |
429 | Слишком частые запросы / очередь видео заполнена | Уменьшите параллельность. Учитывайте Retry-After, если заголовок есть. Повторяйте с увеличением задержки |
5xx | Сбой на нашей стороне | Проверьте историю запросов. Если id видеозадачи уже получен, сначала запросите её состояние. При обрыве соединения результат отправки может быть неизвестен. |
| Таймаут видео | Задача выполняется дольше обычного | Опрашивайте статус, не держите длинный HTTP-запрос |
Тарификация: текст — $ за 1 млн токенов (вход/выход раздельно); изображения — за штуку; видео — фиксированная цена за ролик указанной длительности. Единица оплаты и ограничения распознавания зависят от модели. Полные цены — в таблице тарифов. По вопросам подключения и списаний напишите на Помощь в Telegram · support@rodnik.ai. ИИ-помощник на сайте поможет найти инструкцию.
Режимы текстовых запросов
Для семейств GPT, Gemini, Kimi и MiniMax действует стандартный режим обработки. Цена входных и выходных токенов указана отдельно в каталоге. В пределах поддерживаемого контекста ставка не повышается из-за длины запроса.
Приоритетная и гибкая обработка, а также явное платное хранение кэша не подключены. Запрос с такими настройками возвращает ошибку unsupported_billing_mode до отправки на обработку. Уберите дополнительную настройку и повторите запрос. Обычные запросы без этих параметров работают как прежде.
Актуальные ставки: модели и цены. Перед большой серией запросов проверьте стоимость выбранной модели и установите лимит для ключа API.
Если нужна помощь
Напишите на support@rodnik.ai. Укажите модель, метод API, время с часовым поясом, код ошибки и id задачи, если он есть. Для вопроса об оплате приложите номер счёта и идентификатор транзакции.
Перед отправкой примера удалите ключ API, пароль, cookie и данные клиентов. ИИ-помощник отвечает на общие вопросы; обращения по конкретным платежам и списаниям отправляйте по почте.
Проверить доступность сайта и входа можно на странице состояния сервисов. Скорость генерации зависит от модели и нагрузки; для оценки своего сценария используйте несколько коротких запросов.