Если вашей продуктовой команде нужен самый быстрый и безопасный способ оценить доступ к Seedance API, правильный первый шаг — не строить полный видеопайплайн в первый день. Вместо этого нужно подтвердить три базовые вещи с минимально возможной поверхностью интеграции:
- ваш ключ Flatkey корректно проходит аутентификацию
- ваше приложение может обращаться к
https://router.flatkey.ai/v1 - ваша команда может увидеть запрос в Usage Logs до того, как вы подключите асинхронные видеозадачи
Именно такой быстрый старт с низким трением описывает эта страница.
По состоянию на пятницу, 17 июля 2026 года, публичный quickstart Flatkey по-прежнему рекомендует разработчикам использовать Bearer auth, совместимый с OpenAI базовый URL https://router.flatkey.ai/v1 и POST /v1/chat/completions для первого smoke test. В публичном каталоге моделей Flatkey также указаны seedance-2.5 для text-to-video и image-to-video, а также seedance-2.0-i2v для image-to-video. На собственной публичной странице API Seedance по-прежнему описывает видеопоток как создание асинхронных задач, опрос статуса, webhooks и кредиты по модели оплаты по использованию.
Это сочетание важно для онбординга: схема доступа через router проста, но фактический workflow генерации видео — не синхронный chat-вызов. Продуктовым командам следует сначала проверить router с самым маленьким запросом, а затем заменить только нужную модель и поток задач для оценки Seedance.
Краткий ответ
Используйте эту последовательность, если вам нужен проверяемый путь онбординга Seedance с минимальным количеством движущихся частей.
| Шаг | Что использовать | Что это подтверждает |
|---|---|---|
| 1. Создайте ключ | Flatkey API key, начинающийся с sk-fk- |
У вашей команды есть действительные учетные данные |
| 2. Установите один base URL | https://router.flatkey.ai/v1 |
Ваше приложение указывает на общий router, а не на endpoint конкретного провайдера |
| 3. Запустите самый маленький smoke test | POST /v1/chat/completions с простой текстовой моделью |
Работают аутентификация, заголовки, маршрутизация и Usage Logs |
| 4. Переключитесь на маршрут Seedance | Замените заглушку модели на утвержденный ID модели Seedance | Тот же слой доступа теперь может поддерживать ваш workflow оценки видео |
| 5. Добавьте обработку async | Логика polling или webhook для видеозадач | Ваш продукт готов к реальному выполнению text-to-video |
Если вы запомните только одну вещь, запомните вот что: первый cURL-запрос — это проверка подключения к router, а не финальный payload для text-to-video.
Перед началом
Вам нужны четыре вещи:
- Аккаунт Flatkey
- Flatkey API key
- Некоторый предоплаченный кредит для запроса
- Продуктовое решение о том, какой именно маршрут Seedance вы хотите оценить
Для большинства команд text-to-video публичный каталог моделей достаточно ясно показывает текущие варианты, чтобы начать разговор:
| Текущий публичный сигнал модели на Flatkey | Лучшее использование |
|---|---|
seedance-2.5 |
Оценка text-to-video, а также image-to-video при необходимости |
seedance-2.0-i2v |
Только image-to-video |
Не хардкодьте имя модели из старого скриншота или внутренней заметки. Проверьте текущий каталог моделей или живой каталог в день публикации, потому что доступность видео-маршрутов может меняться быстрее, чем статическое руководство по настройке.
Шаг 1: создайте и сохраните API-ключ Flatkey
В консоли Flatkey создайте API-ключ и сохраните его как переменную окружения.
export FLATKEY_API_KEY="sk-fk-..."
Это первое место, где команды создают лишние сложности. Храните ключ на стороне сервера, а не в браузерном коде и не в общей локальной заметке. Если оценка проводится для продуктовой команды, а не для одного инженера, с самого начала используйте секрет, принадлежащий команде.
Шаг 2: выполните минимально возможный smoke-тест роутера
В текущем quickstart Flatkey для первого запроса используется POST /v1/chat/completions. Это правильный шаг, даже если ваша конечная цель — генерация видео Seedance, потому что он проверяет общий слой доступа до добавления сложности асинхронного workflow.
curl https://router.flatkey.ai/v1/chat/completions -H "Authorization: Bearer $FLATKEY_API_KEY" -H "Content-Type: application/json" -d '{
"model": "gpt-4o-mini",
"messages": [
{"role": "user", "content": "Ответьте словом connected."}
]
}'
Успешный ответ сразу сообщает вам пять полезных вещей:
- API-ключ действителен
- заголовок
Authorization: Bearer ...указан правильно - базовый URL указан правильно
- ваш клиент может успешно отправлять POST JSON
- запрос должен появиться в Flatkey Usage Logs с количеством токенов и стоимостью
Это самое маленькое проверяемое доказательство того, что слой доступа работает.
Шаг 3: поймите, что именно проверяет запрос smoke-теста
Smoke-тест chat-completions намеренно прост. Требуемая структура такова:
| Поле запроса | Почему это важно |
|---|---|
Authorization header |
Подтверждает формат Bearer token |
Content-Type: application/json |
Подтверждает, что тело запроса правильно парсится |
model |
Подтверждает, что маршрут может разрешить ID модели |
messages |
Подтверждает, что тело соответствует схеме, совместимой с OpenAI |
В текущей документации Flatkey по chat-completions также выделяются три поля ответа, которые продуктовые команды обычно проверяют первыми:
choices[0].message.contentmodelusage
Это последнее поле особенно полезно для онбординга, потому что оно дает продуктовым и операционным командам общее место для проверки, что запрос действительно прошел через роутер.
Шаг 4: замените заглушку модели для оценки Seedance
После успешного прохождения smoke-теста оставьте те же учетные данные и тот же базовый URL роутера, а затем измените только те части, которые специфичны для вашего видео-workflow.
Оставьте без изменений:
Authorization: Bearer $FLATKEY_API_KEYhttps://router.flatkey.ai/v1- обработку секрета на стороне сервера
- путь проверки логов и биллинга
Далее измените следующее:
| Что меняется после smoke-теста | Почему это меняется |
|---|---|
model |
Вы заменяете текстовый модель-заглушку на утверждённый ID модели Seedance |
| Форма тела запроса | Генерация видео требует собственных полей payload, а не только массива messages для чата |
| Обработка ответа | Видеопотоки возвращают состояние задачи, активы или асинхронный статус, а не только немедленный текст |
| Логика продукта | Вам нужен polling или webhook вместо того, чтобы воспринимать вызов как синхронный чат |
Для оценки text-to-video в день запуска безопасная заглушка выглядит так:
seedance-2.5
Для оценки image-to-video текущий публичный маршрут такой:
seedance-2.0-i2v
Используйте эти названия как отправную точку для изучения, а не как обещание, что каждый downstream-workflow использует одну и ту же форму payload.
Шаг 5: проектируйте с учётом асинхронного видеопотока Seedance
Это шаг, который большинство quickstart-руководств пропускают.
Публичная страница API Seedance по-прежнему описывает workflow как:
- создание асинхронной задачи
- polling статуса
- webhooks
- кредиты, основанные на использовании
Это означает, что production-команда должна исходить из того, что реальный видеопуть требует как минимум четырёх состояний в собственном приложении:
| Состояние задачи | Что должно делать ваше приложение |
|---|---|
queued |
Записать задачу и показать, что запрос принят |
running |
Проверять статус или ждать webhook |
succeeded |
Получить выходной asset и добавить метаданные |
failed |
Сохранить ошибку и решить, нужно ли повторять попытку |
Если ваша команда попытается воспринимать Seedance как синхронный ответ чата, интеграция будет казаться нестабильной даже тогда, когда API работает нормально.
Практическая последовательность онбординга для продуктовых команд
Если вы хотите минимально возможный цикл оценки, используйте такой порядок:
- Создайте ключ Flatkey.
- Запустите smoke-тест
chat/completions. - Проверьте, что запрос появился в Usage Logs.
- Выберите текущий ID модели Seedance, который вы действительно хотите протестировать.
- Реализуйте асинхронный поток запросов, специфичный для Seedance.
- Добавьте один путь polling или один путь webhook, прежде чем расширять rollout.
Это снижает риски онбординга, потому что вы разделяете проверку router и реализацию видеопотока.
Устранение неполадок
401 или 403 в первом запросе cURL
Обычно это означает, что ключ недействителен, срок его действия истёк или он не передаётся как Bearer token.
Проверьте:
- ключ начинается с
sk-fk- - переменная shell действительно установлена
- заголовок имеет вид
Authorization: Bearer ...
404 или несоответствие маршрута
Обычно это означает, что ваше приложение указывает на неправильный URL.
Используйте:
https://router.flatkey.ai/v1
Не направляйте запрос на маркетинговый сайт и не убирайте суффикс /v1.
Запрос выполняется успешно, но Usage Logs остаются пустыми
В quickstart Flatkey прямо сказано подождать несколько секунд и повторить поиск. Если логи по-прежнему не появляются, еще раз проверьте имя модели, API key и base URL, которые вы фактически отправили.
Проверка проходит, но workflow Seedance не работает
Обычно это означает, что с уровнем доступа все в порядке, а проблема теперь в одном из следующих мест:
- неверный Seedance model ID
- неверная структура video payload
- отсутствует логика асинхронного polling
- обработка webhook пока не реализована
- продуктовый код предполагает синхронный текстовый ответ
Это прогресс, а не провал. Вы уже локализовали проблему не в auth и не в routing.
Когда этого quickstart достаточно
Этого quickstart достаточно, когда вашей команде нужно ответить на вопросы:
- Можем ли мы пройти аутентификацию через Flatkey?
- Можем ли мы переиспользовать наш OpenAI-compatible client path?
- Могут ли продукт и ops увидеть запрос в логах?
- Можем ли мы переключиться с текстового smoke test на маршрут Seedance, не добавляя сначала еще один key провайдера?
Если ответ на все четыре вопроса «да», следующий шаг утверждения обычно касается асинхронного video workflow и cost model, а не базовой connectivity.
Если вам нужна информация о pricing до rollout, сначала изучите текущую страницу pricing Flatkey, чтобы команда могла одобрить evaluation с тем же billing surface, который будет использоваться в production.
FAQ
Как быстрее всего протестировать доступ к Seedance API через Flatkey?
Начните с текущего smoke test Flatkey POST /v1/chat/completions, чтобы проверить auth, base URL и Usage Logs. После успешного прохождения замените placeholder model на текущий одобренный Seedance model ID и соберите асинхронный video workflow.
Первый cURL-запрос создает видео?
Нет. Первый cURL-запрос — это проверка connectivity для общего router. Он подтверждает, что ваш key, headers, base URL и логи работают, прежде чем вы добавите обработку video-specific request.
С какой Seedance model должна начинать команда text-to-video?
По состоянию на пятницу, 17 июля 2026 года, в публичном каталоге моделей Flatkey указана seedance-2.5 для text-to-video и image-to-video. Еще раз проверьте текущий model directory, прежде чем жестко встраивать его в product code.
С какой Seedance model должна начинать команда image-to-video?
По состоянию на пятницу, 17 июля 2026 года, в публичном каталоге Flatkey указана seedance-2.0-i2v для image-to-video.
Почему onboarding flow начинается с chat completions, а не с video job?
Потому что запрос chat-completions — это минимально возможное доказательство того, что ваш OpenAI-compatible routing path работает. Он отделяет проблемы auth и logging от проблем video-pipeline.
Что нужно проверить в первом успешном ответе?
Проверьте model, choices[0].message.content и usage, затем убедитесь, что тот же запрос присутствует в Usage Logs.
Что меняется, когда я переходу от smoke test к реальной оценке Seedance?
Key и base URL остаются теми же. Меняются model ID, body запроса и обработка async job.



