Базовый URL и аутентификация
Начните с создания аккаунта на странице Получить API-ключ. Вам нужен только адрес электронной почты и пароль; для активации бесплатного пробного баланса не требуется номер телефона или кредитная карта. После регистрации ваш API-ключ отображается сразу. Скопируйте этот ключ и сохраните его в безопасном месте. Используйте его в заголовке Authorization в виде токена Bearer для всех запросов. Базовый URL для всех эндпоинтов — https://api.gemma4api.com/v1. Этот URL работает с любым стандартным клиентом, совместимым с OpenAI, позволяя вам сменить провайдера, просто изменив базовый URL и API-ключ в конфигурации.
Первый запрос
Отправьте свой первый промпт с помощью curl, чтобы проверить подключение. Замените YOUR_API_KEY на ваш реальный ключ. Идентификатор модели — uncensored. Этот простой запрос «текст на вход, текст на выход» подтверждает, что аутентификация выполнена верно и модель отвечает. Если вы получили ответ JSON с массивом choices, ваша настройка завершена. Теперь вы можете приступить к интеграции SDK для более сложных рабочих процессов.
curl https://api.gemma4api.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'
Интеграция Python SDK
Установите официальный пакет OpenAI для Python. Установите базовый URL и API-ключ в переменные окружения или передайте их конструктору клиента. Используйте идентификатор модели uncensored, чтобы вызывать именно наш экземпляр. Этот подход сохраняет совместимость кода со стандартными шаблонами OpenAI, используя нашу модель без цензуры для генерации контента. SDK автоматически обрабатывает повторные попытки и парсинг JSON.
from openai import OpenAI
client = OpenAI(base_url="https://api.gemma4api.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)
Интеграция Node.js SDK
Для сред JavaScript установите пакет OpenAI Node.js. Настройте клиент, указав базовый URL https://api.gemma4api.com/v1 и ваш API-ключ. Используйте идентификатор модели uncensored в ваших вызовах completion. Эта настройка позволяет сохранять стандартные структуры кода, совместимые с OpenAI, одновременно получая преимущества от специфического поведения модели, размещённой на наших серверах. Убедитесь, что вы правильно обрабатываете асинхронные ответы в цикле событий Node.js.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.gemma4api.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);
Потоковая передача ответов
Включите потоковую передачу, установив параметр stream в значение true в вашем API-запросе. Это возвращает поток Server-Sent Events (SSE), позволяя отображать токены по мере их генерации. Это идеально подходит для интерфейсов чата, где важна задержка. Каждый чанк содержит частичный дельта-ответ. Обработайте событие окончания потока, чтобы знать, когда генерация завершена. Этот метод значительно снижает воспринимаемую задержку по сравнению с ожиданием полного ответа.
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
Лимиты, ошибки и контекстное окно
Ваши запросы поддерживают контекстное окно объёмом 100 000 токенов для промпта и completion в сумме. Лимит запросов составляет 300 запросов в минуту на ключ, при этом максимальный размер тела запроса — 8 МБ. Распространённые ошибки: 401 для недействительных ключей, 402, если исчерпан предоплаченный баланс, и 429 при превышении лимита в минуту. Пересоздание API-ключа аннулирует старый, но не сбрасывает счётчик лимитов. Убедитесь, что ваш клиент appropriately обрабатывает эти коды состояния HTTP для обеспечения бесперебойной работы.
Технические характеристики
Все реальные лимиты и возможности API в одном месте — сверьте их до пополнения.
| Параметр | Значение |
|---|---|
| Формат API | совместим с OpenAI: любой OpenAI SDK работает — замените base URL и ключ |
| Авторизация | Authorization: Bearer YOUR_KEY |
| Эндпоинты | POST /v1/chat/completions · GET /v1/models |
| Base URL | https://api.gemma4api.com/v1 |
| ID модели | uncensored |
| Контекстное окно | 100 000 токенов (вход и ответ вместе) |
| Потоковая передача | да — server-sent events, последний фрагмент содержит расход токенов |
| Вызов функций | да — tools, tool_choice; ответ содержит tool_calls, в том числе в потоке; результат — сообщением role: tool |
| Максимум ответа | до остатка окна в 100 000 токенов; max_tokens необязателен (отдельного лимита нет) |
| JSON-режим | response_format: {"type": "json_object"} |
| Параметры | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Лимит запросов | 300 запросов в минуту на ключ |
| Размер запроса | до 8 МБ |
| Заголовки ответа | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Параллельные запросы | до 8 одновременно на ключ |
| Цена | $0,25 за 1 млн входных токенов · $1,00 за 1 млн выходных |
| Срок действия | оплаченный баланс не сгорает, без подписки |
| Пополнение | USDT (TRC20) или USDC (Base), любая целая сумма от $10 до $500 |
| Пробный баланс | $0,50 на 7 дней, без карты · Пробный ключ: 2 параллельных запроса, 60 в минуту; полные лимиты (8 и 300) после первого пополнения |
| Бонус | +5% от $50, +10% от $100 |
| Оплата | предоплаченный баланс по фактическому расходу; ошибки и отказы бесплатны |
| Вход | Google или e-mail и пароль |
| Ключи | один активный ключ на аккаунт; новый заменяет старый |
| Контент | контент для взрослых разрешён; сексуальный контент с несовершеннолетними запрещён |
Коды ошибок
Ошибки приходят в JSON с постоянным type; неудачные и отклонённые запросы не оплачиваются.
| Код | Тип | Что значит |
|---|---|---|
400 | bad_request | неверный JSON, пустые сообщения, неверный параметр или превышено окно контекста |
401 | missing_key · invalid_key · key_revoked | нет ключа, ключ неверный или заменён новым |
402 | no_credit | баланс пуст — пополните, работа продолжится сразу |
403 | content_blocked | сексуальный контент с несовершеннолетними — отказ, без оплаты |
404 | not_found | неизвестный эндпоинт |
413 | request_too_large | тело запроса больше 8 МБ |
429 | rate_limited · concurrency | больше 300/мин или 8 параллельно — подождите и повторите |
503 | upstream_busy | модель занята — повторите через несколько секунд |
Вопросы и ответы
Сбрасывает ли регенерация API-ключа счётчик лимита запросов?
Нет. Регенерация ключа отзывает предыдущий и выдает новый, но лимит запросов применяется к аккаунту и сохраняется независимо от смены ключа. Вам нужно ждать, пока истечет минутное окно, если вы превысили лимит в 300 запросов в минуту.
Какая модель работает под идентификатором «uncensored»?
Это модель с открытыми весами, размещенная на наших GPU-серверах. Это не GPT, Claude, Gemini или модель другого вендора. Она настроена на ответы без отказов по контенту для законного использования взрослыми.
Можно ли использовать это API для вызова функций?
Да. Эндпоинт <code>/v1/chat/completions</code> поддерживает вызов функций. Вы можете передать определения инструментов в запросе, и модель вернет структурированный JSON, совместимый со стандартными реализациями SDK OpenAI.
Ваш ключ — в одной форме от вас
Создайте аккаунт, скопируйте ключ, измените базовый URL. Вот и вся настройка.