Seedance API в России
Доступ к моделям Seedance по одному ключу, с оплатой рублями и без VPN. Поля запроса, цена и песочница — на странице каждой модели; первый вызов показан примерами кода.
Модели Seedance
| Модель | Поставщик | Цена от, за секунду | Скидка | Официальная |
|---|---|---|---|---|
| Seedance 2.0 | ByteDance | $0.0393,9 ₽ | −10% | $0.0433 |
| Seedance 2.5 | ByteDance | $0.119111,91 ₽ | −10% | $0.1323 |
Как купить доступ к Seedance API в России
Покупка занимает три действия: вход, пополнение и создание ключа. Регистрация у ByteDance и договор с ним для этого не нужны.
Оплата принимается в рублях, картой российского банка. Все три уровня лежат на одном балансе: Seedance 2.0, Seedance 2.0 Fast и Seedance 2.0 Mini оплачиваются одними и теми же кредитами.
Секунда стоит от 3,9 ₽ у Seedance 2.0 Mini до 140,4 ₽ у Seedance 2.0 — разброс задают уровень и разрешение. Пополняют счёт готовыми пакетами: нижний стоит 500 ₽ и даёт 1 000 кредитов.
Сравнить уровни на своей задаче можно, не заводя второго счёта: имя уровня — это одно значение в поле model. Ежемесячной платы за доступ нет, и с баланса уходит только стоимость поставленных задач. Оплаченные кредиты ложатся на счёт сразу — ни заявки, ни подтверждения после оплаты не будет.
Чем различаются уровни Seedance
ByteDance говорит, что три уровня умеют почти одно и то же, а различаются разменом качества на стоимость. За наибольшим качеством он отправляет к Seedance 2.0, средний уровень советует брать, когда высшее качество не нужно, а младший называет самым выгодным по соотношению цены и результата.
Разрешение 4K есть только у Seedance 2.0: Seedance 2.0 Fast и Seedance 2.0 Mini выше 720p не поднимаются. Про 4K разработчик предупреждает отдельно: такие ролики кодируются в H.265, и открываются они не всяким проигрывателем и не всяким браузером.
Длительность у всех трёх одна — от 4 до 15 секунд. Поля запроса перечислены в разделе «Seedance».
Что каждый уровень Seedance принимает на входе и что отдаёт
Описание кладут в поле prompt, а образцы раскладывают по трём спискам — своему на каждый вид файла. Картинок в списке помещается до 9, готовых роликов до 3, звуковых дорожек до 3. Кадр начала и кадр конца лежат вне этих списков: под них отведены два поля по одной ссылке.
Длительность задают целым числом секунд, от 4 до 15, и она общая для трёх уровней. Потолок разрешения расходится: Seedance 2.0 доходит до 4k, а Seedance 2.0 Fast и Seedance 2.0 Mini останавливаются на 720p. Форм кадра здесь 7, и набор у всех уровней один и тот же.
Звуковая дорожка пишется вместе с картинкой по флагу generate_audio, вторым запросом её не заказывают. Саму работу выбирает не переключатель, а состав полей запроса. Одно описание даёт ролик с нуля, присланный кадр — съёмку от него, список образцов — работу по ним.
Ставка за секунду зависит не только от уровня и разрешения: на неё влияет и видео среди присланного. Строки цен подписаны обоими признаками сразу, поэтому одинаковых среди них нет. Все они собраны в таблице цен.
Описание вмещает до 20 000 знаков, и предел этот один на все три уровня. Образцы принимаются только полным адресом на http или https, без имени и пароля перед ним. Свой файл с диска превращает в такой адрес загрузка, разобранная в разделе «Загрузка своих файлов».
| Что задают | Поле запроса | Предел |
|---|---|---|
| Описание | prompt | 20 000 знаков |
| Кадр начала и кадр конца | first_frame_url, last_frame_url | по одной ссылке |
| Картинки-образцы | reference_image_urls | до 9 ссылок |
| Ролики-образцы | reference_video_urls | до 3 ссылок |
| Звук-образец | reference_audio_urls | до 3 ссылок |
| Длительность | duration | от 4 до 15 секунд |
| Форма кадра | aspect_ratio | 7 значений |
| Разрешение | resolution | 4k у Seedance 2.0, 720p у остальных |
| Своя звуковая дорожка | generate_audio | пишется вместе с картинкой |
Что нужно, чтобы получить ключ к Seedance API
Только вход на сайт. Ключ выпускается в кабинете и начинает работать сразу же. Имя у ключа своё, до 60 знаков.
Ключей может быть несколько, и отзыв одного не трогает остальные. Уровни вызываются одним и тем же ключом, как и остальные модели каталога.
По каждому ключу в кабинете считается свой расход, поэтому заводите отдельный ключ на каждое приложение — так видно, какое из них израсходовало кредиты. Каким заголовком ключ уходит в запрос, показано в разделе «Ключ и заголовки».
Как устроен вызов Seedance API: две команды и номер задачи
Ролик не приходит в ответ на первый запрос, потому что делается он дольше, чем живёт соединение. Поэтому вызов разложен на две команды. Постановка задачи уходит на https://api.gen202.com/api/v1/jobs/createTask. Возвращает она ровно одно поле — taskId, номер, которым дальше пользуются вместо самой задачи.
- Постановка. Команда уходит на https://api.gen202.com/api/v1/jobs/createTask: имя уровня в поле model, описание в поле prompt.
- Номер. В ответе приходит одно поле taskId, и дальше в разговоре со шлюзом им называют саму задачу.
- Опрос. Состояние спрашивают у /api/v1/jobs/recordInfo, передав номер параметром; шага в 3 секунды достаточно.
- Чтение состояния. Значений у поля state пять: waiting, queuing и generating означают работу, success и fail — что она кончилась.
- Разбор ответа. Ссылка на файл лежит внутри resultJson, а само поле приходит строкой и разбирается вторым разбором JSON.
Ссылка открывается 14 дней: столько результат хранит поставщик, поэтому ролик забирают к себе сразу. Ключ передаётся в обеих командах заголовком Authorization, и второго ключа под опрос заводить не надо. Дольше 60 минут задача не живёт — по истечении срока шлюз закрывает её сам.
Потолок частоты привязан к ключу, а не к сетевому адресу вызывающей программы. На один ключ проходит 30 постановок задачи и 300 опросов состояния в минуту. Незавершённых задач на счёте держится не больше 50; остальные подождут, пока часть закончится.
При прямом обращении к поставщику задача застревает в очереди по трём причинам. Запись не включена в его кабинете, на счёте долг или выбран предел одновременных задач. Первых двух здесь не бывает: записи открыты все сразу, а счёт закрывают кредиты на балансе. Остаётся третья, и она названа выше числом незавершённых задач.
Сколько стоит вызов Seedance и что происходит с удержанием
Счёт у Seedance идёт за секунду: ставка умножается на заказанную длительность. Саму ставку двигают три вещи — уровень, разрешение и присутствие видео среди образцов. Самая низкая секунда обходится в 3,9 ₽, самая высокая — в 140,4 ₽.
Перед запуском кредиты не списываются, а замирают: шлюз откладывает столько, во сколько обойдётся заказанное. Свободных кредитов на счёте становится меньше на отложенную сумму, а сам баланс при этом не двигается. Уменьшается он один раз — когда поставщик вернул результат и расход стал известен.
Прислана длительность и выбрано разрешение — отложенная сумма и есть цена этого вызова. Поле пропущено — шлюз берёт самое дорогое значение, какое запрос ещё может выбрать. Списывается всё равно фактический расход, а разница возвращается тем же расчётом.
Верхняя граница удержания у Seedance 2.0 — 4212 ₽, то есть 30 оплачиваемых секунд по самой дорогой ставке. Столько их выходит потому, что поставщик считает выход и присланное видео вместе. Обычный запрос откладывает заметно меньше: сумма считается по тем полям, которые в нём стоят. Свободных кредитов меньше отложенного — задача не создаётся, и приходит отказ 402.
Что приходит при отказе Seedance API и во что он обходится
Отказы бывают двух видов, и приходят они по-разному. Одни приходят на сам запрос, другие лежат в поле failCode уже созданной задачи. Первые видны сразу и кредитов не стоят: до поставщика такой запрос не дошёл.
Ответ 401 означает отсутствующий, неверный или отключённый ключ. Ответ 422 — это негодное поле: имя вне каталога, значение вне списка, ссылка, не прошедшая проверку адреса. Ответ 429 говорит либо про частоту, либо про число незавершённых задач.
Адреса образцов разбирает наш шлюз, и делает он это до обращения к ByteDance. Смотрит он на схему, на длину и на то, не уводит ли адрес внутрь чужой сети. Тело запроса больше 512 КиБ шлюз не разбирает и отвечает 413.
Вторая половина отказов приходит уже по номеру задачи, и сам запрос состояния при этом успешен. Код 501 означает, что генерация не удалась, код 408 — что результата нет дольше крайнего срока. Код 404 ставится, когда поставщик такой задачи не знает, 429 — когда он отбил её своим лимитом.
Любая из этих задач возвращает удержание целиком, и списанным по ней остаётся ноль. Что означает каждый ответ шлюза, разобрано в разделе «Отказы».
Отказ по правилам поставщика приходит и на безобидное описание: проверку проходит не только запрос, но и уже снятый ролик. Такая задача возвращает удержание целиком, а объяснение приходит полем failMsg. Обычный выход из неё — поменять описание или образцы и поставить задачу заново.
Нужен ли ключ ByteDance, чтобы вызвать Seedance
Нет, свой ключ у ByteDance для вызова Seedance получать не придётся: к поставщику обращается наш шлюз своим ключом.
Можно ли купить у нас API ключ ByteDance
Ключи ByteDance выдаёт он сам, в собственном кабинете. Товар здесь другой — секунды видео, посчитанные по нашей цене и заказанные на нашем адресе.
Здесь платят вперёд только за кредиты, и лежат они на вашем счёте до первого запроса.
Есть ли бесплатный доступ к Seedance API
Видео здесь оплачивается по расходу, и начать можно без пополнения. Вход на сайт открывает 50 приветственных кредитов; на самом дешёвом уровне их хватает на 6 секунд.
Дальше расход считается по фактической длительности ролика: сколько секунд заказано, столько и списывается. Собрать запрос и увидеть сумму до нажатия можно в песочнице. Неудавшаяся задача денег не стоит: отложенное под неё возвращается на баланс целиком.
Какие образцы Seedance принимает на вход
Пределы списков названы таблицей выше, а здесь собрано другое — четыре правила, по которым присланное вообще доходит до работы.
- Настоящее человеческое лицо на присланном снимке или ролике ByteDance отклоняет прямо.
- Кадры начала и конца с образцами в одном запросе не сходятся: работает что-то одно.
- Заявленный тип присланного файла должен совпадать с его настоящим содержимым.
- Ссылка должна открываться снаружи — скачивает файл сам поставщик, а не ваша программа.
Нарушенное правило видно до съёмки: запрос отклоняется на проверке, и секунды по нему не считаются.
Seedance API из России
Работать из России можно без VPN, а платить — рублями с карты российского банка. Прямой доступ идёт через биллинг поставщика, и счёт он выставляет в долларах. GEN202 стоит между вами и поставщиком: расчёты с ним наши, вы платите российскому продавцу.
Seedance — видеомодели ByteDance. Уровни различаются скоростью и потолком разрешения, а набор работ у них общий.