private_asset_review: true в запросе генерации видео. Платформа подготовит фактически используемые материалы и отправит видео на генерацию после проверки всех материалов. Дублировать список, заранее создавать группу или отдельно опрашивать API проверки не нужно.
Этот способ доступен только для асинхронных видеоканалов Seedance с включенной проверкой материалов по запросу. Он не распространяется на все видеомодели и синхронные API. Если функция отключена или совместимого канала нет, запрос завершится ошибкой. В материковом Китае можно заменить
https://toapis.com на https://toapis.cn.Отправка запроса
ИспользуйтеPOST /v1/videos/generations. Изображения, видео и аудио остаются в прежних входных полях; добавьте булев переключатель.
Используйте следующие поля. Ограничения моделей на количество материалов и сочетания ролей остаются прежними:
Для изображений выбирается первое непустое поле:
image_with_roles[].url > reference_images > image_urls > images > image. Поля не объединяются. Модели, запрещающие их совместное использование, по-прежнему возвращают ошибку. Промпт и metadata не сканируются, а игнорируемые поля не начинают использоваться.
HTTP(S) URL сравниваются после удаления пробелов по краям, ограничены 2048 байтами UTF-8 и не должны содержать учетные данные. Одинаковые URL одного типа переиспользуются; конфликт типов вызывает ошибку. Изображения также принимаются в чистом Base64 или
data:image/...;base64,...: они декодируются, проверяются и сохраняются до отправки на проверку. Видео и аудио требуют HTTP(S). Локальные пути не поддерживаются. Можно предварительно загрузить изображение и получить URL.
Файл не должен быть пустым. Для сохранения по запросу предел составляет 20 MiB для изображений и 100 MiB для видео и аудио. Модель или сервис проверки могут устанавливать более строгие ограничения на формат, длительность и размер. Ссылка загрузки выше предназначена для изображений; для других типов используйте загрузку видео или загрузку аудио.
Ожидание результата
- После приема запроса возвращается задача видео. HTTP-соединение не остается открытым на все время проверки. Прием задачи не означает, что проверка пройдена или генерация уже началась.
- Платформа сохраняет копию и проверяет, есть ли пригодная запись о проверке на выбранном канале. При необходимости запускается проверка. Одновременные запросы одного пользователя с одинаковыми URL и каналом используют общий процесс подготовки.
- Все фактически используемые материалы должны пройти проверку до отправки видео. Первая подготовка может занять несколько минут. При наличии пригодной записи повторная проверка пропускается, но генерация остается асинхронной.
client_business_id:
queued. Опрос старого API материалов не нужен. completed означает готовность видео. При failed смотрите error.message.
По умолчанию на один раунд подготовки отводится 20 минут с начала этого раунда. Срок общий для всех материалов, а не по 20 минут на каждый. Последующая генерация видео в него не входит. Срок может меняться настройками платформы; при смене канала начинается новый раунд подготовки. Отказ в проверке или тайм-аут подготовки завершает задачу без отправки видео на генерацию.
Если первоначальная проверка не пройдена, плата за генерацию видео не взимается. После успешной проверки действуют обычные резервирование средств и окончательный расчет. Повторное использование проверки не меняет тарификацию видео.
Повторное использование, повторы и хранение
- В следующих запросах снова передавайте материалы и
private_asset_review: true; ID материала не нужен. В пределах одного пользователя и канала URL сравниваются целиком, а изображения Base64 по хешу декодированного содержимого. Чистый Base64 и data URI с одинаковыми байтами используют одну запись. Между пользователями или каналами записи не разделяются. - Другой URL считается новым источником. Изменение содержимого по прежнему URL не определяется по файлу, поэтому для обновленного материала используйте URL с новой версией.
- Платформа хранит независимую копию. По умолчанию копии, не использовавшиеся более 30 дней, могут быть удалены; фактический срок зависит от настроек. Использование учитывается при приеме отправленного видео, до завершения генерации. После очистки следующий запрос запускает подготовку заново, поэтому исходные URL должны оставаться доступными.
- При сетевом повторе одного бизнес-запроса используйте тот же
client_business_id: вернется существующая задача, новая не создается. Для другого видео или новой попытки после ошибки используйте новый бизнес-ID. Не создавайте повторные задачи только из-за длительной проверки. - Если отправка видео еще не подтверждена, продолжайте проверять исходную задачу или обратитесь в поддержку. Не отправляйте запрос сразу заново с другим бизнес-ID.
Совместимость с прежними API материалов
При отсутствии переключателя или значенииfalse прежний API приватных аватаров и ссылки asset:// работают как раньше. При true любая ссылка asset:// в полях медиа вызывает HTTP 400. Старые записи не ищутся, не копируются и не переносятся.
Переключатель не меняет возможности модели и требования к содержимому и не заменяет отдельную проверку реального человека. Прежнее поле private_assets больше не принимается; используйте булево поле private_asset_review.
При ошибке валидации проверьте булев тип, ссылки asset:// и формат URL или Base64. При ошибке скачивания проверьте доступность и срок действия URL. Если функция отключена или совместимого канала нет, обратитесь к платформе.