Быстрый старт
Подключайте модели RenderFox к своим приложениям через единый API. Запросы используют общий баланс FC вашего аккаунта.
Создайте API ключ
Откройте API-ключи и задайте название. Лимиты расходов и срок действия необязательны. Ключ получает все доступные права; полное значение показывается только после создания или замены.
Храните ключ в переменной окружения RENDERFOX_API_KEY. Не вставляйте его в исходный код, Git, адресную строку или клиентский JavaScript. Базовый адрес API — https://api.renderfox.ru/v1. При необходимости сохраните его в переменной RENDERFOX_BASE_URL; примеры используют этот адрес по умолчанию.
Получите модели
curl "${RENDERFOX_BASE_URL:-https://api.renderfox.ru/v1}/models" \
-H "Authorization: Bearer $RENDERFOX_API_KEY"Используйте точный адрес /v1 для OpenAI-совместимых SDK. Запрос списка моделей не запускает генерацию.
Список зависит от разрешённых моделей вашего ключа. Используйте точный id из ответа. Неизвестное имя не заменяется моделью по умолчанию.
Первый ответ
У каждого запроса на генерацию должен быть Idempotency-Key. Новый пользовательский запрос получает новый идентификатор; повтор после сетевой ошибки — тот же идентификатор и абсолютно то же тело.
import os
import uuid
from openai import OpenAI, DefaultHttpxClient
client = OpenAI(
api_key=os.environ["RENDERFOX_API_KEY"],
base_url=os.environ.get("RENDERFOX_BASE_URL", "https://api.renderfox.ru/v1"),
http_client=DefaultHttpxClient(
trust_env=False,
),
)
request_key = str(uuid.uuid4())
reply = client.chat.completions.create(
model="gpt-5.6-luna",
messages=[{"role": "user", "content": "Коротко объясни HTTP."}],
max_tokens=256,
extra_headers={"Idempotency-Key": request_key},
)
print(reply.choices[0].message.content)import OpenAI from 'openai';
import { randomUUID } from 'node:crypto';
const client = new OpenAI({
apiKey: process.env.RENDERFOX_API_KEY,
baseURL: process.env.RENDERFOX_BASE_URL || "https://api.renderfox.ru/v1",
maxRetries: 0,
});
const reply = await client.chat.completions.create({
model: 'gpt-5.6-luna',
messages: [{ role: 'user', content: 'Коротко объясни HTTP.' }],
max_tokens: 256,
}, { headers: { 'Idempotency-Key': randomUUID() } });
console.log(reply.choices[0].message.content);curl "${RENDERFOX_BASE_URL:-https://api.renderfox.ru/v1}/chat/completions" \
-H "Authorization: Bearer $RENDERFOX_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"model":"gpt-5.6-luna","messages":[{"role":"user","content":"Коротко объясни HTTP."}],"max_tokens":256}'Пример Node.js запускайте на сервере, где ключ хранится в ENV. Не передавайте секрет в браузер. Настройки других инструментов доступны в интеграциях.
Стоимость запроса зависит от модели и количества токенов. Проверьте доступный баланс и при необходимости установите лимит расходов для ключа.
Что проверить дальше
Посмотрите биллинг, потоковые ответы, Responses и ошибки. В интеграциях есть готовые настройки клиентов.