SeeGen AI API
Добро пожаловать в SeeGen AI API — единый API для кинематографичной генерации видео и высококачественных изображений на основе нескольких ведущих моделей.
Обзор
SeeGen AI — это единый API генерации: один согласованный набор эндпоинтов для запуска нескольких ведущих ИИ-моделей видео и изображений. Выберите модель с помощью параметра model — аутентификация, отправка задач, опрос статуса и вебхуки работают одинаково для всех них.
Доступные модели:
- Видео — Seedance 2.5 (
sd2.5), Seedance 2.0 Pro (sd2), Fast (sd2-fast), Mini (sd2-mini), Wan 3.0 Video Prime (wan3.0-video-prime), Wan 3.0 Video (wan3.0-video) - Изображения — GPT Image 2 (
gpt-image-2), Nano Banana 2 (nano-banana-2), Nano Banana Pro (nano-banana-pro), Seedream 5.0 Lite (seedream-v5.0-lite), Seedream 5.0 Pro (seedream-v5.0-pro)
Базовый URL: https://seegen.ai/api/v1
Модель: передайте любой из перечисленных выше алиасов в поле model (например, sd2, gpt-image-2).
Почему SeeGen AI?
Больше причин выбрать SeeGen AI:
- Больше, чем Seedance 2.0: Wan 3.0, Nano Banana, ChatGPT Image и другие.
- Подписка не требуется — оплата по факту использования
- Быстрый доступ к новейшим моделям
- Поддержка клиентов 24/7
- Поддержка по официальным вопросам, связанным с моделями
- Доступ к консоли для разработчиков
- Открыт как для компаний, так и для частных пользователей
Тарифы
API Pack
125,000 кредитов ($0.004/кредит)
~781 5-секундных видео
API-XL Pack
500,000 кредитов ($0.004/кредит)
~3,125 5-секундных видео
Seedance 2.0 / Fast / Mini / 2.5 — расчёт стоимости
Пусть out = output_seconds, а in = сумма ⌈duration⌉ каждого входного видео (каждое округляется вверх, минимум out × 2/3). Seedance 2.5 использует тот же расчёт, что и Seedance 2.0. Базовая ставка соответствующей модели умножается на 1.5 и округляется перед применением формулы задачи (1080P нативен на sd2.5, 2.5× от ставки 720P); независимые от модели надбавки за апскейл остаются +30 / +40 кредитов за выходную секунду для 2K / 4K (+20 за 1080P только на sd2-fast / sd2-mini).
| Без входного видео | С входным видео | |
|---|---|---|
| sd2.5: 480P | 30 × out | 23 × (out + in) |
| sd2.5: 720P | 60 × out | 45 × (out + in) |
| sd2.5: 1080P (нативно) | 150 × out | 113 × (out + in) |
| sd2.5: 2K | (60 + 30) × out | 45 × (out + in) + 30 × out |
| sd2.5: 4K | (60 + 40) × out | 45 × (out + in) + 40 × out |
| sd2-pro: 480P | 20 × out | 15 × (out + in) |
| sd2-pro: 720P | 40 × out | 30 × (out + in) |
| sd2-pro: 1080P (нативно) | 100 × out | 75 × (out + in) |
| sd2-pro: 2K | (40 + 30) × out | 30 × (out + in) + 30 × out |
| sd2-pro: 4K (нативно) | 200 × out | 150 × (out + in) |
| sd2-fast: 480P | 16 × out | 12 × (out + in) |
| sd2-fast: 720P | 32 × out | 24 × (out + in) |
| sd2-fast: 1080P | (32 + 20) × out | 24 × (out + in) + 20 × out |
| sd2-fast: 2K | (32 + 30) × out | 24 × (out + in) + 30 × out |
| sd2-fast: 4K | (32 + 40) × out | 24 × (out + in) + 40 × out |
| sd2-mini: 480P | 10 × out | 7.5 × (out + in) |
| sd2-mini: 720P | 20 × out | 15 × (out + in) |
| sd2-mini: 1080P | (20 + 20) × out | 15 × (out + in) + 20 × out |
| sd2-mini: 2K | (20 + 30) × out | 15 × (out + in) + 30 × out |
| sd2-mini: 4K | (20 + 40) × out | 15 × (out + in) + 40 × out |
Примечание: sd2-pro 1080P и 4K — нативный официальный вывод (4K = 5× ставки 720P); sd2-pro 2K и все режимы sd2-fast / sd2-mini 1080P/2K/4K апскейлятся силами SeeGen AI. sd2.5 генерирует нативно в 480P/720P/1080P (1080P = 2.5× ставки 720P, без надбавки за апскейл) и использует автоматический апскейл для 2K/4K. Запросите любой уровень через outputResolution: "4k" (например, "2k" / "4k"; шлюз сам выбирает нативный режим или апскейл — отличаются только цена и метка Native). sd2-mini стоит 50% от sd2-pro — самый дешёвый уровень. Seedance 2.5 использует округление длительности по каждому видео, минимальный порог входной длительности и расчёт апскейла от Seedance 2.0. Базовая ставка соответствующей модели умножается на 1.5 и округляется перед расчётом задачи (например, 1080P с видео: 75 × 1.5 → 113). Независимые от модели надбавки за апскейл 2K / 4K остаются на уровне +30 / +40 кредитов за выходную секунду. Если апскейл не удался, завершённая задача возвращает результат в 720P без частичного возврата кредитов.
- sd2.5 480P, 4-секундный вывод без входного видео: 120 кредитов
- sd2.5 720P, 5-секундный вывод без входного видео: 300 кредитов
- sd2.5 720P, 5-секундный вывод + 3-секундное входное видео (минимум входа — 4 секунды): 405 кредитов
- sd2.5 1080P нативно, 5-секундный вывод без входного видео: 750 кредитов
- sd2.5 1080P нативно, 5-секундный вывод + 5-секундное входное видео: 1,130 кредитов
Wan 3.0 Video / Prime — расчёт стоимости
Пусть out = секунды результата, а in = сумма секунд референсных видео после округления каждого клипа вверх до целой секунды. Без референсного видео: credits = out × rate. С референсным видео: credits = (out + in) × rate. Используйте тариф для вашей модели и разрешения из таблицы ниже.
| Модель | Нативный результат | Кредитов / сек | Пример для 2 с |
|---|---|---|---|
| wan3.0-video-prime | 480P | 22 | 44 |
| 720P | 45 | 90 | |
| 1080P | 90 | 180 | |
| wan3.0-video | 480P | 16 | 32 |
| 720P | 32 | 64 | |
| 1080P | 64 | 128 |
Примечание: 480P, 720P и 1080P — нативные разрешения; апскейл до 2K/4K не поддерживается. Референсные изображения и аудио не увеличивают оплачиваемую длительность. Отключение генерации аудио не меняет цену. Общая длительность референсных видео вместе с длительностью результата не должна превышать 30 секунд.
- wan3.0-video 480P, результат 2 секунды без входного видео: 2 × 16 = 32 кредита
- wan3.0-video-prime 480P, результат 2 секунды без входного видео: 2 × 22 = 44 кредита
- wan3.0-video 720P, результат 5 секунд + референсное видео 3 секунды: (5 + 3) × 32 = 256 кредитов
- wan3.0-video-prime 720P, результат 5 секунд + референсное видео 2.2 секунды (округляется до 3 секунд): (5 + 3) × 45 = 360 кредитов
🎉 Ограниченное по времени предложение: скидка 33% на всю генерацию изображений — все цены на изображения ниже уже указаны со скидкой.
GPT Image 2.5 Flare / Sunburst
| Разрешение | Среднее качество | Высокое качество | Качество XHigh | Качество Max |
|---|---|---|---|---|
| 1k | 35 | 1320 | 2335 | 5075 |
| 2k (по умолчанию) | 710 | 2335 | 3755 | 84125 |
| 4k | 1015 | 4060 | 67100 | 154230 |
Каждая задача создаёт 1 изображение. Чтобы получить N вариантов, отправьте N задач. При сбое задачи кредиты возвращаются автоматически.
gpt-image-2 — кредиты за изображение
| Разрешение | Среднее качество | Высокое качество |
|---|---|---|
| 1k | 1015 | 4770 |
| 2k (по умолчанию) | 2335 | 84125 |
| 4k | 4060 | 154230 |
Каждая задача создаёт 1 изображение. Чтобы получить N вариантов, отправьте N задач. При сбое задачи кредиты возвращаются автоматически.
nano-banana-2 и nano-banana-pro — кредиты за изображение
| Разрешение | nano-banana-2 | nano-banana-pro |
|---|---|---|
| 1k | 2030 | 4060 |
| 2k (по умолчанию) | 3045 | 4060 |
| 4k | 4770 | 74110 |
Каждая задача создаёт 1 изображение. Чтобы получить N вариантов, отправьте N задач. При сбое задачи кредиты возвращаются автоматически.
Seedream 5.0 — кредиты за изображение
| Модель / уровень | Кредиты |
|---|---|
| Lite 2k / 4k (фиксированная цена) | 710 |
| Pro 1k (по умолчанию) | 1015 |
| Pro 2k | 2030 |
Каждая задача создаёт 1 изображение. Чтобы получить N вариантов, отправьте N задач. При сбое задачи кредиты возвращаются автоматически. Референсные изображения не тарифицируются отдельно.
Проверьте баланс: GET /api/v1/account/credits
Автопополнение для API-аккаунтов
API-ключ и панель SeeGen AI используют общий баланс кредитов аккаунта. Автопополнение помогает поддерживать баланс для API-нагрузок, но настраивается на странице Credits; отдельного API для настройки сейчас нет.
Настройте автопополнение в Credits:
- Откройте Credits, укажите минимальный баланс, который хотите поддерживать, и выберите пакет пополнения.
- Один раз авторизуйте способ оплаты. На этом шаге сохраняется разрешение, но списания с карты не происходит.
- После активации гибкой авторизации минимальный баланс и пакет можно менять в Credits без повторной авторизации. Для аккаунта со старой авторизацией фиксированной суммы может потребоваться однократное обновление.
Как это работает с API-запросами
- Если успешная отправка API-задачи списывает кредиты и переводит баланс с уровня не ниже порога на уровень ниже порога, SeeGen AI асинхронно ставит автопополнение в очередь. Отправка задачи не ждёт завершения пополнения.
- Если до отправки на аккаунте недостаточно кредитов, API возвращает HTTP 402 и не создаёт задачу. Отклонённый запрос не запускает автопополнение и не повторяется автоматически; повторите его после появления кредитов.
- Текущий баланс можно проверить через
GET /api/v1/account/credits. Ход и ошибки автопополнения отображаются в Credits и Payment History, а важные результаты отправляются на платёжный e-mail аккаунта. Сейчас нет клиентского webhook или API статуса автопополнения.
Бонусы автопополнения для API-пакетов
- API Pack за $500.00: 127,500 кредитов (125,000 + бонус 2%).
- API-XL Pack за $2,000.00: 525,000 кредитов (500,000 + бонус 5%).
- При ручной покупке этих пакетов по-прежнему начисляется 125,000 и 500,000 кредитов соответственно.
Аутентификация
Все запросы к API требуют Bearer-токен в заголовке Authorization. Вы можете создавать и управлять API-ключами в разделе Настройки аккаунта.
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://seegen.ai/api/v1/account/creditsВажно: ваш API-ключ показывается только один раз при создании. Храните его в безопасном месте. Вы можете создать до 10 API-ключей на аккаунт.
Быстрый старт
Сгенерируйте видео в два шага: создайте задачу, затем опрашивайте статус, чтобы получить результат.
# 1. Create a text-to-video task
TASK_ID=$(curl -s -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sd2",
"inputs": {
"prompt": "A golden retriever running on the beach at sunset",
"duration": "5s",
"resolution": "1280x720"
}
}' \
https://seegen.ai/api/v1/jobs/createTask | jq -r '.taskId')
echo "Task created: $TASK_ID"
# 2. Poll for result
while true; do
RESULT=$(curl -s -H "Authorization: Bearer $API_KEY" \
"https://seegen.ai/api/v1/jobs/queryTask?taskId=$TASK_ID")
STATUS=$(echo $RESULT | jq -r '.status')
echo "Status: $STATUS"
if [ "$STATUS" = "COMPLETED" ] || [ "$STATUS" = "FAILED" ]; then
echo $RESULT | jq .
break
fi
sleep 5
doneЭндпоинты
/api/v1/jobs/createTaskСоздать новую задачу генерации видео
/api/v1/jobs/queryTaskЗапросить статус и результат задачи
/api/v1/account/creditsПроверить баланс кредитов
/api/v1/assets/uploadЗагрузить ассет (изображение/видео/аудио) на проверку
/api/v1/assets/statusЗапросить статус проверки ассета
/api/v1/assets/listСписок загруженных ассетов
/api/v1/upscale/createОтправить отдельную задачу апскейла видео (720p / 1080p / 2K / 4K)
/api/v1/upscale/queryОпросить статус и результат отдельной задачи апскейла
Выбор модели (видео)
Выбирайте видеомодель по рабочему процессу, нативному разрешению, скорости и цене; используйте эту таблицу вместе с разделом Цены, чтобы оценить стоимость.
| Модель | T2V | I2V | First–Last | Multi-Ref | R2V | Нативный 1080p | Нативный 4K | Аудио | 720p / 5s |
|---|---|---|---|---|---|---|---|---|---|
| sd2.5 | ✓ | ✓ | ✓ | ✓ | — | ✓ | апскейл | ✓ | 300 кредитов |
| sd2 | ✓ | ✓ | ✓ | ✓ | — | ✓ | ✓ | ✓ | 200 кредитов |
| sd2-fast | ✓ | ✓ | ✓ | ✓ | — | апскейл | апскейл | ✓ | 160 кредитов |
| sd2-mini | ✓ | ✓ | ✓ | ✓ | — | апскейл | апскейл | ✓ | 100 кредитов |
| wan3.0-video-prime | ✓ | ✓ | ✓ | ✓ | — | ✓ | — | ✓ | 225 кредитов |
| wan3.0-video | ✓ | ✓ | ✓ | ✓ | — | ✓ | — | ✓ | 160 кредитов |
T2V = текст в видео · I2V = изображение в видео (первый кадр) · First–Last = первый + последний ключевой кадр · Multi-Ref = смешанные референсы: изображения / видео / аудио · R2V = 1–9 референсных изображений с маркерами персонажей
Seedance 2.0 / 2.0 Fast / 2.0 Mini / Seedance 2.5
Текст в видео
Сгенерируйте видео из текстового промпта. Изображения не требуются.
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sd2",
"inputs": {
"prompt": "A futuristic city with flying cars at night, neon lights reflecting on wet streets",
"duration": "5s",
"resolution": "1280x720"
}
}' \
https://seegen.ai/api/v1/jobs/createTask| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| prompt | string | Да | Текстовое описание видео для генерации. Максимум 20000 символов. |
| duration | string | Нет | Длительность видео: от "4s" до "15s"; sd2.5 поддерживает до "30s" (по умолчанию: "5s") |
| resolution | string | Нет | Соотношение сторон через разрешение. Варианты: auto (по умолчанию), 720x720, 720x960, 960x720, 1280x720, 720x1280, 1280x540 |
| outputResolution | string | Нет | Уровень выходного разрешения: "480p", "720p" (по умолчанию), "1080p", "2k" или "4k". Нативные разрешения различаются по модели: Seedance 2.0 Pro: 480p/720p/1080p/4k; Seedance 2.0 Fast & Mini: 480p/720p; Seedance 2.5: 480p/720p/1080p. Более высокие уровни апскейлятся автоматически. |
| seed | int | Нет | Сид для воспроизводимости: -1 или не указывайте для случайного значения; 0–2147483647 для фиксированного. |
| generateAudio | boolean | Нет | Синтезировать ли синхронизированную аудиодорожку. По умолчанию true; передайте false для видео без звука. |
Изображение в видео
Анимируйте статичное изображение в видео. Укажите один URL изображения как начальный кадр.
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sd2",
"inputs": {
"urls": ["https://example.com/photo.jpg"], // or "asset://asset-20260326-abc123"
"prompt": "The woman slowly turns her head and smiles",
"duration": "5s"
}
}' \
https://seegen.ai/api/v1/jobs/createTask| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| urls | string[] | Да | Массив с одним URL изображения (исходный кадр). Поддерживает как HTTP-URL, так и ссылки на ассеты (например, "asset://asset-20260326-abc123") |
| prompt | string | Нет | Текстовое описание желаемого движения |
| duration | string | Нет | Длительность видео: от "4s" до "15s"; sd2.5 поддерживает до "30s" (по умолчанию: "5s") |
| outputResolution | string | Нет | Уровень выходного разрешения: "480p", "720p" (по умолчанию), "1080p", "2k" или "4k". Нативные разрешения различаются по модели: Seedance 2.0 Pro: 480p/720p/1080p/4k; Seedance 2.0 Fast & Mini: 480p/720p; Seedance 2.5: 480p/720p/1080p. Более высокие уровни апскейлятся автоматически. |
| seed | int | Нет | Сид для воспроизводимости: -1 или не указывайте для случайного значения; 0–2147483647 для фиксированного. |
| generateAudio | boolean | Нет | Синтезировать ли синхронизированную аудиодорожку. По умолчанию true; передайте false для видео без звука. |
Первый и последний кадр
Задайте начальный и конечный кадры — модель сгенерирует переход между ними. Использует videoInputMode: "keyframe".
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sd2",
"inputs": {
"urls": [
"https://example.com/first-frame.jpg",
"https://example.com/last-frame.jpg"
],
"prompt": "Smooth camera transition from day to night",
"duration": "5s",
"videoInputMode": "keyframe"
}
}' \
https://seegen.ai/api/v1/jobs/createTask| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| urls | string[] | Да | Массив ровно с 2 URL изображений: [first_frame, last_frame]. Поддерживает как HTTP-URL, так и ссылки на ассеты (например, "asset://asset-20260326-abc123") |
| videoInputMode | string | Да | Должно быть "keyframe" |
| prompt | string | Нет | Текстовое описание, направляющее переход |
| duration | string | Нет | Длительность видео: от "4s" до "15s"; sd2.5 поддерживает до "30s" (по умолчанию: "5s") |
| outputResolution | string | Нет | Уровень выходного разрешения: "480p", "720p" (по умолчанию), "1080p", "2k" или "4k". Нативные разрешения различаются по модели: Seedance 2.0 Pro: 480p/720p/1080p/4k; Seedance 2.0 Fast & Mini: 480p/720p; Seedance 2.5: 480p/720p/1080p. Более высокие уровни апскейлятся автоматически. |
| seed | int | Нет | Сид для воспроизводимости: -1 или не указывайте для случайного значения; 0–2147483647 для фиксированного. |
| generateAudio | boolean | Нет | Синтезировать ли синхронизированную аудиодорожку. По умолчанию true; передайте false для видео без звука. |
Мульти-референс
Используйте несколько референсных изображений, видео и аудиофайлов для управления генерацией. Использует videoInputMode: "reference". Для sd2.5 это подзадача reference по умолчанию; чтобы отредактировать или продолжить существующее видео, см. раздел Редактирование и расширение видео ниже.
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sd2",
"inputs": {
"urls": [
"https://example.com/ref1.jpg",
"https://example.com/ref2.jpg"
],
"videoUrls": ["asset://asset-motion-video"],
"audioUrls": ["https://example.com/audio.mp3"],
"prompt": "Character walks through a garden",
"duration": "5s",
"videoInputMode": "reference",
"resolution": "1280x720"
}
}' \
https://seegen.ai/api/v1/jobs/createTask| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| urls | string[] | Нет | URL референсных изображений (максимум 9). Поддерживает как HTTP-URL, так и ссылки на ассеты (например, "asset://asset-20260326-abc123") |
| videoUrls | string[] | Нет | URI референсных видео asset:// — сначала загрузите через /api/v1/assets/upload; внешние URL отклоняются. sd2: максимум 3 видео, каждое ≤15s. sd2.5: до 10 видео, каждое 2–30s и ≤200MB, суммарная референсная длительность ≤30s, поддерживаются входы 480p–4K. |
| audioUrls | string[] | Нет | Референсные аудиовходы. sd2 / sd2-fast / sd2-mini: до 3 аудиофайлов, каждый 2–15s, суммарно ≤15s — аудио не может быть единственным референсом для этих моделей (добавьте хотя бы одно изображение или видео). sd2.5: до 10 файлов, ≤15MB и 2–30s каждый, суммарно ≤30s, поддерживается вход только с аудио. |
| videoInputMode | string | Да | Должно быть "reference" |
| prompt | string | Нет | Текстовое описание |
| duration | string | Нет | Длительность видео: от "4s" до "15s"; sd2.5 поддерживает до "30s" (по умолчанию: "5s") |
| resolution | string | Да | Обязательно для режима reference. Варианты: 720x720, 720x960, 960x720, 1280x720, 720x1280, 1280x540 |
| outputResolution | string | Нет | Уровень выходного разрешения: "480p", "720p" (по умолчанию), "1080p", "2k" или "4k". Нативные разрешения различаются по модели: Seedance 2.0 Pro: 480p/720p/1080p/4k; Seedance 2.0 Fast & Mini: 480p/720p; Seedance 2.5: 480p/720p/1080p. Более высокие уровни апскейлятся автоматически. |
| seed | int | Нет | Сид для воспроизводимости: -1 или не указывайте для случайного значения; 0–2147483647 для фиксированного. |
| generateAudio | boolean | Нет | Синтезировать ли синхронизированную аудиодорожку. По умолчанию true; передайте false для видео без звука. |
Ограничения по референсам
- Максимум 9 изображений, 3 видео, 3 аудиофайла
- Максимум 12 файлов суммарно по всем типам
- Каждое видео/аудио должно быть ≤ 15 секунд
- Изображения должны быть не менее 400px по короткой стороне
- sd2.5: максимум 30 изображений, 10 видео, 10 аудиофайлов, суммарно 50; суммарная длительность видео и аудио — каждая ≤ 30 секунд
Редактирование и расширение видео
sd2.5 разделяет генерацию на основе референсов на три подзадачи. Не указывайте mode для обычной reference-генерации, задайте mode: "edit", чтобы отредактировать существующее видео, или mode: "extend", чтобы продолжить его. Оба режима требуют как минимум одно видео в videoUrls и всегда выводят видео с соотношением сторон исходного видео.
Поместите видео, с которым хотите работать, первым в videoUrls и ссылайтесь на него как "Video 1" в промпте. edit принудительно делает длину вывода равной длине этого первого (исходного) видео, которое должно быть 4–30s, поэтому любой переданный вами duration игнорируется; тарификация использует длительность исходного видео как длительность вывода, плюс все референсные видео как вход. extend принимает 1–3 клипа, склеенных по порядку, и запрошенный вами duration — это длина вывода данной генерации (не связана с длиной исходника) — тарифицируется как обычная reference-генерация.
Модели семейства 2.0 (sd2 / sd2-fast / sd2-mini) также принимают mode: "edit" и mode: "extend": они определяют операцию по вашему промпту (явно опишите редактирование или продолжение), соотношение сторон следует исходному видео, а duration остаётся под вашим контролем при обычной тарификации.
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sd2.5",
"inputs": {
"mode": "edit",
"videoInputMode": "reference",
"videoUrls": ["asset://asset-source-video"],
"urls": ["https://example.com/annotation-at-1.2s.png"],
"source_frame_timestamps_ms": [1200],
"prompt": "Replace the marked object with a red umbrella",
"outputResolution": "720p"
}
}' \
https://seegen.ai/api/v1/jobs/createTask| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| mode | string | Нет | "edit" или "extend". Не указывайте для обычной reference-генерации. |
| videoUrls | string[] | Да | Минимум одно видео; первое — исходное ("Video 1") — длина вывода и тарификация для edit следуют за ним. Последующие видео — дополнительные референсы (edit) или дополнительные клипы, склеенные по порядку (extend, максимум 3). |
| urls | string[] | Нет | Необязательные изображения аннотаций/референсов. |
| source_frame_timestamps_ms | number[] | Нет | только для mode "edit". Одна неотрицательная временная метка исходного видео в миллисекундах на каждое изображение в urls. |
| outputResolution | string | Нет | Уровень выходного разрешения: "480p", "720p" (по умолчанию), "1080p", "2k" или "4k". Нативные разрешения различаются по модели: Seedance 2.0 Pro: 480p/720p/1080p/4k; Seedance 2.0 Fast & Mini: 480p/720p; Seedance 2.5: 480p/720p/1080p. Более высокие уровни апскейлятся автоматически. |
Справочник параметров Seedance
Полный справочник всех параметров inputs для моделей sd2 / sd2-fast / sd2-mini / sd2.5.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| prompt | string | Нет | Текстовое описание (обязательно для text-to-video, необязательно для остальных режимов). Максимум 20000 символов. |
| urls | string[] | Нет | URL изображений. Поддерживает как HTTP-URL, так и ссылки на ассеты (например, "asset://asset-20260326-abc123"). Внутренне сопоставляется с uploadedUrls. |
| videoUrls | string[] | Нет | URI референсных видео asset:// (только для режима reference). Должны быть предварительно загружены через /api/v1/assets/upload — внешние URL отклоняются. |
| audioUrls | string[] | Нет | URL референсного аудио (только для режима reference). Вход только с аудио поддерживается на sd2.5; sd2 / sd2-fast / sd2-mini требуют хотя бы одно изображение или видео вместе с аудио. |
| duration | string | Нет | обычно от "4s" до "15s"; sd2.5 поддерживает до "30s". По умолчанию: "5s" |
| resolution | string | Нет | Соотношение сторон: auto (по умолчанию) | 720x720 | 720x960 | 960x720 | 1280x720 | 720x1280 | 1280x540 |
| outputResolution | string | Нет | Уровень выходного разрешения: "480p", "720p" (по умолчанию), "1080p", "2k" или "4k". Нативные разрешения различаются по модели: Seedance 2.0 Pro: 480p/720p/1080p/4k; Seedance 2.0 Fast & Mini: 480p/720p; Seedance 2.5: 480p/720p/1080p. Более высокие уровни апскейлятся автоматически. |
| videoInputMode | string | Нет | "keyframe" (по умолчанию) или "reference" |
| mode | string | Нет | Подзадача режима reference (все модели Seedance): не указывайте для обычной reference-генерации, "edit" — чтобы отредактировать первое видео в videoUrls, "extend" — чтобы продолжить 1-3 клипа. См. раздел Редактирование и расширение видео. |
| source_frame_timestamps_ms | number[] | Нет | только для sd2.5 Video Edit: одна неотрицательная временная метка в миллисекундах на каждое изображение-аннотацию. |
| seed | int | Нет | Случайный сид для воспроизводимости. -1 или не указывайте для случайного значения на сервере. Один и тот же сид с теми же входами даёт близкий по результату вывод (не побитово идентичный из-за недетерминированности GPU). Диапазон: от -1 до 2147483647. |
| generateAudio | boolean | Нет | Синтезировать ли аудиодорожку (речь, звуковые эффекты, фоновую музыку), синхронизированную с видео. По умолчанию true. Установите false, чтобы получить видео без звука — немного быстрее, полезно, если вы планируете озвучить отдельно. |
| bitrateMode | string | Нет | Уровень битрейта вывода при том же разрешении: "standard" (по умолчанию) или "high". "high" сохраняет больше деталей и уменьшает бэндинг/блочность при размере файла ~3-5× больше — не меняет разрешение или цену. |
| upscaleResolution | string | Нет | (Устарело) Устаревшее раздельное поле, всё ещё принимается для обратной совместимости. Новым интеграциям следует использовать outputResolution, которое теперь напрямую принимает "2k" / "4k". Если переданы оба поля, приоритет имеет upscaleResolution — за исключением моделей с нативным 1080p (Seedance2 Pro / Seedance 2.5), где upscaleResolution:"1080p" разрешается в нативный 1080p (тарифицируется по нативной ставке). |
Поля верхнего уровня запроса: model (обязательно), inputs (обязательно), callBackUrl (необязательный URL вебхука).
Ассеты Seedance
Ассеты Seedance — это изображения, видео и аудиофайлы, которые проходят проверку ByteDance Volcano перед использованием в задачах генерации видео Seedance. Загрузите ассет, дождитесь статуса ACTIVE, а затем используйте его URL asset:// в задаче Seedance.
Примечание: ассеты с реальными людьми (изображения и видео) требуют официальной проверки, обычно занимающей несколько секунд. После одобрения их можно использовать напрямую как референсы. Без проверки генерация может завершиться ошибкой.
Загрузка ассета
Два способа загрузки: отправить локальный файл напрямую (multipart/form-data) или указать публично доступный HTTPS URL. В любом случае ассет обрабатывается и проверяется автоматически.
Способ A — прямая загрузка файла (multipart/form-data)
Отправьте локальный файл без необходимости в хостинге изображений. Тип медиа определяется по байтам файла (расширению имени файла не доверяют). Разрешено: изображения (jpg/png/webp/gif/bmp/tiff/heic), видео (mp4/mov), аудио (wav/mp3). Максимум 50MB на файл (изображение ≤30MB, видео ≤50MB, аудио ≤15MB).
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-F "file=@/path/to/photo.jpg" \
-F "name=my-photo" \
https://seegen.ai/api/v1/assets/upload| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| file | file | Да | Локальный файл (поле multipart-формы). Тип медиа определяется по содержимому. |
| name | string | Нет | Название ассета (максимум 64 символа) |
Способ B — по URL (application/json)
Если файл уже размещён по публичному HTTPS URL.
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/photo.jpg",
"type": "IMAGE",
"name": "my-photo"
}' \
https://seegen.ai/api/v1/assets/upload| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| url | string | Да | Публично доступный HTTPS URL загружаемого файла |
| type | string | Да | "IMAGE", "AUDIO" или "VIDEO" |
| name | string | Нет | Название ассета (максимум 64 символа) |
Ответ на загрузку
{
"assetId": 123,
"volcAssetId": "asset-20260326-abc123",
"type": "IMAGE",
"status": "PROCESSING",
"failReason": null,
"url": "https://example.com/photo.jpg",
"name": "my-photo",
"createdAt": 1711234567890
}Запрос статуса ассета
Опрашивайте статус проверки ассета. Когда статус — PROCESSING, эндпоинт автоматически проверяет обновления от системы проверки.
# Query by asset ID (numeric)
curl -H "Authorization: Bearer $API_KEY" \
"https://seegen.ai/api/v1/assets/status?assetId=123"
# Query by volcAssetId (string)
curl -H "Authorization: Bearer $API_KEY" \
"https://seegen.ai/api/v1/assets/status?assetId=asset-20260326-abc123"Значения статуса ассета
PROCESSING— на проверке, ещё нельзя использоватьACTIVE— проверка пройдена, готово к использованию в задачахFAILED— проверка не пройдена, проверьте failReason
Список ассетов
Список ваших загруженных ассетов с необязательной фильтрацией по типу и статусу. Поддерживает курсорную пагинацию.
# List all assets
curl -H "Authorization: Bearer $API_KEY" \
"https://seegen.ai/api/v1/assets/list"
# Filter by type and status
curl -H "Authorization: Bearer $API_KEY" \
"https://seegen.ai/api/v1/assets/list?type=IMAGE&status=ACTIVE&limit=10"
# Paginate with cursor
curl -H "Authorization: Bearer $API_KEY" \
"https://seegen.ai/api/v1/assets/list?cursor=100&limit=20"| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| type | string | Нет | Фильтр по типу: "IMAGE", "AUDIO" или "VIDEO" |
| status | string | Нет | Фильтр по статусу: "NONE", "PROCESSING", "ACTIVE" или "FAILED" |
| cursor | number | Нет | Курсор для пагинации (используйте nextCursor из предыдущего ответа) |
| limit | number | Нет | Элементов на странице, 1-50 (по умолчанию: 20) |
Ответ со списком
{
"items": [
{
"assetId": 123,
"volcAssetId": "asset-20260326-abc123",
"type": "IMAGE",
"status": "ACTIVE",
"failReason": null,
"url": "https://example.com/photo.jpg",
"name": "my-photo",
"width": 1920,
"height": 1080,
"size": 245000,
"duration": null,
"createdAt": 1711234567890
}
],
"nextCursor": 122
}Использование ассетов в задачах
Как только ассет получает статус ACTIVE, используйте его volcAssetId с протоколом asset:// в URL вашей задачи:
{
"model": "sd2",
"inputs": {
"urls": ["asset://asset-20260326-abc123"],
"prompt": "The person slowly looks up and smiles",
"duration": "5s"
}
}Wan 3.0 Video и Wan 3.0 Video Prime
Wan 3.0 поддерживает видео по тексту и первому кадру, интерполяцию между первым и последним кадрами, смешанные референсы изображений/видео/аудио, редактирование и продление видео. wan3.0-video-prime принимает те же входные данные, что и wan3.0-video, и оптимизирован для более быстрой генерации.
Оба псевдонима используют асинхронный API SeeGen: POST /api/v1/jobs/createTask возвращает taskId; опрашивайте GET /api/v1/jobs/queryTask?taskId=... или укажите callBackUrl для получения итогового результата.
Поддерживаемый вывод: фиксированная длительность 2–30 секунд в нативных 480p, 720p или 1080p, без водяного знака. Автоматическая длительность (duration: -1), вывод в 2K/4K и пользовательская настройка watermark не поддерживаются. Сначала загрузите референсные материалы, затем используйте возвращённый HTTPS URL.
Текст в видео
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "wan3.0-video-prime",
"inputs": {
"prompt": "A red paper boat glides across a calm pond at sunrise, locked camera, no text.",
"duration": "5s",
"outputResolution": "720p",
"ratio": "16:9",
"generateAudio": true,
"promptExtend": true,
"seed": 12345
}
}' \
https://seegen.ai/api/v1/jobs/createTaskИзображение в видео (первый кадр)
Загрузите материалы Wan через multipart POST /api/v1/assets/upload?model=wan3.0-video (или псевдоним Prime), затем используйте возвращённый принадлежащий вам HTTPS url во входных данных генерации. Возвращённый assetId — только идентификатор записи материала SeeGen; не передавайте его во входных данных генерации.
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-F "file=@/path/to/first-frame.webp" \
"https://seegen.ai/api/v1/assets/upload?model=wan3.0-video"{
"assetId": 123,
"type": "IMAGE",
"status": "ACTIVE",
"url": "https://static.seegen.ai/materials/api/.../first-frame.webp"
}curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "wan3.0-video",
"inputs": {
"urls": ["https://static.seegen.ai/materials/api/.../first-frame.webp"],
"videoInputMode": "keyframe",
"prompt": "The subject looks toward the camera as morning mist drifts past.",
"duration": "5s",
"outputResolution": "1080p",
"generateAudio": true
}
}' \
https://seegen.ai/api/v1/jobs/createTaskПервый и последний кадры
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "wan3.0-video",
"inputs": {
"urls": [
"https://static.seegen.ai/materials/api/.../first-frame.webp",
"https://static.seegen.ai/materials/api/.../last-frame.webp"
],
"videoInputMode": "keyframe",
"prompt": "A smooth continuous transition from sunrise to night.",
"duration": "8s",
"outputResolution": "720p"
}
}' \
https://seegen.ai/api/v1/jobs/createTaskНесколько ссылок (изображения, видео и аудио)
Установите videoInputMode: "reference" и передайте хотя бы один поддерживаемый материал через urls, videoUrls или audioUrls; промпт необязателен. Ссылайтесь на материалы по порядку как Image1, Image2, Video1 или Audio1. Сначала загрузите каждый материал через multipart-эндпоинт Wan, затем используйте возвращённый принадлежащий вам HTTPS URL.
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "wan3.0-video-prime",
"inputs": {
"videoInputMode": "reference",
"urls": ["https://static.seegen.ai/materials/api/.../reference-image.webp"],
"videoUrls": ["https://static.seegen.ai/materials/api/.../source-video.mp4"],
"audioUrls": ["https://static.seegen.ai/materials/api/.../reference-audio.mp3"],
"prompt": "Use Image1 for identity, Video1 for motion, and Audio1 for timing.",
"duration": "10s",
"outputResolution": "720p",
"ratio": "16:9",
"generateAudio": true,
"promptExtend": true
}
}' \
https://seegen.ai/api/v1/jobs/createTaskРедактирование видео
Сначала загрузите исходное видео, затем задайте mode: "edit" и videoInputMode: "reference". В обязательном промпте опишите, как изменить Video1 — первое видео в videoUrls. Соотношение сторон выбирается автоматически, длительность результата задаёте вы. Указанные ниже ограничения референсов и цены действуют для редактирования и продления.
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "wan3.0-video",
"inputs": {
"mode": "edit",
"videoInputMode": "reference",
"videoUrls": ["https://static.seegen.ai/materials/api/.../source-video.mp4"],
"prompt": "Transform Video1 into clay animation, keeping the characters and camera movement.",
"duration": "5s",
"outputResolution": "720p",
"ratio": "adaptive"
}
}' \
https://seegen.ai/api/v1/jobs/createTaskПродление видео
Используйте mode: "extend" с исходным видео и инструкцией, например «Продолжи Video1 вперёд», затем опишите дальнейшие события. Задайте ratio: "adaptive". Выбранная duration — длительность создаваемого видео, а не сумма исходного ролика и продолжения. Создание видео из файлов и веб-страниц не поддерживается.
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "wan3.0-video-prime",
"inputs": {
"mode": "extend",
"videoInputMode": "reference",
"videoUrls": ["https://static.seegen.ai/materials/api/.../source-video.mp4"],
"prompt": "Extend Video1 forward, continuing the motion of the character and keeping the scene consistent.",
"duration": "5s",
"outputResolution": "720p",
"ratio": "adaptive"
}
}' \
https://seegen.ai/api/v1/jobs/createTaskСправочник параметров Wan 3.0
Обе модели Wan 3.0 принимают одинаковые поля inputs. Выберите длительность результата от 2 до 30 секунд с шагом в одну секунду.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| prompt | string | Нет | Описание видео или инструкция. Максимум 20,000 символов. Обязательно для видео по тексту, редактирования и продления; необязательно для видео по изображению, первого/последнего кадра и нескольких референсов. Для редактирования и продления также требуется видео. Используйте Image1 / Video1 / Audio1 в порядке референсов. |
| mode | string | Нет | Для обычной генерации пропустите параметр или задайте "normal". Режимы "edit" и "extend" требуют видео и промпта с инструкцией. Оба используют референсы, автоматическое соотношение сторон и фиксированную длительность результата 2–30 секунд. |
| urls | string[] | Нет | Принадлежащие вам HTTPS URL изображений, возвращённые эндпоинтом загрузки Wan. Не указывайте для текста в видео; передайте ровно 1 первый кадр, ровно 2 первых/последних кадра или до 10 изображений в режиме референсов. Чужие внешние URL и ссылки протокола ресурсов Seedance отклоняются. |
| videoUrls | string[] | Нет | До 5 принадлежащих вам HTTPS URL референсных видео, возвращённых эндпоинтом загрузки Wan. Каждый клип должен длиться 1–15 с, все референсные видео вместе — не более 15 с, а вместе с результатом — не более 30 с. Чужие внешние URL и ссылки протокола ресурсов Seedance отклоняются. |
| audioUrls | string[] | Нет | До 5 принадлежащих вам HTTPS URL референсного аудио, возвращённых эндпоинтом загрузки Wan. WAV или MP3; каждый клип должен длиться 1–15 с, всё референсное аудио вместе — не более 15 с. Чужие внешние URL и ссылки протокола ресурсов Seedance отклоняются. |
| videoInputMode | string | Нет | Не указывайте для текста в видео; используйте "keyframe" для одного первого кадра или двух первых/последних кадров; используйте "reference" для смешанных ссылок на изображения, видео и аудио. |
| duration | string | Нет | Строка с целым числом секунд от "2s" до "30s". По умолчанию: "5s". |
| outputResolution | string | Нет | Нативные "480p", "720p" (по умолчанию) или "1080p". Вывод в 2K/4K не поддерживается. |
| ratio | string | Нет | "auto" или "adaptive" (оба задают автоматическое кадрирование), "16:9", "9:16", "1:1", "4:3" или "3:4". Применяется к видео по тексту и нескольким референсам. Редактирование и продление всегда используют Auto; видео по изображению и первому/последнему кадру следует ключевым изображениям. |
| generateAudio | boolean | Нет | Генерируйте синхронизированную речь, звуковые эффекты и музыку. По умолчанию true. Установите false для результата без звука; цена не меняется. |
| promptExtend | boolean | Нет | Позвольте модели обогатить промпт перед генерацией. По умолчанию true. |
| seed | int | Нет | 0–2147483647. Используйте тот же seed и входные данные для близкого по результату повторного запуска. |
Требования к эталонным медиафайлам
- Изображения: до 10; JPEG/JPG/PNG (без прозрачности)/BMP/WebP; ≤20 МБ каждое; каждая сторона 240–8000 px; соотношение сторон до 8:1
- Видео: до 5 фрагментов MP4/MOV; ≤100 МБ каждый; 1–15 с каждый, ≤15 с общей входной длительности, входные данные + запрошенный результат ≤30 с; каждая сторона 240–4096 px; соотношение сторон до 8:1
- Аудио: до 5 HTTPS URL WAV/MP3, возвращённых эндпоинтом загрузки Wan; ≤15 МБ каждый; 1–15 с каждый и ≤15 с общей длительности
- Режим первого/последнего кадра нельзя совмещать с массивами эталонных изображений, видео или аудио
Выбор модели (изображения)
Модели изображений принимают промпт (и, опционально, референсные изображения) и возвращают одно изображение на задачу. Каждый запрос тарифицируется за изображение по тарифу выбранной модели (или по фиксированной цене для Seedream Lite). Неудачные задачи возвращаются автоматически. Параметра batch нет — чтобы получить несколько вариантов, вызывайте createTask отдельно для каждого изображения.
| Модель | T2I | I2I (редактирование) | Multi-Ref | Макс. разрешение | 2k / medium |
|---|---|---|---|---|---|
| gpt-image-2.5-flare | ✓ | ✓ | до 10 | 4k | см. Тарифы |
| gpt-image-2.5-sunburst | ✓ | ✓ | до 10 | 4k | см. Тарифы |
| gpt-image-2 | ✓ | ✓ | до 10 | 4k | см. Тарифы |
| nano-banana-2 | ✓ | ✓ | до 10 | 4k | см. Тарифы |
| nano-banana-pro | ✓ | ✓ | до 10 | 4k | см. Тарифы |
| seedream-v5.0-lite | ✓ | ✓ | до 10 | 4k | фиксированная цена |
| seedream-v5.0-pro | ✓ | ✓ | до 10 | 2k | см. Тарифы |
GPT Image 2.5 Flare / Sunburst
GPT Image 2.5 Flare ориентирован на быструю генерацию и редактирование. Sunburst — на детальные изображения и точные правки. Обе модели работают с текстовыми промптами и референсами.
Доступно в рабочем пространстве, Playground и через API. Обе модели принимают следующие параметры: качество medium/high/xhigh/max, предустановки 1K/2K/4K и вывод PNG/JPEG/WebP. Фактические размеры могут отличаться от предустановки. JPEG и WebP конвертируются из созданного PNG без изменения размеров. Каждая задача API создаёт одно изображение.
Текст в изображение
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2.5-flare",
"inputs": {
"prompt": "A neon-lit cyberpunk alley at midnight, photoreal",
"quality": "medium",
"resolution": "2k",
"aspectRatio": "16:9"
}
}' \
https://seegen.ai/api/v1/jobs/createTaskИзображение в изображение (редактирование)
Передайте 1–10 референсных изображений через urls. Модель использует их как визуальный контекст для редактирования, описанного в prompt.
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2.5-sunburst",
"inputs": {
"urls": ["https://example.com/portrait.jpg"],
"prompt": "Restyle as oil painting",
"quality": "medium",
"resolution": "1k",
"aspectRatio": "1:1"
}
}' \
https://seegen.ai/api/v1/jobs/createTaskСправочник параметров GPT Image 2.5
Полный справочник всех параметров inputs для модели gpt-image-2.5-flare.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| prompt | string | Да | Текстовое описание изображения для генерации или редактирования, которое нужно применить, если указан urls. |
| urls | string[] | Нет | URL референсных изображений для режима image-to-image (редактирование) (1–10 изображений). Не указывайте для text-to-image. Принимаются публичные HTTPS URL. |
| quality | string | Нет | "medium" / "high" / "xhigh" / "max". По умолчанию: "medium". Стоимость в кредитах зависит от уровня (см. Тарифы). |
| resolution | string | Нет | "1k" / "2k" / "4k". По умолчанию: "2k". Стоимость в кредитах зависит от уровня (см. Тарифы). |
| aspectRatio | string | Нет | "1:1" / "16:9" / "9:16" / "4:3" / "3:4". По умолчанию: "1:1". |
| outputFormat | string | Нет | "png" / "jpeg" / "webp". По умолчанию: "png". |
Требования к входным изображениям (режим image-to-image)
- До 10 референсных изображений на задачу
- Максимальный размер файла 50 MB на изображение
- Короткая сторона ≥ 256px
- Соотношение сторон от 1:3 до 3:1
- Форматы: JPEG, JPG, PNG, WEBP
Стоимость кредитов за изображение зависит от разрешения и качества — полную таблицу см. в разделе Тарифы.
GPT Image 2
Модель GPT Image 2 от OpenAI для высококачественного text-to-image и редактирования image-to-image. Один воркфлоу обрабатывает оба режима — передайте urls, чтобы автоматически переключиться в режим редактирования. Результат доставляется через R2 в запрошенном вами формате (PNG / JPEG / WEBP). Название модели: gpt-image-2.
Текст в изображение
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"inputs": {
"prompt": "A neon-lit cyberpunk alley at midnight, photoreal",
"quality": "medium",
"resolution": "2k",
"aspectRatio": "16:9"
}
}' \
https://seegen.ai/api/v1/jobs/createTaskИзображение в изображение (редактирование)
Передайте 1–10 референсных изображений через urls. Модель использует их как визуальный контекст для редактирования, описанного в prompt.
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"inputs": {
"urls": ["https://example.com/portrait.jpg"],
"prompt": "Restyle as oil painting",
"quality": "medium",
"resolution": "1k",
"aspectRatio": "1:1"
}
}' \
https://seegen.ai/api/v1/jobs/createTaskСправочник параметров GPT Image 2
Полный справочник всех параметров inputs для модели gpt-image-2.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| prompt | string | Да | Текстовое описание изображения для генерации или редактирования, которое нужно применить, если указан urls. |
| urls | string[] | Нет | URL референсных изображений для режима image-to-image (редактирование) (1–10 изображений). Не указывайте для text-to-image. Принимаются публичные HTTPS URL. |
| quality | string | Нет | "medium" / "high". По умолчанию: "medium". Стоимость в кредитах зависит от уровня (см. Тарифы). |
| resolution | string | Нет | "1k" / "2k" / "4k". По умолчанию: "2k". Стоимость в кредитах зависит от уровня (см. Тарифы). |
| aspectRatio | string | Нет | "1:1" / "16:9" / "9:16" / "4:3" / "3:4". По умолчанию: "1:1". |
| outputFormat | string | Нет | "png" / "jpeg" / "webp". По умолчанию: "png". |
Требования к входным изображениям (режим image-to-image)
- До 10 референсных изображений на задачу
- Максимальный размер файла 50 MB на изображение
- Короткая сторона ≥ 256px
- Соотношение сторон от 1:3 до 3:1
- Форматы: JPEG, JPG, PNG, WEBP
Стоимость кредитов за изображение зависит от разрешения и качества — полную таблицу см. в разделе Тарифы.
Nano Banana 2
Nano Banana 2 — высококачественная модель изображений с более широким охватом соотношений сторон, чем gpt-image-2, — добавляет портретные/альбомные пресеты (3:2, 2:3, 4:5, 5:4) и кинематографический 21:9. Один воркфлоу обрабатывает оба режима — передайте urls, чтобы автоматически переключиться в режим редактирования. Название модели: nano-banana-2.
Текст в изображение
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "nano-banana-2",
"inputs": {
"prompt": "A neon-lit cyberpunk alley at midnight, photoreal",
"resolution": "2k",
"aspectRatio": "16:9"
}
}' \
https://seegen.ai/api/v1/jobs/createTaskИзображение в изображение (редактирование)
Передайте 1–10 референсных изображений через urls. Модель использует их как визуальный контекст для редактирования, описанного в prompt.
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "nano-banana-2",
"inputs": {
"urls": ["https://example.com/portrait.jpg"],
"prompt": "Restyle as oil painting",
"resolution": "2k",
"aspectRatio": "1:1"
}
}' \
https://seegen.ai/api/v1/jobs/createTaskСправочник параметров Nano Banana 2
Полный справочник всех параметров inputs для модели nano-banana-2.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| prompt | string | Да | Текстовое описание изображения для генерации или редактирования, которое нужно применить, если указан urls. |
| urls | string[] | Нет | URL референсных изображений для режима image-to-image (редактирование) (1–10 изображений). Не указывайте для text-to-image. Принимаются публичные HTTPS URL. |
| resolution | string | Нет | "1k" / "2k" / "4k". По умолчанию: "2k". Стоимость в кредитах зависит от уровня (см. Тарифы). |
| aspectRatio | string | Нет | "1:1" / "16:9" / "9:16" / "4:3" / "3:4" / "3:2" / "2:3" / "4:5" / "5:4" / "21:9". По умолчанию: "1:1". |
Требования к входным изображениям (режим image-to-image)
- До 10 референсных изображений на задачу
- Максимальный размер файла 50 MB на изображение
- Короткая сторона ≥ 256px
- Соотношение сторон от 1:3 до 3:1
- Форматы: JPEG, JPG, PNG, WEBP
Стоимость кредитов за изображение зависит от разрешения — полную таблицу см. в разделе Тарифы.
Nano Banana Pro
Nano Banana Pro — высококачественная модель изображений с более широким охватом соотношений сторон, чем gpt-image-2, — добавляет портретные/альбомные пресеты (3:2, 2:3, 4:5, 5:4) и кинематографический 21:9. Один воркфлоу обрабатывает оба режима — передайте urls, чтобы автоматически переключиться в режим редактирования. Название модели: nano-banana-pro.
Текст в изображение
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "nano-banana-pro",
"inputs": {
"prompt": "A neon-lit cyberpunk alley at midnight, photoreal",
"resolution": "2k",
"aspectRatio": "16:9"
}
}' \
https://seegen.ai/api/v1/jobs/createTaskИзображение в изображение (редактирование)
Передайте 1–10 референсных изображений через urls. Модель использует их как визуальный контекст для редактирования, описанного в prompt.
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "nano-banana-pro",
"inputs": {
"urls": ["https://example.com/portrait.jpg"],
"prompt": "Restyle as oil painting",
"resolution": "2k",
"aspectRatio": "1:1"
}
}' \
https://seegen.ai/api/v1/jobs/createTaskСправочник параметров Nano Banana Pro
Полный справочник всех параметров inputs для модели nano-banana-pro.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| prompt | string | Да | Текстовое описание изображения для генерации или редактирования, которое нужно применить, если указан urls. |
| urls | string[] | Нет | URL референсных изображений для режима image-to-image (редактирование) (1–10 изображений). Не указывайте для text-to-image. Принимаются публичные HTTPS URL. |
| resolution | string | Нет | "1k" / "2k" / "4k". По умолчанию: "2k". Стоимость в кредитах зависит от уровня (см. Тарифы). |
| aspectRatio | string | Нет | "1:1" / "16:9" / "9:16" / "4:3" / "3:4" / "3:2" / "2:3" / "4:5" / "5:4" / "21:9". По умолчанию: "1:1". |
Требования к входным изображениям (режим image-to-image)
- До 10 референсных изображений на задачу
- Максимальный размер файла 50 MB на изображение
- Короткая сторона ≥ 256px
- Соотношение сторон от 1:3 до 3:1
- Форматы: JPEG, JPG, PNG, WEBP
Стоимость кредитов за изображение зависит от разрешения — полную таблицу см. в разделе Тарифы.
Seedream 5.0 Lite
Быстрая генерация text-to-image и image-to-image в 2K или 4K с 15 соотношениями сторон. Название модели: seedream-v5.0-lite.
Текст в изображение
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedream-v5.0-lite",
"inputs": {
"prompt": "A cinematic product photograph, soft studio light",
"resolution": "2k",
"aspectRatio": "1:1"
}
}' \
https://seegen.ai/api/v1/jobs/createTaskИзображение в изображение (редактирование)
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedream-v5.0-lite",
"inputs": {
"prompt": "Restyle the references as a premium fashion campaign",
"urls": ["https://example.com/reference.png"],
"resolution": "4k",
"aspectRatio": "3:4"
}
}' \
https://seegen.ai/api/v1/jobs/createTaskПараметры Seedream 5.0 Lite
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| prompt | string | Да | Описание изображения или инструкция для редактирования. |
| urls | string[] | Нет | 1–10 публичных HTTPS URL референсных изображений. Не указывайте для text-to-image. |
| resolution | string | Нет | "2k" или "4k". По умолчанию: "2k". |
| aspectRatio | string | Нет | "1:1", "1:2", "2:1", "1:3", "3:1", "2:3", "3:2", "3:4", "4:3", "4:5", "5:4", "9:16", "16:9", "9:21", или "21:9". |
Seedream 5.0 Pro
Генерация и редактирование высокой чёткости в 1K или 2K. Название модели: seedream-v5.0-pro.
Текст в изображение
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedream-v5.0-pro",
"inputs": {
"prompt": "Editorial portrait with dramatic rim lighting",
"resolution": "2k",
"aspectRatio": "3:4"
}
}' \
https://seegen.ai/api/v1/jobs/createTaskИзображение в изображение (редактирование)
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedream-v5.0-pro",
"inputs": {
"prompt": "Turn the reference into a cinematic poster",
"urls": ["https://example.com/reference.png"],
"resolution": "2k",
"aspectRatio": "1:2"
}
}' \
https://seegen.ai/api/v1/jobs/createTaskПараметры Seedream 5.0 Pro
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| prompt | string | Да | Описание изображения или инструкция для редактирования. |
| urls | string[] | Нет | 1–10 публичных HTTPS URL референсных изображений. Не указывайте для text-to-image. |
| resolution | string | Нет | "1k" или "2k". По умолчанию: "1k". 4k не поддерживается. |
| aspectRatio | string | Нет | "1:1", "1:2", "2:1", "1:3", "3:1", "2:3", "3:2", "3:4", "4:3", "4:5", "5:4", "9:16", "16:9", "9:21", или "21:9". |
Апскейлер видео
Создать задачу
POST /api/v1/upscale/create
# source.url accepts ANY https video URL — your own CDN, OR a file you first
# uploaded to us via /api/v1/assets/upload (pass the r2Url it returns). No need
# to declare which: we detect it. External URLs are validated; our own are trusted.
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"source": { "type": "url", "url": "https://your-cdn.com/video.mp4" },
"targetResolution": "2k",
"callBackUrl": "https://your-server.com/webhook"
}' \
https://seegen.ai/api/v1/upscale/create| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| source.type | string | Да | Используйте "url" для любого источника. ("uploadId" — устаревший алиас, сохранённый для обратной совместимости.) |
| source.url | string | Нет | С type="url". Любой https URL видео — ваш собственный CDN или r2Url, возвращённый /api/v1/assets/upload. Для внешних URL http и приватные/внутренние IP-адреса отклоняются (защита от SSRF); URL на нашем собственном хосте ассетов эту проверку пропускают. |
| source.r2Url | string | Нет | Устарело — только с type="uploadId" (для обратной совместимости). Новым интеграциям следует использовать type="url". |
| targetResolution | string | Да | "720p", "1080p", "2k" или "4k". Должно быть выше разрешения источника. |
| callBackUrl | string | Нет | URL вебхука, вызываемый один раз при достижении финального статуса (completed или failed). |
Ответ на создание
{
"taskId": "n770mo4sh6rpi690ff3gwymx",
"orderId": "ord_2026...",
"status": "validating"
}Запрос статуса
GET /api/v1/upscale/query?taskId=...
Статус проходит стадии validating → processing → completed / failed.
curl -H "Authorization: Bearer $API_KEY" \
"https://seegen.ai/api/v1/upscale/query?taskId=n770mo4sh6rpi690ff3gwymx"Ответ при завершении
{
"taskId": "n770mo4sh6rpi690ff3gwymx",
"status": "completed",
"targetResolution": "2k",
"creditsConsumed": 900,
"result": {
"url": "https://static.seegen.ai/standalone-upscale/results/...mp4",
"probedDurationSeconds": 30,
"probedSourceResolution": "1280x720"
},
"error": null,
"createdAt": "2026-04-29T01:23:45.000Z",
"finishedAt": "2026-04-29T01:35:01.000Z"
}Ответ при ошибке
{
"taskId": "n770mo4sh6rpi690ff3gwymx",
"status": "failed",
"creditsConsumed": null,
"result": null,
"error": {
"code": "SOURCE_RESOLUTION_TOO_HIGH",
"message": "Source 3840x2160 is not below target 4k"
}
}Ограничения
- Источник: https URL или ранее загруженный вами URL R2
- Длительность до 600 s (клипы короче 5 s тарифицируются как 5 s)
- Размер файла ≤ 200 MB
- Формат: MP4 / MOV / WebM
- Разрешение источника должно быть ниже целевого
Тарифы
- 720P: 17 кредитов/сек (5s = 85, 30s = 510)
- 1080P: 25 кредитов/сек (5s = 125, 30s = 750)
- 2K: 38 кредитов/сек (5s = 190, 30s = 1140)
- 4K: 50 кредитов/сек (5s = 250, 30s = 1500)
- минимум 5 секунд; при сбое кредиты возвращаются автоматически
Коды ошибок
Частые ошибки, на которые вы можете отреагировать. Другие сбои возвращают самообъясняющее поле message — прочитайте его, прежде чем предполагать, что код относится к одному из этих.
| Код | Значение |
|---|---|
| INVALID_URL | URL некорректен или не https |
| URL_NOT_REACHABLE | Не удалось получить URL — убедитесь, что он публичный и доступен |
| UNSUPPORTED_MEDIA_TYPE | Файл не является видео или не в формате MP4 / MOV / WebM |
| FILE_TOO_LARGE | Источник превышает 200 MB |
| DURATION_EXCEEDS_LIMIT | Источник длиннее 600 s |
| SOURCE_RESOLUTION_TOO_HIGH | Источник уже на уровне целевого разрешения или выше — выберите более высокую цель |
| INSUFFICIENT_CREDITS | Недостаточно кредитов — пополните баланс и повторите попытку |
| ACCOUNT_FROZEN | Аккаунт не может тратить кредиты — обратитесь в поддержку |
Вебхук-колбэк
Вместо опроса вы можете указать callBackUrl, чтобы автоматически получать результаты при завершении или сбое задачи.
curl -X POST \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sd2",
"callBackUrl": "https://your-server.com/webhook/callback",
"inputs": {
"prompt": "A cat playing piano",
"duration": "5s"
}
}' \
https://seegen.ai/api/v1/jobs/createTaskПолезная нагрузка колбэка
Когда задача завершается, мы отправляем POST-запрос на ваш URL в том же формате, что и ответ queryTask:
// POST to your callBackUrl
{
"taskId": "task_abc123",
"model": "sd2",
"status": "COMPLETED",
"creditsUsed": 200,
"output": [
{
"url": "https://static.seegen.ai/videos/result.mp4",
"width": 1280,
"height": 720
}
],
"error": null,
"createTime": 1711234567890,
"completeTime": 1711234612345
}Политика повторов: если ваш эндпоинт возвращает статус, отличный от 2xx, мы повторяем попытку до 3 раз с увеличивающимися задержками (1s, 5s, 30s).
Формат ответа
Ответ createTask
// 200 OK
{ "taskId": "task_abc123" }Ответ queryTask
{
"taskId": "task_abc123",
"model": "sd2",
"status": "COMPLETED", // "PENDING" | "PROCESSING" | "COMPLETED" | "FAILED"
"creditsUsed": 200,
"output": [ // null when status is not "COMPLETED"
{
"url": "https://static.seegen.ai/videos/result.mp4",
"width": 1280,
"height": 720
}
],
"error": null, // error message when status is "FAILED"
"createTime": 1711234567890,
"completeTime": 1711234612345
}Ответ credits
{
"credits": 5000,
"availableCredits": 4800
}Обработка ошибок
| Код статуса | Значение | Действие |
|---|---|---|
| 400 | Некорректные параметры | Проверьте сообщение об ошибке и исправьте запрос |
| 401 | Недействительный или отсутствующий API-ключ | Проверьте формат заголовка Authorization |
| 402 | Недостаточно кредитов | Откройте Credits, купите кредиты или включите автопополнение, затем повторите запрос |
| 403 | Доступ запрещён | Вы можете запрашивать только свои собственные задачи |
| 404 | Задача не найдена | Убедитесь, что taskId указан верно |
| 500 | Внутренняя ошибка сервера | Повторите попытку через несколько секунд |
Проверка перед отправкой (HTTP 400 с кодом)
Запросы Seedance и Wan 3.0 проверяются по правилам продукта SeeGen до списания кредитов. При ошибке createTask возвращает HTTP 400 с { "message": "...", "code": "..." }; ошибки Wan также могут содержать path. Задача не создаётся и средства не списываются.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| EMPTY_CONTENT | code | Нет | Нет ни промпта, ни референсного изображения / видео / аудио. |
| AUDIO_ONLY_NOT_SUPPORTED | code | Нет | Аудио — единственный референс на sd2 / sd2-fast / sd2-mini. Добавьте изображение или видео, либо используйте sd2.5 (поддерживает только аудио). |
| UNSUPPORTED_MODEL | code | Нет | Псевдоним модели не поддерживается. Для Wan 3.0 используйте строго "wan3.0-video-prime" или "wan3.0-video". |
| UNSUPPORTED_RESOLUTION | code | Нет | Выбранный уровень вывода недоступен. При запуске Wan 3.0 поддерживаются только нативные разрешения 480p / 720p / 1080p; 2K/4K и upscaleResolution отклоняются. |
| DURATION_OUT_OF_RANGE | code | Нет | duration — не целое число в допустимом для модели диапазоне (Wan 3.0 «2s»–«30s», семейство sd2 «4s»–«15s», sd2.5 «4s»–«30s»). Интеллектуальная длительность Wan (-1) недоступна. |
| INVALID_MEDIA_COMBINATION | code | Нет | Медиа не соответствует выбранному режиму (например, неверное количество ключевых кадров, медиа в режиме text-to-video, отсутствие медиа в режиме multi-reference или одновременное использование ключевых кадров и референсных материалов). |
| EDIT_SOURCE_VIDEO_REQUIRED / EXTEND_SOURCE_VIDEO_REQUIRED | code | Нет | запрошен mode "edit" / "extend" без видео в videoUrls. |
| EDIT_SOURCE_DURATION_INVALID | code | Нет | sd2.5 Video Edit: видео в запросе короче 4s или длиннее 30s (ARK применяет диапазон 4–30s к каждому видео в задаче edit). |
| TOO_MANY_REFERENCES | code | Нет | Референсных изображений / видео / аудиоклипов больше, чем принимает модель (Wan 3.0: 10 / 5 / 5, семейство sd2: 9 / 3 / 3, sd2.5: 30 / 10 / 10; не более 3 видео при расширении). |
| REFERENCE_VIDEO_DURATION_INVALID | code | Нет | Референсное видео превышает допустимую длительность одного клипа, суммарная длительность референсных видео превышает ограничение модели или недопустимо сочетание входных данных и результата. Для Wan 3.0: каждый клип — 1–15 с, общая длительность входных данных ≤15 с, а входные данные + запрошенный результат ≤30 с (15+15 допустимо; 15+16 отклоняется). |
| REFERENCE_AUDIO_DURATION_INVALID | code | Нет | Известная длительность референсного аудио Wan 3.0 выходит за диапазон 1–15 с или увеличивает суммарную входную длительность аудио свыше 15 с. |
| REFERENCE_IMAGE_INVALID | code | Нет | Изображение Wan 3.0 не найдено, принадлежит другому пользователю, имеет неверный тип медиа или нарушает известное требование к размеру, формату, разрешению, соотношению сторон либо отсутствию прозрачности. |
| REFERENCE_VIDEO_INVALID | code | Нет | Загруженное для Wan 3.0 видео нарушает требования к размеру файла, формату MP4/MOV, разрешению или соотношению сторон. |
| REFERENCE_AUDIO_INVALID | code | Нет | Загруженный для Wan 3.0 аудиофайл нарушает требования к размеру файла или формату WAV/MP3. |
| ASSET_NOT_FOUND / EXTERNAL_URL / READ_TIMEOUT / READ_FAILED | code | Нет | Запись videoUrls не удалось сопоставить ни с одним из ваших загруженных ассетов, либо не удалось прочитать её длительность. |
Полные примеры
Полный воркфлоу: загрузите ассет, дождитесь проверки, создайте задачу с одобренным ассетом и опрашивайте результат.
const API_KEY = process.env.API_KEY;
const BASE = "https://seegen.ai/api/v1";
const headers = {
"Authorization": `Bearer ${API_KEY}`,
"Content-Type": "application/json",
};
// 1. Upload asset and wait for review
// (To upload a LOCAL file instead of a URL, POST multipart/form-data with a "file"
// field — no Content-Type header, no "type" — see the Upload Asset section above.)
async function uploadAndWaitForAsset(url, type = "IMAGE") {
const res = await fetch(`${BASE}/assets/upload`, {
method: "POST",
headers,
body: JSON.stringify({ url, type }),
});
if (!res.ok) throw new Error(`Upload failed: ${(await res.json()).message}`);
const asset = await res.json();
console.log(`Asset uploaded: ${asset.assetId}, status: ${asset.status}`);
// Poll until review completes
while (true) {
const statusRes = await fetch(
`${BASE}/assets/status?assetId=${asset.assetId}`,
{ headers }
);
const status = await statusRes.json();
if (status.status === "ACTIVE") {
console.log(`Asset approved: asset://${status.volcAssetId}`);
return status.volcAssetId;
}
if (status.status === "FAILED") {
throw new Error(`Asset review failed: ${status.failReason}`);
}
await new Promise((r) => setTimeout(r, 3000));
}
}
// 2. Create a task
async function createTask(inputs, callBackUrl) {
const res = await fetch(`${BASE}/jobs/createTask`, {
method: "POST",
headers,
body: JSON.stringify({
model: "sd2",
inputs,
...(callBackUrl && { callBackUrl }),
}),
});
if (!res.ok) throw new Error(`[${res.status}] ${(await res.json()).message}`);
return res.json();
}
// 3. Poll until done
async function waitForResult(taskId, timeoutMs = 300000) {
const start = Date.now();
while (Date.now() - start < timeoutMs) {
const res = await fetch(
`${BASE}/jobs/queryTask?taskId=${taskId}`,
{ headers }
);
const result = await res.json();
if (result.status === "COMPLETED") return result;
if (result.status === "FAILED") throw new Error(result.error);
await new Promise((r) => setTimeout(r, 5000));
}
throw new Error("Timeout waiting for task");
}
// Full workflow: upload → review → generate → result
async function main() {
// Upload image and wait for review
const volcAssetId = await uploadAndWaitForAsset(
"https://example.com/photo.jpg", "IMAGE"
);
// Create task with approved asset
const { taskId } = await createTask({
urls: [`asset://${volcAssetId}`],
prompt: "The person slowly looks up and smiles",
duration: "5s",
});
console.log(`Task: ${taskId}`);
// Wait for video
const result = await waitForResult(taskId);
console.log(`Video: ${result.output[0].url}`);
}
main().catch(console.error);Нужна помощь? Присоединяйтесь к нашему Discord или свяжитесь с нами