Бесплатный API модерации изображений Poyo помогает оценивать фотографии профиля, изображения сообщества и загружаемые товары перед тем, как решить, как их публиковать. С помощью Omni Moderation можно проверить отдельное изображение или включить его подпись в тот же запрос.
Начните с Playground, чтобы увидеть флаги категорий и оценки на собственных примерах. Затем используйте отслеживание задач Poyo и необязательный callback о завершении, чтобы связать эти результаты с правилами публикации и инструментами проверки вашего приложения.
В этом руководстве объясняется, какие категории изображений поддерживаются, как подготовить загрузку и как построить понятный путь от отправки до публикации или дальнейшей проверки. Вы можете сначала применить этот процесс к одной поверхности загрузки, а затем расширить его по мере накопления опыта вашей командой.
Что должна делать модерация изображений для вашего продукта
Начните с места, где появляются изображения, и с того, кто их увидит.
Аватар может отображаться рядом с каждым комментарием. Фотография сообщества может появиться в публичной ленте. Изображение товара может находиться рядом с объявлением, для которого требуются проверки, выходящие за рамки визуальной безопасности. Для каждой поверхности могут потребоваться разные правила и разная степень осторожности перед публикацией.
Например, продукт может разрешать не содержащую графических сцен историческую фотографию в обсуждении, но отклонять её в качестве фотографии профиля. Само изображение не изменилось; изменились его размещение и правила продукта.
Определите, что должно происходить в трёх случаях: изображение соответствует правилам, его смысл неясен или оно явно нарушает правило. Также определите четвёртый исход для недоступной оценки. Ошибка обработки не должна молча интерпретироваться как одобрение.
Что Omni Moderation проверяет в изображениях
Poyo предоставляет доступ к шести категориям рисков для изображений без списания кредитов, охватывающим сексуальный контент, насилие и самоповреждение. Каждый запрос принимает один URL изображения по HTTPS; добавьте подпись, чтобы оценить предоставленный текст вместе с изображением.
| Категория | Что означает сигнал |
|---|---|
sexual | Сексуальный контент |
violence | Насилие |
violence/graphic | Графическое насилие |
self-harm | Контент о самоповреждении |
self-harm/intent | Признаки намерения причинить себе вред |
self-harm/instructions | Инструкции по самоповреждению |
Используйте category_applied_input_types, чтобы определить, относится ли результат к изображению, предоставленному тексту или к обоим. Текстовый ввод поддерживает 13 категорий, включая ненависть, домогательства, инструкции по незаконным действиям и sexual/minors. Эти категории, предназначенные только для текста, оценивают предоставленный текст; они не являются проверками изображений. Для запроса только изображения нулевая оценка и пустой список типов входных данных для неподдерживаемой категории означают, что она не оценивалась.
Для правил, зависящих от слов, встроенных в изображение, добавьте подходящий этап извлечения текста и проверьте извлечённый текст. Качество продукта, водяные знаки, персональная информация и правила в отношении запрещённых предметов также требуют собственных проверок. Для видео и анимированных загрузок необходим отдельный процесс выбора кадров, а для аудио — отдельная обработка; проверка выбранных кадров не оценивает видео целиком или его звуковую дорожку.
Omni Moderation не является специализированным детектором CSAM, а sexual/minors поддерживает только текст. Не отправляйте известные или предположительно содержащие CSAM материалы в API модерации OpenAI; следуйте официальным рекомендациям по безопасности детей.
В документации API Poyo описаны поддерживаемые входные данные и поля ответа. Используйте эту информацию о покрытии, чтобы выбрать проверки для каждой поверхности загрузки.
Подготовьте загрузку перед запросом проверки
Вашему приложению необходим ресурс изображения, который сервис модерации сможет получить. Имя файла, например photo.jpg, на устройстве пользователя недостаточно, а веб-страница, на которой отображается изображение, не обязательно является URL самого изображения.
Храните новые загрузки за пределами публичных лент, пока проверка не завершена. Эта промежуточная область может быть частью вашей существующей системы хранения. Применяйте средства контроля доступа и выбирайте поддерживаемый способ доставки, позволяющий сервису получить конкретный файл, не предоставляя доступ ко всей вашей учётной записи хранилища.
Если этот способ использует временный URL по HTTPS, предусмотрите достаточно времени для обработки поставленных в очередь задач и повторных попыток. Не включайте учётные данные сеанса в URL и избегайте размещения частных ссылок на изображения в общедоступных журналах.
Проверьте загрузку перед отправкой на оценку содержимого. Убедитесь, что это ожидаемый тип файла и что его можно декодировать, а также установите подходящие для вашего приложения и провайдера ограничения на размер файла и размеры изображения. Это проверки загрузки; оценка модерации не подтверждает техническую безопасность файла.
Записывайте стабильный идентификатор содержимого и версию. Связывайте идентификатор задачи с этой версией, чтобы результат случайно не одобрил изображение, которое пользователь заменил во время проверки.
Практический процесс от загрузки до публикации
Простой процесс может работать без большой команды модерации, если статусы и зоны ответственности определены явно.
| Этап | Что происходит | Что видит пользователь |
|---|---|---|
| Загружено | Сохраните файл и назначьте его версии содержимого | Загрузка получена |
| Ожидание проверки | Отправьте изображение и запишите идентификатор задачи | Ожидание проверки |
| Оценка завершена | Прочитайте статус задачи, поддерживаемые категории и оценки | Проверка продолжается до принятия решения продуктом |
| Одобрено | Примените правила продукта и сделайте изображение видимым | Опубликовано |
| Проверка человеком | Удерживайте изображение и назначьте проверяющего | Ожидание решения |
| Отклонено или не удалось обработать | Объясните правило или техническую проблему и предложите подходящий следующий шаг | Причина для редактирования, повторной попытки или обжалования |
Poyo предоставляет оценку категорий и результат задачи, связывающие эти этапы. Используйте идентификатор задачи или callback о завершении, чтобы обновить соответствующую загрузку в вашем приложении, а затем примените свои правила, чтобы опубликовать её, передать проверяющему или запросить изменение. Эти действия выполняются вашей существующей системой публикации и инструментами проверки.
Делайте сообщения для пользователей конкретными. «Ваша фотография ожидает проверки» полезно, пока обработка не завершена. «Нам не удалось обработать эту загрузку; попробуйте ещё раз» описывает техническую проблему. Ни одно из этих сообщений не следует заменять на «Ваше изображение нарушает наши правила», если такое сообщение фактически не подтверждено решением по содержимому.
Отправка изображения через Poyo
Вы можете проверить изображение в Playground Omni Moderation без написания кода или ручного создания API-ключа. Войдите в систему, очистите текст, если хотите проверить только изображение, добавьте одно изображение и выберите Run. Изначально используйте новый результат задачи, а не отображаемый сохранённый пример.
Для интеграции отправляйте запрос с вашего сервера с API-ключом Poyo:
curl -X POST https://api.poyo.ai/api/generate/submit \
-H "Authorization: Bearer YOUR_POYO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "omni-moderation-latest",
"input": {
"image_urls": ["https://your-image-host.example/upload.jpg"]
}
}'
Замените пример домена на доступный по HTTPS URL, указывающий на файл изображения. Для пробной проверки без кода с локальным файлом загрузите изображение через Playground; для API-запросов укажите его размещённый URL в input.image_urls.
Чтобы включить подпись, добавьте "prompt": "The caption being reviewed" внутри input. Для нескольких изображений в публикации отправляйте отдельные задачи и записывайте, какому изображению соответствует каждый результат. Одобрение одного изображения не должно автоматически означать одобрение остальных.
В ответ на отправку возвращается task_id. Получите статус с помощью:
curl https://api.poyo.ai/api/generate/status/YOUR_TASK_ID \
-H "Authorization: Bearer YOUR_POYO_API_KEY"
Задача начинается со статуса not_started, выполняется асинхронно и завершается статусом finished или failed. Для завершённых задач читайте результаты в data.output.results.
Вы также можете указать callback_url верхнего уровня при отправке. Тело callback представляет собой объект данных статуса без внешней оболочки, поэтому результаты находятся в output.results. Проверяйте callback в соответствии с рекомендациями Poyo по webhook и сделайте обработчик устойчивым к повторной доставке.
Превратите оценку в решение
Начните с простого правила, сформулированного понятным языком, для каждой категории, важной для данной поверхности. Затем оцените, помогает ли сигнал модели применять это правило.
Изображение, явно нарушающее вашу политику, может быть отклонено после выполнения соответствующих проверок. Допустимое изображение можно опубликовать после завершения всех необходимых проверок. Неоднозначные случаи следует оставлять на проверке, а не вынужденно превращать в решение из-за истечения таймера.
Высокая оценка — повод изучить соответствующую категорию. Она не является процентной гарантией нарушения политики. Интерпретация может зависеть от того, является ли изображение произведением искусства, медицинской иллюстрацией, новостной фотографией или обычной фотографией пользователя.
Используйте собственные размеченные примеры, чтобы выбрать пороги маршрутизации. Проверяйте как допустимые изображения, которые без необходимости отправляются на проверку, так и запрещённые изображения, пропущенные процессом. Если вы меняете порог, сравните результаты с предыдущей политикой, прежде чем расширять автоматические действия.
Записывайте достаточно информации для объяснения решений: версию содержимого, идентификатор задачи, сигналы категорий, применённое правило, результат проверки человеком, если он был, и время принятия решения. Установите правила хранения и контроля доступа для этих записей вместо бессрочного хранения каждого исходного изображения.
Обрабатывайте ошибки, изменения и апелляции
Изображение невозможно получить. Убедитесь, что URL указывает непосредственно на изображение, остаётся действительным и доступен без пользовательской сессии. Оставьте загрузку в ожидании, пока решаете техническую проблему.
Запрос всё ещё выполняется, когда страница перестаёт ждать. Сохраните идентификатор задачи и проверьте её статус. Немедленная повторная отправка дубликата может привести к тому, что две задачи будут проверять одну и ту же версию. Используйте ограниченное количество повторных попыток и определённый резервный сценарий, если обработка остаётся недоступной.
Пользователь заменяет файл или изменяет подпись. Рассматривайте изменение как новую версию, подлежащую проверке. Старое одобрение не должно разрешать новый контент. Повторно проверьте соответствующие входные данные и убедитесь, что поздние callback для старой версии не смогут опубликовать новую.
Пользователь оспаривает решение. Предоставьте возможность апелляции с достаточным контекстом, чтобы человек мог оценить содержимое и применённое правило. Успешная апелляция должна обновить статус публикации и оставить проверяемое исправление.
Публикация содержит несколько изображений. Явно определите правило публикации: например, дождаться завершения всех необходимых задач для изображений или разрешить пользователю удалить изображение, требующее проверки. Не интерпретируйте один успешный результат как проверку всей публикации.
Часто задаваемые вопросы
Что такое модерация изображений?
Модерация изображений — это процесс проверки изображений на соответствие правилам платформы в отношении контента. Она может сочетать автоматические проверки с оценкой человеком, чтобы решить, следует ли опубликовать загрузку, оставить её на проверке или отклонить.
Бесплатна ли модерация изображений в Poyo?
Запросы изображений Omni Moderation в Poyo стоят ноль кредитов. Вы можете проверить поддерживаемое изображение в Playground, а затем использовать эту возможность в своём приложении без платы за модерацию за отдельный запрос. Планируйте хранение изображений, их доставку и любую проверку человеком отдельно; руководство по бесплатному доступу объясняет это различие.
Можно ли одновременно проверить изображение и его подпись?
Да. Добавьте input.image_urls с одним URL изображения по HTTPS и input.prompt с подписью в один и тот же запрос. В Playground предоставьте изображение и текст вместе. Прочитайте category_applied_input_types, чтобы увидеть, какие сигналы относятся к предоставленному тексту, изображению или обоим.
Какие риски для изображений можно проверять?
Omni Moderation поддерживает шесть категорий изображений, охватывающих сексуальный контент, насилие, графическое насилие, самоповреждение, намерение причинить себе вред и инструкции по самоповреждению. Poyo возвращает флаги категорий и оценки, которые можно использовать для маршрутизации загрузок в соответствии с вашими правилами. В разделе о возможностях выше объясняется покрытие входных данных и дополнительная обработка для других требований.
Как получить результат проверки изображения после завершения?
Сохраните возвращённый идентификатор задачи Poyo и запросите её статус или укажите callback_url для уведомления о завершении. Читайте data.output.results в ответах со статусом или output.results в callback. Сопоставьте результат с версией загруженного изображения, после чего позвольте приложению опубликовать его или передать в существующий инструмент проверки.
Как протестировать модерацию изображений без кода?
Войдите в Poyo Playground, добавьте одно изображение, при желании введите его подпись и выберите Run. Для проверки только изображения очистите текстовое поле. Изучите недавно завершённую задачу и попробуйте репрезентативные разрешённые примеры, прежде чем настраивать правила автоматической публикации.
Попробуйте одно изображение в Poyo Playground, а затем свяжите результат с правилом публикации, которое ваша команда может объяснить. В введении в модерацию с помощью ИИ объясняются поля ответа, а в руководстве по модерации UGC рассматривается более широкий процесс работы команды.