Как автоматизировать производство видео для взрослых через API
Читать 7 мин
Автор: Nureta TeamОбновлено 29 сентября 2026 г.
Производство видео для взрослых автоматизируется цепочкой вызовов API: сгенерировать сценарий, приложить референсы, отправить рендер и дождаться вебхука о готовности. Nureta Developer API покрывает каждый этап одним ключом: черновики сценариев по $0.01, склеенные ролики до 180 секунд, подписанные колбэки и посекундная оплата с предоплаченного баланса, который ограничивает траты даже у задачи, вышедшей из-под контроля. Достаточно одного текста — фото не нужны, а с референсными изображениями ролик тоже может длиться до 180 секунд.
Nureta — платформа NSFW AI-видео No.1 без фильтров, которой доверяют более 50 000 пользователей. Текст в видео и фото в видео — до 3 минут.
Как выглядит автоматический конвейер видео 18+?
Производственный конвейер на Nureta Developer API обычно состоит из пяти этапов. Этап 1, идея: превратить завязку в структурированный сценарий. Этап 2, материалы: загрузить или сгенерировать референсные изображения. Этап 3, рендер: создать видеозадачу по сценарию. Этап 4, проверка: при желании остановить раскадровку, чтобы её одобрил человек. Этап 5, доставка: получить URL готового видео через вебхук и опубликовать его в своём продукте. Все этапы используют один bearer-ключ и один жизненный цикл «создание → опрос → финал», поэтому всю цепочку может вести один небольшой воркер.
Главное архитектурное решение — считать каждую генерацию долговечной задачей, а не блокирующим HTTP-вызовом. Минутная сцена рендерится несколько минут, поэтому код должен отправить задачу, сохранить её id и идти дальше. Так конвейер можно перезапускать: если воркер упал, задача продолжает выполняться на стороне Nureta, а очередь помнит, какой id проверить.
Как массово превращать идеи в раскадровки?
Начните с генерации сценария — это самый дешёвый этап. POST /api/v3/contents/scripts с телом {"model":"seahorse-script","content":[{"type":"text","text":"ночная встреча двух бывших возлюбленных"}],"duration":60} стоит фиксированные $0.01 независимо от длины. В ответе — название, имена персонажей и список сцен, у каждой есть setting, beat и durationSeconds. Параметр duration (5–180 секунд) меняет число сцен, но не цену.
Эти сцены почти напрямую ложатся на видеораскадровку. Для каждого бита решите, подводка это или кульминация, и передайте их как segments[] с собственными duration_seconds (4–15) и флагом explicit. Для референсов POST /api/v3/contents/uploads возвращает краткоживущую подписанную ссылку: вы загружаете на неё байты изображения методом PUT и указываете в задаче полученный assetUrl. Загрузка бесплатна, но выдача подписанных ссылок ограничена 30 запросами в минуту на ключ, так что планируйте загрузки пакетами.
Как отправлять и отслеживать задачи?
Отправляйте рендеры из воркера очереди через POST /api/v3/contents/generations/tasks и сразу сохраняйте полученный id — до того, как что-то ещё успеет упасть. Стоимость резервируется с баланса при создании, так что успешная отправка означает, что задача уже оплачена. Если HTTP-вызов оборвался по таймауту и неясно, создана ли задача, проверьте свои записи и список задач перед повторной отправкой: слепые ретраи — это путь к двойной оплате.
Для отслеживания у каждой видеозадачи есть объект step. Коды включают queued, generating_script, generating_visuals, rendering (с числом готовых и всего клипов), stitching, done и failed. API не присылает текст для отображения, поэтому сопоставьте коды со своими подписями. Опрос работает, но каждый запрос учитывается в лимите ключа (по умолчанию 10 запросов в секунду, настраивается от 1 до 100), поэтому на объёме лучше по умолчанию использовать вебхуки.
Как вебхуки поддерживают работу конвейера?
Укажите callback_url в каждой задаче, и Nureta отправит финальный объект задачи — такой же, как возвращает GET, — на ваш HTTPS-эндпоинт, когда задача завершится успехом или ошибкой. Добавьте callback_secret (8–256 символов) и проверяйте каждую доставку: посчитайте HMAC-SHA256 от заголовка с меткой времени, точки и сырого тела запроса и сравните за постоянное время с заголовком подписи. Всё, что не совпадает, отклоняйте.
Приёмник должен быть скучным и идемпотентным. Доставка «как минимум один раз», до 5 попыток, поэтому дедуплицируйте по id задачи. Отвечайте любым 2xx в пределах 5 секунд, а тяжёлую работу — скачивание, перекодирование, публикацию — выполняйте асинхронно: медленный ответ считается ошибкой, а редиректы не выполняются. URL колбэка должен быть HTTPS и не может указывать на приватные или loopback-адреса. Оставьте редкий опрос как страховку на случай пропущенного вебхука.
Где в конвейере нужен человек?
Для малорискового объёма полная автоматизация допустима, но всё, что вы публикуете под своим брендом, стоит пропускать через проверку в режиме edit. Отправьте задачу с "mode":"edit" — она будет оплачена, подготовит черновик раскадровки и остановится в статусе planned с превью персонажа, сценариями по планам, длительностями, флагами explicit и превью фонов без людей. Проверяющий может поменять биты или кадры, а затем вызвать POST …/tasks/:id/render — или POST …/tasks/:id/cancel для немедленного полного возврата. Черновики, которые никто не отрендерил, возвращаются автоматически.
Автоматизация не снимает с вас ответственность за соблюдение правил. Всё, что создаётся через Nureta Developer API, подпадает под контент-политику Nureta: только взрослые, никаких несовершеннолетних, включая вымышленных, никаких реальных людей без согласия, никаких публичных лиц, никакого контента без согласия. Если конвейер обслуживает конечных пользователей, проверяйте их возраст сами и фиксируйте согласие на референсные фото до того, как они попадут в задачу.
Как заложить бюджет на автоматический запуск?
API тарифицируется посекундно с предоплаченного баланса: $0.1888 за секунду в 480p, $0.2773 в 720p и $0.5428 в 1080p. Пример расчёта: 50 минутных сцен в 480p — это 50 × 60 × $0.1888 = $566.40, плюс 50 черновиков сценариев по $0.01 = $0.50, плюс 100 референсных изображений по $0.05 = $5.00, итого $571.90. Неудачные генерации возвращаются автоматически, так что реальная сумма будет не выше этой.
Предоплата заодно работает как автомат защиты. Когда баланса не хватает на новую задачу, API возвращает AccountOverdueError вместо того, чтобы копить неограниченные траты, поэтому баг, зацикливший создание задач, остановится, когда закончится баланс. Не путайте это с потребительским приложением Nureta: там 5-секундное видео в 480p стоит $1.29 в USDC, и оно сделано для одного человека, снимающего один фильм, а не для конвейеров.