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