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