NSFW AI API: взрослые изображения и видео из вашего кода
Что API Genlaxy разрешает во взрослом контенте, как отказы приходят в ваш код и какие проверки ваше приложение должно делать до отправки промпта.

Если вы делаете продукт для взрослых, приложение-компаньон, инструмент для художников или личный генератор для себя, вы можете вызывать из своего кода те же модели, что использует студия. Это чек-лист именно для NSFW-контента: что API разрешает, как он отказывает и что лежит на вас, а не на нас. Общая механика (ключи, эндпоинты, готовый запрос для каждой модели) описана на странице API.
1. Знайте, что API разрешает
API подчиняется тем же условиям использования, что и студия, слово в слово. Взрослый контент между взрослыми разрешён. Три вещи запрещены всегда: сексуальный контент с участием несовершеннолетних или ролевые игры в возраст, контент, изображающий отсутствие согласия, и сексуальные или интимные изображения реального узнаваемого человека. Сверх того, каждая модель работает у провайдера со своей модерацией, и некоторые модели отклоняют взрослые промпты полностью.
В списке моделей, который возвращает API, нет флага "для взрослых" по той же причине, по которой его нет в каталоге: провайдеры меняют правила, а флаг, который мы не можем держать правдивым, вводил бы вас в заблуждение. Проверьте модели, которые собираетесь использовать, одним явно взрослым запросом каждую и соберите свой список из прошедших. Тест описан в нашем руководстве по NSFW-моделям изображений.
2. Обрабатывайте два вида отказов
Ваш код встретит отказы из двух мест, и приходят они по-разному:
- Наша проверка, синхронно. Каждое текстовое поле запроса проверяется до какого-либо списания. Промпт с участием несовершеннолетних сразу возвращается как 400 с кодом PROMPT_REJECTED_MINOR; сексуальное насилие или жестокость - как PROMPT_REJECTED_VIOLENCE. Генерация не создаётся, баланс не затрагивается.
- Провайдер, позже. Запрос принят и оплачен, генерация стартует, и провайдер её отклоняет. При опросе статуса генерация завершается с refunded: true и кодом ошибки MODERATION_REJECTED, а списанная сумма уже вернулась на баланс.
Первое считайте окончательным: не повторяйте запрос и не переформулируйте его автоматически. Второе считайте сигналом о модели: повтор с теми же входными данными на той же модели обычно проваливается так же, поэтому переходите к следующей модели из проверенного списка или прямо скажите пользователю, что эта модель отказала.
{ "modelId": "<id из списка моделей>", "inputs": { "prompt": "Портрет обнажённого взрослого мужчины лет сорока у окна в потёках дождя ночью, за ним огни города, низкий ключ освещения, объектив 85 мм" } }Пишите возраст в промптах так, как описали бы человека: "женщина лет тридцати", "мужчина лет сорока". Перед отправкой промпта изображения или видео слова вроде "девушка" и "парень" заменяются взрослыми формулировками, поэтому промпт, где с самого начала написано "взрослая женщина", даёт результат ближе к тому, что просил ваш пользователь.
3. Добавьте проверки, которые на вас
Наша проверка - это нижняя планка, а не ваша модерация. Условия делают вас ответственным за всё, что сгенерировано вашим ключом, в том числе вашими пользователями, и требуют ограничить ваш сервис людьми, достигшими совершеннолетия. На практике это значит:
- Проверка возраста перед любой функцией, генерирующей взрослый контент, до первого запроса, а не после.
- Ваша собственная проверка промпта до обращения к нам, чтобы пользователь, который ввёл что-то запрещённое, был остановлен и записан в лог на вашей стороне. Наши коды отказа - вторая линия, а не первая.
- Никаких загрузок реальных людей во взрослые сценарии. Если ваше приложение принимает первый кадр или референсное изображение, не позволяйте ему быть фотографией узнаваемого человека, когда результат сексуальный.
- Запись о том, кто что запросил, привязанная к вашему собственному id пользователя, чтобы, если что-то пойдёт не так, вы могли принять меры к нужному аккаунту.
4. Деньги, ключи и файлы
- Один баланс. Генерации через API оплачиваются с того же баланса, что и в студии, по тем же ценам, в евроцентах. Минимальное пополнение - €5.00.
- Идемпотентность. Отправляйте заголовок Idempotency-Key с каждым запросом на создание, чтобы сетевой повтор никогда не списал деньги дважды.
- Ключи остаются на вашем сервере. Ключ начинается с gl_live_, показывается один раз и должен храниться как серверный секрет, никогда не в браузере и не в сборке приложения. Если он утёк, отзовите его в настройках.
- Скачивайте сразу. Готовые файлы удаляются по истечении срока хранения, поэтому копируйте результат в своё хранилище, как только генерация успешно завершилась.
Видео через API работает так же; наши заметки о том, как оживить взрослый кадр, применимы без изменений, включая то, почему видеомодели отказывают чаще моделей изображений.
Вопросы
Разрешает ли API Genlaxy NSFW-генерацию?
Да, для взрослого контента между взрослыми, на тех же условиях, что и студия. Контент с участием несовершеннолетних, без согласия или с реальными узнаваемыми людьми отклоняется всегда, а некоторые модели отклоняют взрослые промпты на стороне своего провайдера.
Как API сообщает об отклонённом NSFW-промпте?
Промпт, который отклонила наша проверка, получает 400 с PROMPT_REJECTED_MINOR или PROMPT_REJECTED_VIOLENCE и никогда не оплачивается. Генерация, которую отклонил провайдер, завершается возвратом средств с кодом ошибки MODERATION_REJECTED.
Кто отвечает за то, что генерируют мои пользователи?
Вы. Условия делают владельца ключа ответственным за всё, что сгенерировано этим ключом, в том числе его пользователями, и требуют ограничить сервис людьми, достигшими совершеннолетия.


