RU ▾
NSFW Video Generator

API без цензуры для конвейеров взрослых видео

API LLM для сценариев NSFW: текстовый рабочий процесс

API LLM для сценариев NSFW пишет текстовую часть проекта: планы, списки сцен, диалоги и промпты для других инструментов. Видео он не создает, и эта страница показывает, где он вписывается в процесс.

Обновлено

Иллюстрация: текстовые страницы сценария переходят из терминала в пустые кадры фильма, демонстрируя текстовый рабочий процесс создания видео LLM

Ключевые моменты

  1. API работает только с текстом. Он создает сценарии, списки кадров и промпты, но не изображения, аудио или видео.
  2. Используйте JSON-режим, чтобы получить список сцен, который может обработать ваш конвейер, с системным промптом, задающим тон и правила.
  3. Контекстное окно на 100 000 токенов позволяет хранить всю «библию сюжета» в каждом запросе.
  4. Персонажи должны быть взрослыми, а сексуальный контент с участием несовершеннолетних никогда не допускается.

Что делает LLM в конвейере создания видео

Если вы создаете рабочий процесс API LLM для сценариев NSFW, первым делом нужно определить разделение труда. Языковая модель пишет. Отдельная видео-модель, редактор или съемка создают материал. Этот сервис предлагает только первую часть: одну модель с открытыми весами, настроенную на ответы без отказов по контенту для законного использования взрослыми, через эндпоинт, совместимый с OpenAI. Она не рендерит кадры, не синтезирует голос и не создает изображения, а также не предоставляет эмбеддинги или дообучение.

Это покрывает большую часть работы над проектом для взрослой аудитории, например, художественной литературой, ролевыми играми и повествованием в стиле компаньона. Модель может набросать синопсис, разбить его на сцены, написать диалоги и повествование, составить раскадровку и сформулировать промпты для любого видеоинструмента, который вы используете далее. Страница NSFW-конвейеров описывает, как этот текстовый этап подключается к остальной части стека.

Одно правило фиксировано и применяется к каждому запросу: нет сексуального контента с участием несовершеннолетних. Настройте системный промпт так, чтобы каждый персонаж был взрослым, и воспринимайте это как требование проекта, а не как второстепенную деталь.

Конвейер из четырех этапов

Рабочий процесс сценария лучше всего работает, когда каждый вызов выполняет одну задачу и передает структурированный результат следующему. Практичная схема выглядит так:

  1. Библия сюжета. Один документ с персонажами (все взрослые), сеттингом, тоном и повторяющимися деталями. Вы пишете его один раз и отправляете с каждым вызовом.
  2. План. Один запрос превращает предпосылку в 8–15 кратких описаний сцен.
  3. Сценарии сцен. Один запрос на каждый этап создаёт диалоги, описания действий и закадровый текст, используя «библию» и предыдущую сцену для сохранения непрерывности.
  4. Список кадров и промпты. Финальный запрос по каждой сцене возвращает JSON: кадры, длительность, режиссёрские заметки и строку промпта для вашего видеоинструмента.

Разделение таким образом обеспечивает краткость результатов, что упрощает их проверку и снижает стоимость повторной генерации, если результат вам не нравится. Кроме того, сбой одного вызова затрагивает только одну сцену, а не весь сценарий.

Системный промпт, задающий правила

Системный промпт — это место, где задаются тон, формат и ограничения. Модель без механизма отказа всё равно следует инструкциям, поэтому качество вашего промпта определяет качество сценария. Будьте конкретны в описании жанра, точки зрения и того, что следует исключить. Вот отправная точка для художественного текста, рассчитанного на взрослую аудиторию:

SYSTEM = '''You are a screenwriter for adult-audience fiction videos.
All characters are adults aged 25 or older, and you state each age in the character sheet.
Write in present tense, third person, with short visual action lines.
Keep dialogue natural and under 25 words per line.
Build tension and character through setting, glances and subtext.
Never include minors in any role or reference.
Follow the story bible exactly; do not change names, ages or relationships.
When asked for JSON, return only the JSON object.'''

Настраивайте его для каждого проекта. Детектив в стиле нуар и романтическая комедия требуют разных инструкций, и однострочный пример стиля внутри промпта часто направляет модель лучше, чем абзац прилагательных.

Генерация списка сцен в JSON-режиме

На этапе создания списка съёмочных эпизодов вам нужен вывод, который может прочитать код. JSON-режим обеспечивает корректный объект. Передайте response_format={"type": "json_object"}, укажите ключи в промпте и установите temperature низким. Этот пример использует пакет Python openai с базовым URL этого сайта и идентификатором модели uncensored.

import json, os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.nsfwvideogenerator.cc/v1",
    api_key=os.environ["NOTRACK_API_KEY"],
)

SYSTEM = open("system_prompt.txt").read()
BIBLE = open("story_bible.txt").read()

def shot_list(scene_text):
    resp = client.chat.completions.create(
        model="uncensored",
        messages=[
            {"role": "system", "content": SYSTEM},
            {"role": "user", "content": (
                "Story bible:\n" + BIBLE +
                "\n\nScene script:\n" + scene_text +
                "\n\nReturn a JSON object with key 'shots': a list of objects with "
                "'number', 'seconds', 'camera', 'action' and 'video_prompt'."
            )},
        ],
        response_format={"type": "json_object"},
        temperature=0.3,
        seed=7,
    )
    data = json.loads(resp.choices[0].message.content)
    return data["shots"]

for shot in shot_list(open("scene_03.txt").read()):
    print(shot["number"], shot["seconds"], shot["video_prompt"])

Проверяйте результат, прежде чем передавать его дальше. Убедитесь, что существует shots, что seconds является числом, а строки промптов не пусты. Если парсинг не удался, повторите попытку один раз. Отказанные или ошибочные запросы не оплачиваются, поэтому повторная попытка не стоит дополнительных денег за ошибочный вызов.

Настройки, важные для творческого текста

Разным этапам нужны разные настройки, и API передает обычные параметры: temperature, top_p, stop, seed, а также штрафы за частоту и присутствие.

  • Планы и диалоги: temperature 0.8–1.0 для разнообразия. Сгенерируйте два-три варианта и выберите один.
  • Раскадровки: temperature 0,2–0,3, а также фиксированный seed, чтобы повторный запуск того же ввода был сопоставим.
  • Повторение: длинные сцены иногда зацикливаются на одной фразе. Небольшой штраф за частоту, например 0,3, помогает.
  • Контроль длины: max_tokens необязателен, но ограничение в 800 токенов для сцены обеспечивает компактность вывода. Последовательность stop, например "END SCENE", позволяет завершить вывод при появлении маркера, который вы просите модель написать.
  • Потоковая передача: включите stream: true, если автор наблюдает вывод в реальном времени. Помните, что поток удерживает слот параллельных запросов до завершения.

В быстром старте перечислены все поддерживаемые параметры, а эндпоинты — это POST /v1/chat/completions и GET /v1/models.

Использование контекстного окна 100k для непрерывности

Нарушение непрерывности — обычная проблема при генерации сценариев: меняется имя, «уплывает» возраст, исчезает реквизит. Контекстное окно составляет 100 000 токенов (промпт плюс ответ модели), что достаточно, чтобы поместить в каждый запрос всю «библию» истории, план и несколько готовых сцен. Вам не нужна система поиска по базе данных для проекта такого масштаба. Просто вставьте факты и позвольте модели читать их каждый раз.

Контекст не бесплатен, но он дешев. Предположим, что ваша библия и план занимают 20 000 токенов, а вы пишете 50 сцен, каждый вызов возвращает около 600 токенов:

  • Вход: 50 x 20 000 = 1 000 000 токенов x $0,15 за 1 млн = $0,15
  • Выход: 50 x 600 = 30 000 токенов x $0,50 за 1 млн = $0,015
  • Итого: $0,165 за все 50 сцен

Добавьте проход по списку кадров для тех же 50 сцен с вводом 3 000 токенов и выводом 500 токенов: ввод 150 000 токенов стоит $0,0225, а вывод 25 000 токенов — $0,0125, итого ещё $0,035. Полный сценарий и списки кадров обойдутся примерно в $0,20, что меньше пробного баланса в $0,50, который вы можете получить на странице API-ключа.

Имейте в виду, что окно должно содержать как промпт, так и ответ. Библия на 20 000 токенов оставляет много места, но промпт на 95 000 токенов оставляет мало места для токенов завершения.

Проверка и исправление вывода

Относитесь к каждой сгенерированной сцене как к черновому варианту. Три проверки позволяют выявить большинство проблем до передачи их в видеоредактор. Во-первых, запустите проверку на согласованность: отправьте готовый сценарий обратно вместе с «библией» сюжета и попросите модель перечислить все места, где имя, возраст, локация или хронология расходятся. Второй вызов с низкой температурой стоит недорого и часто выявляет расхождения, которые вы могли пропустить визуально. Во-вторых, прочитайте диалоги вслух. Строки, которые хорошо смотрятся на экране, могут быть неуклюжими при озвучивании, и актёр озвучки или инструмент синтеза речи сразу это выявят. В-третьих, убедитесь, что длительность кадров соответствует запланированной длине. Модели неточны в арифметике, поэтому складывайте поля seconds в коде, а не доверяйте итогу, написанному моделью.

Когда сцена не соответствует требованиям, сопротивляйтесь желанию переписать весь системный промпт. Добавьте одну корректирующую инструкцию в сообщение пользователя, например «короче описания действий» или «больше диалогов, меньше описаний», и перегенерируйте только эту сцену. Сохранение библии и системного промпта неизменными при изменении одной инструкции за раз позволяет понять, какое изменение помогло. Параметр seed полезен здесь, потому что фиксированное seed с небольшим редактированием промпта изолирует эффект редактирования.

Ограничения, честность и следующие шаги

Несколько простых ограничений перед началом работы. Модель работает только с текстом, поэтому каждый видеоролик, каждое изображение и каждая аудиодорожка должны создаваться другими инструментами. Это одна модель с открытыми весами от независимого провайдера, и это не официальный API ни одного крупного вендора. Качество зависит от промпта, поэтому планируйте проверку сценария человеком; относитесь к выводу как к черновому варианту.

Что касается пропускной способности, полный ключ позволяет 8 параллельных запросов и 300 в минуту, а пробный ключ — 2 и 60. Если вы пишете сцены параллельно, настройте пул воркеров соответственно. 429 с rate_limited или concurrency означает замедление; один с заголовком Retry-After: 5 означает, что сервис временно перегружен, поэтому подождите пять секунд и попробуйте снова. Промпты не используются для обучения.

Платный баланс начинается с пополнения на $20, любой целой суммой до $500, с +5% от $50, +10% от $100 и +15% от $200. Оплата только криптовалютой, USDT в сети TRC20 или USDC в сети Base, и кредит не сгорает. Текущие условия указаны на странице тарифов. Для проекта, подобного описанному выше, $20 покрывает десятки полных сценариев.

Вопросы и ответы

Может ли API генерировать видео самостоятельно?

Нет. Это текстовый LLM API. Он пишет сценарии, списки сцен и промпты, а для создания самого видео вы используете отдельный инструмент.

Есть ли контент, который находится вне пределов?

Да. Сексуальный контент с участием несовершеннолетних никогда не разрешается. Модель предназначена для законного использования взрослыми, и все персонажи в ваших проектах должны быть взрослыми.

Как получить список кадров, пригодный для парсинга?

Установите response_format в значение json_object, назовите ключи в промпте, снизьте temperature до уровня около 0.3 и проверьте результат с помощью json.loads перед использованием.

Сколько стоит полный сценарий?

При использовании «библии» истории на 20 000 токенов и 50 сцен по примерно 600 токенов каждая, этап написания обходится примерно в $0,165 при стоимости $0,15 за 1 млн входных токенов и $0,50 за 1 млн выходных токенов.

Ваш ключ — всего в одном шаге

Создайте аккаунт, скопируйте ключ, измените базовый URL. Вот и вся настройка.