ru ▾

Uncensored LLM API: Быстрое начало

Интегрируйте наше uncensored LLM в свое приложение со стандартной OpenAI-совместимой конечной точкой. Это руководство предоставляет точные конечные точки, аутентификацию и протоколы потоковой передачи, необходимые вам для немедленного отправки запросов.

Базовый URL и аутентификация

Базовый URL для всех запросов — https://api.storyunfiltered.com/v1. Добавьте свой API-ключ к Authorization header в виде Bearer-токена. Каждый аккаунт генерирует один активный ключ; замена ключа делает предыдущий недействительным. Для регистрации не требуется номер телефона, и вы можете аутентифицироваться с помощью учетных данных Google или email, чтобы мгновенно получить свой ключ.

Пример заголовка:

  • Authorization: Bearer YOUR_API_KEY

Первый запрос

Отправьте POST-запрос на /v1/chat/completions с идентификатором модели uncensored. API принимает стандартные параметры, такие как temperature и stop. Ответы возвращаются в формате JSON, содержащем сгенерированный текст в message.content поле.

Пример запроса:

  • model: uncensored
  • messages: Массив сообщений пользователя и ассистента

Список моделей и конфигурация

Получите доступные модели, отправив GET-запрос на /v1/models. Доступна только одна модель: uncensored, модель с открытым весом, настроенная на неограниченный контент. Она поддерживает вызов функций, JSON-режим и потоковую передачу через Server-Sent Events (SSE). Настройте такие параметры, как top_p и seed для управления разнообразием вывода.

Пример ответа:

  • id: uncensored
  • object: model

Потоковые ответы с SSE

Включите потоковую передачу, установив stream: true в вашем запросе. API возвращает поток Server-Sent Events, где каждый фрагмент содержит частичный ответ. Последний фрагмент включает статистику использования токенов для целей биллинга. Этот подход снижает воспринимаемую задержку при генерации длинного текста.

Пример потока:

  • event: message
  • data: JSON-чанк с delta контент

Вызов инструментов и режим JSON

Используйте tools параметр для определения схем функций для вашего приложения. Модель будет возвращать структурированные вызовы инструментов, когда это уместно. Для строгого вывода в формате JSON установите response_format для {"type": "json_object"}. Это обеспечивает, что ответ является допустимым JSON без дополнительного форматирования markdown. Такие параметры, как tool_choice позволяет принудительно использовать определенные инструменты.

Пример схемы инструмента:

  • name: get_weather
  • description: Get current weather

Лимиты токенов и ограничения частоты запросов

Окно контекста поддерживает до 100 000 токенов для суммы промпта и завершения. Максимальный вывод за один запрос составляет 16 000 токенов, или 2 048, если max_tokens is unset. Лимиты скорости составляют 300 запросов в минуту и 8 одновременных запросов на ключ. Тело запроса не должно превышать 8 МБ. Ошибки и отказы не потребляют кредит.

Примерные лимиты:

  • max_tokens: 16,000
  • rate_limit: 300 RPM

cURL

curl https://api.storyunfiltered.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "What is the capital of France?"}]
  }'

Python

from openai import OpenAI

client = OpenAI(base_url="https://api.storyunfiltered.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

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.storyunfiltered.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 = 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)

FAQ

Каков основной ключевой запрос для этого сервиса?

Основное ключевое слово — unfiltered story, отражающее наш фокус на сыром, неограниченном контенте. Это гарантирует, что ваши приложения получат текст без произвольных отказов политики для законного взрослого или спорного контента.

Как аутентифицировать запросы?

Добавьте свой API-ключ в заголовок Authorization в виде токена bearer. Вы можете сгенерировать этот ключ, зарегистрировавшись через Google или email на странице получения API-ключа. Ключ действителен для всех конечных точек в рамках базового URL.

Каковы детали оплаты и биллинга?

Тарифы: $0.15 за 1M входных токенов и $0.50 за 1M выходных токенов. Оплата принимается только криптовалютой (USDT в сети TRC20 или USDC в сети Base) суммами от $20 до $500. Кредит не имеет срока действия, а за крупные пополнения начисляются бонусы.

Получите ключ сейчас

Зарегистрируйтесь, возьмите ключ, обновите базовый URL. Это всё, что нужно.

Попробовать с пробным кредитом