Seedance — видеомодель компании ByteDance. В отличие от текстовых моделей её API работает по схеме асинхронных задач: после отправки вы получаете только ID задачи, затем опрашиваете статус и скачиваете видео после успеха. Командам в Китае приходится решать не только вопрос «пройдёт ли запрос», но и задачи оплаты и счетов, времени ожидания в очереди, переноса результатов и переключения при сбоях.

Ниже сравниваются три распространённых маршрута: прямое подключение к Volcengine Ark, собственный обратный прокси и AI-шлюз, а также приводятся методы опроса, поставки и проверки.

Примечание: Seedance — название видеомодели Volcengine, принадлежащего ByteDance; связанные товарные знаки принадлежат их правообладателям. Статья носит технический характер; автор не связан с ByteDance отношениями подчинения или партнёрства. Интерфейсы, модели и цены определяются официальной документацией и страницей цены на модели.

1. Три маршрута в одной таблице

Критерий Прямое официальное подключение Собственный прокси AI-шлюз
Вход Официальный адрес Volcengine Ark Собственный обратный прокси Единый OpenAI-совместимый вход
Сеть Зависит от локального выхода и региона Зависит от сервера прокси Обслуживает провайдер, но локальная сеть всё ещё влияет
Оплата Способы пополнения, поддерживаемые официально Сначала сервер и трафик Пополнение на сайте по правилам страницы
Счета По официальным правилам Самостоятельно По правилам выставления счетов провайдера
Набор моделей Открытые официально модели Seedance Определяется конфигурацией прокси Зависит от активации, возможны модели разных поставщиков
Стоимость эксплуатации Низкая Высокая Средняя
Для какой команды Одна модель, есть ресурс на официальные процедуры Есть компетенции в сетевой эксплуатации Несколько моделей и единый счёт

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

2. Прямое подключение: сначала одна асинхронная задача

Видеоинтерфейс Volcengine Ark обычно состоит из двух шагов — «создать задачу» и «проверить задачу»; Base URL выглядит как https://ark.cn-beijing.volces.com/api/v3. Фактические регионы, ID моделей и поля уточняйте в консоли и документации.

  1. Активируйте видеомодель в консоли Volcengine Ark, проверьте требования к аккаунту и соответствию.
  2. Создайте отдельный API Key с именем seedance-test, не смешивайте его с production-ключом.
  3. Скопируйте ID модели из консоли — не собирайте суффикс версии по памяти.
  4. Отправьте тестовую задачу с минимальной длительностью и разрешением.
  5. Сохраните полученный ID задачи и опрашивайте статус до завершения.
export ARK_API_KEY="ваш-ключ"
export BASE_URL="https://ark.cn-beijing.volces.com/api/v3"

curl -X POST "$BASE_URL/contents/generations/tasks" \
  -H "Authorization: Bearer $ARK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "ID модели, скопированный из консоли",
    "content": [
      {"type": "text", "text": "Городская улица после дождя, плавный наезд камеры, кинематографично"}
    ]
  }'

Если запрос завершился тайм-аутом, но задача появилась в консоли, значит, она уже создана — не отправляйте повторно сразу, иначе можно получить два ролика и двойное списание. Сначала найдите задачу по номеру бизнес-заказа, затем решайте, нужен ли повтор.

3. Собственный прокси: решает выход, но не очередь

Распространённый вариант — обратный прокси на сервере со стабильным доступом к официальному API. Это смягчает проблемы локального выхода, но добавляет новую работу:

  • прокси — единая точка отказа: при падении сервера падают все задачи;
  • нужно настроить TLS, аутентификацию, контроль доступа и логи, чтобы прокси не использовали злоумышленники;
  • видеозапросы объёмные и долгие, поэтому трафик и число соединений прокси легко становятся узким местом;
  • дополнительный слой пересылки не ускоряет очередь upstream: в пик ждать всё равно придётся;
  • ответственность за сеть и соответствие остаётся на команде.

Без выделенного специалиста прокси часто превращается из «временного решения» в «долгосрочный долг». Он может быть переходным этапом, но не стоит делать его единственным входом.

4. AI-шлюз: вход, счета и переключение в одном месте

Ценность AI-шлюза в том, что управление ключами, пополнение, детализация расхода, счета и переключение моделей собраны в одном месте. Бизнес-код знает только один вход; при смене модели меняется конфигурация, а не код. Для команд, которые одновременно используют текстовые, графические и видеомодели, это важнее экономии нескольких миллисекунд задержки.

При выборе шлюза уточните: активирована ли видеовозможность Seedance, какие модели и параметры поддерживаются, как отображаются статусы задач, как оплачиваются ошибки и отмена, сколько живёт URL результата, как приходят уведомления о сбоях. В ZSQH AI Gateway можно создать тестовый ключ, прогнать минимальную задачу и сверить цены на модели с правилами биллинга.

Шлюз не увеличивает ёмкость upstream. Он делает вход единым и упрощает обработку сбоев, но не может обещать отсутствие очереди в пик.

5. Опрос и поставка результата: главная сложность видеоинтерфейса

Согласно документации Volcengine Ark статусы задачи обычно включают queued, running, succeeded, failed, cancelled и expired. Проверка задачи, как правило, охватывает только последние 7 дней, а video_url успешного результата обычно очищается через 24 часа. Эти два правила напрямую определяют архитектуру системы.

  • Разделяйте отправку и опрос: один HTTP-запрос не должен синхронно ждать несколько минут.
  • Начинайте опрос через 5 секунд и постепенно увеличивайте интервал до 15–30 секунд, задав общий тайм-аут.
  • Успешный ответ может содержать объект error; при сбое фиксируйте error.code и error.message.
  • Получив video_url, сразу скачивайте файл в собственное объектное хранилище: не отдавайте временный URL бизнесу для долгосрочного использования.
  • После скачивания проверьте размер и воспроизводимость, затем создайте собственный подписанный URL или адрес CDN.
  • Отмена задачи обычно действует только для задач в очереди; точные правила смотрите в документации.

Поставку результата лучше сделать отдельным шагом: скачивание, транскодирование, модерация и запись в хранилище должны повторяться независимо. Тогда истечение URL upstream не приведёт к потере бизнес-данных.

6. Оплата, счета и договор

  • Командам, которым нужна оплата с расчётного счёта, заранее уточните способ пополнения, время зачисления, тип счёта и период выставления.
  • Подтвердите, как оплачиваются неудачные, просроченные и отменённые задачи и возможен ли возврат средств или квоты.
  • Запросите детализацию по задачам или ключам, как минимум с ID задачи, моделью, длительностью и статусом.
  • Прочитайте условия обработки данных: сохраняются ли загруженные изображения, промпты и результаты, используются ли они для улучшения сервиса.
  • Production-ключ не должен попадать на фронтенд или в публичный репозиторий; разделяйте ключи по средам и задавайте лимиты.

7. Переключение при сбоях: правильно организуйте повторы

Повтор видеозадачи дороже текстового запроса, потому что каждая попытка — это полная генерация. Рекомендации:

  1. Создавайте уникальный идентификатор запроса для каждого бизнес-заказа и перед отправкой проверяйте, нет ли уже задачи.
  2. Повторяйте с задержкой только при 429, 5xx и тайм-ауте соединения; ошибки параметров и отказ модерации не повторяйте.
  3. При достижении порога последовательных сбоев включайте предохранитель, чтобы избежать шторма повторов.
  4. Подготовьте резервный вход или модель, но после переключения заново сверяйте статусы задач, чтобы две цепочки не сгенерировали по копии.
  5. Сверяйте данные ежедневно: число задач, успехов и списаний; при аномалии своевременно останавливайте поток.

8. Чек-лист проверки перед запуском

  1. Минимальная задача успешно отправляется, ID задачи стабильно возвращается.
  2. Все шесть статусов корректно распознаются и записываются в базу.
  3. Настроены тайм-аут опроса, максимальное число повторов и порог предохранителя.
  4. Успешный результат переносится в течение 24 часов, при сбое скачивания предусмотрена компенсирующая задача.
  5. Правила оплаты неудачных, отменённых и просроченных задач подтверждены.
  6. Проверено поведение при параллельной отправке и ограничении частоты, для 429 настроена задержка.
  7. Счёт и детализация задач сверяются построчно.
  8. В течение 7 дней фиксируются доля успеха, P95 времени и стоимость одной задачи, после чего принимается решение о масштабировании.

Частые вопросы

Можно ли вызывать Seedance API напрямую из Китая?

Зависит от аккаунта, региона, сети и требований соответствия. Прямое официальное подключение — один из рабочих вариантов, но для production всё равно нужны тайм-ауты, повторы и резервный вход; ориентируйтесь на официальную документацию и местное законодательство.

Что стабильнее: прямое подключение или шлюз?

Единого ответа нет. Прямое подключение имеет на один слой меньше, но всю обработку сбоев берёт на себя команда; шлюз объединяет вход и счета, но добавляет зависимость. Прогоните одну и ту же выборку задач, сравните долю успеха и P95, затем выбирайте по ресурсам эксплуатации.

Сколько времени занимает генерация одного видео?

Зависит от очереди, длительности, разрешения и нагрузки upstream; обычны значения от десятков секунд до нескольких минут. В production задавайте общий тайм-аут и показывайте статус задачи бизнесу.

Как долго хранится результат генерации?

По документации Volcengine Ark проверка задач обычно охватывает последние 7 дней, а URL видео обычно очищается через 24 часа. Переносите результат в собственное хранилище сразу и не полагайтесь на временную ссылку.

Берут ли деньги за неудачные или отменённые задачи?

Правила различаются по платформам и причинам сбоя. До подключения уточните, как оплачиваются отказ модерации, системная ошибка, тайм-аут и добровольная отмена, и ориентируйтесь на детализацию счёта.

Что дальше

Создайте тестовый ключ в ZSQH AI Gateway, прогоните одну задачу Seedance с минимальными параметрами, проверьте переходы статусов, перенос результата и правила биллинга, затем выбирайте production-маршрут. Модели и цены — на странице цены на модели.

Полезные материалы: