LLM Hosting APIХостинг LLM: Быстрый старт API LLM
Хостинг LLM: Быстрый старт API LLM
Интегрируйте нашу API без цензуры LLM за считанные минуты, изменив базовый URL и API-ключ. В этом руководстве описаны аутентификация, завершения чата, потоковая передача и вызов функций через наш совместимый с OpenAI эндпоинт.
Аутентификация и ключи
Для использования API хостинга LLM вам нужен API-ключ из панели управления аккаунтом. Ключ аутентифицирует все запросы. Храните его в безопасности; любой, у кого есть ключ, может использовать ваш предоплаченный баланс. Вы можете сгенерировать новый ключ в любое время, что немедленно аннулирует предыдущий. Каждый аккаунт поддерживает один активный ключ. Для начала не требуется номер телефона или кредитная карта, так как новым аккаунтам начисляется пробный баланс.
Настройка базового URL
Наш API полностью совместим с OpenAI. Чтобы переключиться, обновите базовый URL клиента на https://api.llmhostingapi.com/v1 и укажите API-ключ в заголовке авторизации. Это работает с официальными SDK OpenAI и любой совместимой библиотекой клиентов. Вам не нужно менять логику кода, только эндпоинт и учетные данные. Идентификатор модели для использования — uncensored.
curl https://api.llmhostingapi.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."}]
}'
Эндпоинт завершения чата
Отправляйте текст модели через POST /v1/chat/completions. API принимает сообщения и возвращает текстовые ответы. Мы поддерживаем контекстное окно на 100 000 токенов как для ввода, так и для вывода. Поддерживается вызов функций для извлечения структурированных данных. Модель настроена на ответы без отказов по контенту для законного взрослого использования, что делает её идеальной для генерации творческого, исследовательского или взрослого контента без дополнительной настройки.
from openai import OpenAI
client = OpenAI(base_url="https://api.llmhostingapi.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)
Потоковые ответы (SSE)
Для снижения задержки и обеспечения взаимодействия в реальном времени включите потоковую передачу, установив stream: true. API возвращает фрагменты Server-Sent Events (SSE). Это позволяет отображать частичные ответы по мере их генерации. Потоковая передача не влияет на ценообразование или подсчет токенов. Она рекомендуется для чат-интерфейсов, где пользователи ожидают немедленной обратной связи. Убедитесь, что ваш клиент корректно обрабатывает парсинг 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)
Поддержка вызова функций
Определите функции в теле запроса с помощью параметра tools. Модель будет отвечать вызовами функций вместо обычного текста, когда это уместно. Вы должны выполнить функцию на своей стороне и отправить результат обратно в следующем повороте разговора. Это позволяет создавать сложные рабочие процессы, такие как запросы к базе данных или интеграции API. Модель автоматически выбирает инструменты на основе промпта пользователя и доступных определений функций.
Эндпоинт списка моделей
Запросите GET /v1/models, чтобы получить список доступных моделей. Вы увидите модель uncensored с её идентификатором, датой создания и полем владельца. Этот эндпоинт помогает проверить подключение и доступность модели. Он возвращает стандартный JSON в формате OpenAI. Используйте его для отладки проблем аутентификации перед отправкой запросов чата. Эндпоинт легкий и возвращает результат мгновенно.
Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.llmhostingapi.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);Вопросы и ответы
Какие лимиты запросов и какие бывают ошибки?
Лимит составляет 300 запросов в минуту на один ключ. Ошибка 401 означает, что ваш API-ключ недействителен. Ошибка 402 указывает на недостаток предоплаченного баланса. Ошибка 429 означает, что вы превысили лимит запросов. Тело запроса ограничено 8 МБ.
Как работает ценообразование?
Ценообразование по факту с предоплаченным балансом. Входные токены стоят $0,25 за 1 млн токенов, выходные — $1,00 за 1 млн токенов. Баланс не сгорает. Пополнить можно от $10, с бонусами за крупные депозиты. Ежемесячных платежей или подписок нет.
Модель без цензуры?
Да, модель отвечает без отказов по законным взрослым, художественным или спорным темам. Она не блокирует контент на основе стандартных политических или социальных норм. Единственное жесткое ограничение — отсутствие сексуального контента с участием несовершеннолетних, который всегда блокируется.
Ваш ключ — в одной форме от вас
Создайте аккаунт, скопируйте ключ, измените базовый URL. Вот и вся настройка.
Получить API-ключХарактеристики API
Все реальные лимиты и возможности API в одном месте — сверьте их до пополнения.
| Параметр | Значение |
|---|---|
| Формат API | совместим с OpenAI: любой OpenAI SDK работает — замените base URL и ключ |
| Эндпоинты | POST /v1/chat/completions · GET /v1/models |
| Авторизация | Authorization: Bearer YOUR_KEY |
| ID модели | uncensored |
| Base URL | https://api.llmhostingapi.com/v1 |
| Потоковая передача | да — server-sent events, последний фрагмент содержит расход токенов |
| Контекстное окно | 100 000 токенов (вход и ответ вместе) |
| Параметры | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Вызов функций | да — tools, tool_choice; ответ содержит tool_calls, в том числе в потоке; результат — сообщением role: tool |
| Максимум ответа | до остатка окна в 100 000 токенов; max_tokens необязателен (отдельного лимита нет) |
| JSON-режим | response_format: {"type": "json_object"} |
| Параллельные запросы | до 8 одновременно на ключ |
| Лимит запросов | 300 запросов в минуту на ключ |
| Заголовки ответа | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Размер запроса | до 8 МБ |
| Пробный баланс | $0,50 на 7 дней, без карты · Пробный ключ: 2 параллельных запроса, 60 в минуту; полные лимиты (8 и 300) после первого пополнения |
| Срок действия | оплаченный баланс не сгорает, без подписки |
| Пополнение | USDT (TRC20) или USDC (Base), любая целая сумма от $10 до $500 |
| Оплата | предоплаченный баланс по фактическому расходу; ошибки и отказы бесплатны |
| Цена | $0,25 за 1 млн входных токенов · $1,00 за 1 млн выходных |
| Бонус | +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 | модель занята — повторите через несколько секунд |