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