Видео до 30 с, 50+ референсов. Попробовать

Добро пожаловать в 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
  • Поддержка по официальным вопросам, связанным с моделями
  • Доступ к консоли для разработчиков
  • Открыт как для компаний, так и для частных пользователей

Тарифы

40% OFF

API Pack

$500$833

125,000 кредитов ($0.004/кредит)

~781 5-секундных видео

40% OFF

API-XL Pack

$2,000$3,332

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: 480P30 × out23 × (out + in)
sd2.5: 720P60 × out45 × (out + in)
sd2.5: 1080P (нативно)150 × out113 × (out + in)
sd2.5: 2K(60 + 30) × out45 × (out + in) + 30 × out
sd2.5: 4K(60 + 40) × out45 × (out + in) + 40 × out
sd2-pro: 480P20 × out15 × (out + in)
sd2-pro: 720P40 × out30 × (out + in)
sd2-pro: 1080P (нативно)100 × out75 × (out + in)
sd2-pro: 2K(40 + 30) × out30 × (out + in) + 30 × out
sd2-pro: 4K (нативно)200 × out150 × (out + in)
sd2-fast: 480P16 × out12 × (out + in)
sd2-fast: 720P32 × out24 × (out + in)
sd2-fast: 1080P(32 + 20) × out24 × (out + in) + 20 × out
sd2-fast: 2K(32 + 30) × out24 × (out + in) + 30 × out
sd2-fast: 4K(32 + 40) × out24 × (out + in) + 40 × out
sd2-mini: 480P10 × out7.5 × (out + in)
sd2-mini: 720P20 × out15 × (out + in)
sd2-mini: 1080P(20 + 20) × out15 × (out + in) + 20 × out
sd2-mini: 2K(20 + 30) × out15 × (out + in) + 30 × out
sd2-mini: 4K(20 + 40) × out15 × (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-prime480P2244
720P4590
1080P90180
wan3.0-video480P1632
720P3264
1080P64128

Примечание: 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
1k35132023355075
2k (по умолчанию)7102335375584125
4k1015406067100154230

Каждая задача создаёт 1 изображение. Чтобы получить N вариантов, отправьте N задач. При сбое задачи кредиты возвращаются автоматически.

gpt-image-2 — кредиты за изображение

РазрешениеСреднее качествоВысокое качество
1k10154770
2k (по умолчанию)233584125
4k4060154230

Каждая задача создаёт 1 изображение. Чтобы получить N вариантов, отправьте N задач. При сбое задачи кредиты возвращаются автоматически.

nano-banana-2 и nano-banana-pro — кредиты за изображение

Разрешениеnano-banana-2nano-banana-pro
1k20304060
2k (по умолчанию)30454060
4k477074110

Каждая задача создаёт 1 изображение. Чтобы получить N вариантов, отправьте N задач. При сбое задачи кредиты возвращаются автоматически.

Seedream 5.0 — кредиты за изображение

Модель / уровеньКредиты
Lite 2k / 4k (фиксированная цена)710
Pro 1k (по умолчанию)1015
Pro 2k2030

Каждая задача создаёт 1 изображение. Чтобы получить N вариантов, отправьте N задач. При сбое задачи кредиты возвращаются автоматически. Референсные изображения не тарифицируются отдельно.

Проверьте баланс: GET /api/v1/account/credits

Автопополнение для API-аккаунтов

API-ключ и панель SeeGen AI используют общий баланс кредитов аккаунта. Автопополнение помогает поддерживать баланс для API-нагрузок, но настраивается на странице Credits; отдельного API для настройки сейчас нет.

Настройте автопополнение в Credits:

  1. Откройте Credits, укажите минимальный баланс, который хотите поддерживать, и выберите пакет пополнения.
  2. Один раз авторизуйте способ оплаты. На этом шаге сохраняется разрешение, но списания с карты не происходит.
  3. После активации гибкой авторизации минимальный баланс и пакет можно менять в 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

Эндпоинты

POST/api/v1/jobs/createTask

Создать новую задачу генерации видео

GET/api/v1/jobs/queryTask

Запросить статус и результат задачи

GET/api/v1/account/credits

Проверить баланс кредитов

POST/api/v1/assets/upload

Загрузить ассет (изображение/видео/аудио) на проверку

GET/api/v1/assets/status

Запросить статус проверки ассета

GET/api/v1/assets/list

Список загруженных ассетов

POST/api/v1/upscale/create

Отправить отдельную задачу апскейла видео (720p / 1080p / 2K / 4K)

GET/api/v1/upscale/query

Опросить статус и результат отдельной задачи апскейла

Выбор модели (видео)

Выбирайте видеомодель по рабочему процессу, нативному разрешению, скорости и цене; используйте эту таблицу вместе с разделом Цены, чтобы оценить стоимость.

МодельT2VI2VFirst–LastMulti-RefR2VНативный 1080pНативный 4KАудио720p / 5s
sd2.5апскейл300 кредитов
sd2200 кредитов
sd2-fastапскейлапскейл160 кредитов
sd2-miniапскейлапскейл100 кредитов
wan3.0-video-prime225 кредитов
wan3.0-video160 кредитов

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
ПараметрТипОбязательныйОписание
promptstringДаТекстовое описание видео для генерации. Максимум 20000 символов.
durationstringНетДлительность видео: от "4s" до "15s"; sd2.5 поддерживает до "30s" (по умолчанию: "5s")
resolutionstringНетСоотношение сторон через разрешение. Варианты: auto (по умолчанию), 720x720, 720x960, 960x720, 1280x720, 720x1280, 1280x540
outputResolutionstringНетУровень выходного разрешения: "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. Более высокие уровни апскейлятся автоматически.
seedintНетСид для воспроизводимости: -1 или не указывайте для случайного значения; 0–2147483647 для фиксированного.
generateAudiobooleanНетСинтезировать ли синхронизированную аудиодорожку. По умолчанию 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
ПараметрТипОбязательныйОписание
urlsstring[]ДаМассив с одним URL изображения (исходный кадр). Поддерживает как HTTP-URL, так и ссылки на ассеты (например, "asset://asset-20260326-abc123")
promptstringНетТекстовое описание желаемого движения
durationstringНетДлительность видео: от "4s" до "15s"; sd2.5 поддерживает до "30s" (по умолчанию: "5s")
outputResolutionstringНетУровень выходного разрешения: "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. Более высокие уровни апскейлятся автоматически.
seedintНетСид для воспроизводимости: -1 или не указывайте для случайного значения; 0–2147483647 для фиксированного.
generateAudiobooleanНетСинтезировать ли синхронизированную аудиодорожку. По умолчанию 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
ПараметрТипОбязательныйОписание
urlsstring[]ДаМассив ровно с 2 URL изображений: [first_frame, last_frame]. Поддерживает как HTTP-URL, так и ссылки на ассеты (например, "asset://asset-20260326-abc123")
videoInputModestringДаДолжно быть "keyframe"
promptstringНетТекстовое описание, направляющее переход
durationstringНетДлительность видео: от "4s" до "15s"; sd2.5 поддерживает до "30s" (по умолчанию: "5s")
outputResolutionstringНетУровень выходного разрешения: "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. Более высокие уровни апскейлятся автоматически.
seedintНетСид для воспроизводимости: -1 или не указывайте для случайного значения; 0–2147483647 для фиксированного.
generateAudiobooleanНетСинтезировать ли синхронизированную аудиодорожку. По умолчанию 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
ПараметрТипОбязательныйОписание
urlsstring[]НетURL референсных изображений (максимум 9). Поддерживает как HTTP-URL, так и ссылки на ассеты (например, "asset://asset-20260326-abc123")
videoUrlsstring[]НетURI референсных видео asset:// — сначала загрузите через /api/v1/assets/upload; внешние URL отклоняются. sd2: максимум 3 видео, каждое ≤15s. sd2.5: до 10 видео, каждое 2–30s и ≤200MB, суммарная референсная длительность ≤30s, поддерживаются входы 480p–4K.
audioUrlsstring[]НетРеференсные аудиовходы. sd2 / sd2-fast / sd2-mini: до 3 аудиофайлов, каждый 2–15s, суммарно ≤15s — аудио не может быть единственным референсом для этих моделей (добавьте хотя бы одно изображение или видео). sd2.5: до 10 файлов, ≤15MB и 2–30s каждый, суммарно ≤30s, поддерживается вход только с аудио.
videoInputModestringДаДолжно быть "reference"
promptstringНетТекстовое описание
durationstringНетДлительность видео: от "4s" до "15s"; sd2.5 поддерживает до "30s" (по умолчанию: "5s")
resolutionstringДаОбязательно для режима reference. Варианты: 720x720, 720x960, 960x720, 1280x720, 720x1280, 1280x540
outputResolutionstringНетУровень выходного разрешения: "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. Более высокие уровни апскейлятся автоматически.
seedintНетСид для воспроизводимости: -1 или не указывайте для случайного значения; 0–2147483647 для фиксированного.
generateAudiobooleanНетСинтезировать ли синхронизированную аудиодорожку. По умолчанию 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
ПараметрТипОбязательныйОписание
modestringНет"edit" или "extend". Не указывайте для обычной reference-генерации.
videoUrlsstring[]ДаМинимум одно видео; первое — исходное ("Video 1") — длина вывода и тарификация для edit следуют за ним. Последующие видео — дополнительные референсы (edit) или дополнительные клипы, склеенные по порядку (extend, максимум 3).
urlsstring[]НетНеобязательные изображения аннотаций/референсов.
source_frame_timestamps_msnumber[]Неттолько для mode "edit". Одна неотрицательная временная метка исходного видео в миллисекундах на каждое изображение в urls.
outputResolutionstringНетУровень выходного разрешения: "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.

ПараметрТипОбязательныйОписание
promptstringНетТекстовое описание (обязательно для text-to-video, необязательно для остальных режимов). Максимум 20000 символов.
urlsstring[]НетURL изображений. Поддерживает как HTTP-URL, так и ссылки на ассеты (например, "asset://asset-20260326-abc123"). Внутренне сопоставляется с uploadedUrls.
videoUrlsstring[]НетURI референсных видео asset:// (только для режима reference). Должны быть предварительно загружены через /api/v1/assets/upload — внешние URL отклоняются.
audioUrlsstring[]НетURL референсного аудио (только для режима reference). Вход только с аудио поддерживается на sd2.5; sd2 / sd2-fast / sd2-mini требуют хотя бы одно изображение или видео вместе с аудио.
durationstringНетобычно от "4s" до "15s"; sd2.5 поддерживает до "30s". По умолчанию: "5s"
resolutionstringНетСоотношение сторон: auto (по умолчанию) | 720x720 | 720x960 | 960x720 | 1280x720 | 720x1280 | 1280x540
outputResolutionstringНетУровень выходного разрешения: "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. Более высокие уровни апскейлятся автоматически.
videoInputModestringНет"keyframe" (по умолчанию) или "reference"
modestringНетПодзадача режима reference (все модели Seedance): не указывайте для обычной reference-генерации, "edit" — чтобы отредактировать первое видео в videoUrls, "extend" — чтобы продолжить 1-3 клипа. См. раздел Редактирование и расширение видео.
source_frame_timestamps_msnumber[]Неттолько для sd2.5 Video Edit: одна неотрицательная временная метка в миллисекундах на каждое изображение-аннотацию.
seedintНетСлучайный сид для воспроизводимости. -1 или не указывайте для случайного значения на сервере. Один и тот же сид с теми же входами даёт близкий по результату вывод (не побитово идентичный из-за недетерминированности GPU). Диапазон: от -1 до 2147483647.
generateAudiobooleanНетСинтезировать ли аудиодорожку (речь, звуковые эффекты, фоновую музыку), синхронизированную с видео. По умолчанию true. Установите false, чтобы получить видео без звука — немного быстрее, полезно, если вы планируете озвучить отдельно.
bitrateModestringНетУровень битрейта вывода при том же разрешении: "standard" (по умолчанию) или "high". "high" сохраняет больше деталей и уменьшает бэндинг/блочность при размере файла ~3-5× больше — не меняет разрешение или цену.
upscaleResolutionstringНет(Устарело) Устаревшее раздельное поле, всё ещё принимается для обратной совместимости. Новым интеграциям следует использовать 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
ПараметрТипОбязательныйОписание
filefileДаЛокальный файл (поле multipart-формы). Тип медиа определяется по содержимому.
namestringНетНазвание ассета (максимум 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
ПараметрТипОбязательныйОписание
urlstringДаПублично доступный HTTPS URL загружаемого файла
typestringДа"IMAGE", "AUDIO" или "VIDEO"
namestringНетНазвание ассета (максимум 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"
ПараметрТипОбязательныйОписание
typestringНетФильтр по типу: "IMAGE", "AUDIO" или "VIDEO"
statusstringНетФильтр по статусу: "NONE", "PROCESSING", "ACTIVE" или "FAILED"
cursornumberНетКурсор для пагинации (используйте nextCursor из предыдущего ответа)
limitnumberНетЭлементов на странице, 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 секунд с шагом в одну секунду.

ПараметрТипОбязательныйОписание
promptstringНетОписание видео или инструкция. Максимум 20,000 символов. Обязательно для видео по тексту, редактирования и продления; необязательно для видео по изображению, первого/последнего кадра и нескольких референсов. Для редактирования и продления также требуется видео. Используйте Image1 / Video1 / Audio1 в порядке референсов.
modestringНетДля обычной генерации пропустите параметр или задайте "normal". Режимы "edit" и "extend" требуют видео и промпта с инструкцией. Оба используют референсы, автоматическое соотношение сторон и фиксированную длительность результата 2–30 секунд.
urlsstring[]НетПринадлежащие вам HTTPS URL изображений, возвращённые эндпоинтом загрузки Wan. Не указывайте для текста в видео; передайте ровно 1 первый кадр, ровно 2 первых/последних кадра или до 10 изображений в режиме референсов. Чужие внешние URL и ссылки протокола ресурсов Seedance отклоняются.
videoUrlsstring[]НетДо 5 принадлежащих вам HTTPS URL референсных видео, возвращённых эндпоинтом загрузки Wan. Каждый клип должен длиться 1–15 с, все референсные видео вместе — не более 15 с, а вместе с результатом — не более 30 с. Чужие внешние URL и ссылки протокола ресурсов Seedance отклоняются.
audioUrlsstring[]НетДо 5 принадлежащих вам HTTPS URL референсного аудио, возвращённых эндпоинтом загрузки Wan. WAV или MP3; каждый клип должен длиться 1–15 с, всё референсное аудио вместе — не более 15 с. Чужие внешние URL и ссылки протокола ресурсов Seedance отклоняются.
videoInputModestringНетНе указывайте для текста в видео; используйте "keyframe" для одного первого кадра или двух первых/последних кадров; используйте "reference" для смешанных ссылок на изображения, видео и аудио.
durationstringНетСтрока с целым числом секунд от "2s" до "30s". По умолчанию: "5s".
outputResolutionstringНетНативные "480p", "720p" (по умолчанию) или "1080p". Вывод в 2K/4K не поддерживается.
ratiostringНет"auto" или "adaptive" (оба задают автоматическое кадрирование), "16:9", "9:16", "1:1", "4:3" или "3:4". Применяется к видео по тексту и нескольким референсам. Редактирование и продление всегда используют Auto; видео по изображению и первому/последнему кадру следует ключевым изображениям.
generateAudiobooleanНетГенерируйте синхронизированную речь, звуковые эффекты и музыку. По умолчанию true. Установите false для результата без звука; цена не меняется.
promptExtendbooleanНетПозвольте модели обогатить промпт перед генерацией. По умолчанию true.
seedintНет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 отдельно для каждого изображения.

МодельT2II2I (редактирование)Multi-RefМакс. разрешение2k / medium
gpt-image-2.5-flareдо 104kсм. Тарифы
gpt-image-2.5-sunburstдо 104kсм. Тарифы
gpt-image-2до 104kсм. Тарифы
nano-banana-2до 104kсм. Тарифы
nano-banana-proдо 104kсм. Тарифы
seedream-v5.0-liteдо 104kфиксированная цена
seedream-v5.0-proдо 102kсм. Тарифы

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.

ПараметрТипОбязательныйОписание
promptstringДаТекстовое описание изображения для генерации или редактирования, которое нужно применить, если указан urls.
urlsstring[]НетURL референсных изображений для режима image-to-image (редактирование) (1–10 изображений). Не указывайте для text-to-image. Принимаются публичные HTTPS URL.
qualitystringНет"medium" / "high" / "xhigh" / "max". По умолчанию: "medium". Стоимость в кредитах зависит от уровня (см. Тарифы).
resolutionstringНет"1k" / "2k" / "4k". По умолчанию: "2k". Стоимость в кредитах зависит от уровня (см. Тарифы).
aspectRatiostringНет"1:1" / "16:9" / "9:16" / "4:3" / "3:4". По умолчанию: "1:1".
outputFormatstringНет"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.

ПараметрТипОбязательныйОписание
promptstringДаТекстовое описание изображения для генерации или редактирования, которое нужно применить, если указан urls.
urlsstring[]НетURL референсных изображений для режима image-to-image (редактирование) (1–10 изображений). Не указывайте для text-to-image. Принимаются публичные HTTPS URL.
qualitystringНет"medium" / "high". По умолчанию: "medium". Стоимость в кредитах зависит от уровня (см. Тарифы).
resolutionstringНет"1k" / "2k" / "4k". По умолчанию: "2k". Стоимость в кредитах зависит от уровня (см. Тарифы).
aspectRatiostringНет"1:1" / "16:9" / "9:16" / "4:3" / "3:4". По умолчанию: "1:1".
outputFormatstringНет"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.

ПараметрТипОбязательныйОписание
promptstringДаТекстовое описание изображения для генерации или редактирования, которое нужно применить, если указан urls.
urlsstring[]НетURL референсных изображений для режима image-to-image (редактирование) (1–10 изображений). Не указывайте для text-to-image. Принимаются публичные HTTPS URL.
resolutionstringНет"1k" / "2k" / "4k". По умолчанию: "2k". Стоимость в кредитах зависит от уровня (см. Тарифы).
aspectRatiostringНет"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.

ПараметрТипОбязательныйОписание
promptstringДаТекстовое описание изображения для генерации или редактирования, которое нужно применить, если указан urls.
urlsstring[]НетURL референсных изображений для режима image-to-image (редактирование) (1–10 изображений). Не указывайте для text-to-image. Принимаются публичные HTTPS URL.
resolutionstringНет"1k" / "2k" / "4k". По умолчанию: "2k". Стоимость в кредитах зависит от уровня (см. Тарифы).
aspectRatiostringНет"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

ПараметрТипОбязательныйОписание
promptstringДаОписание изображения или инструкция для редактирования.
urlsstring[]Нет1–10 публичных HTTPS URL референсных изображений. Не указывайте для text-to-image.
resolutionstringНет"2k" или "4k". По умолчанию: "2k".
aspectRatiostringНет"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

ПараметрТипОбязательныйОписание
promptstringДаОписание изображения или инструкция для редактирования.
urlsstring[]Нет1–10 публичных HTTPS URL референсных изображений. Не указывайте для text-to-image.
resolutionstringНет"1k" или "2k". По умолчанию: "1k". 4k не поддерживается.
aspectRatiostringНет"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.typestringДаИспользуйте "url" для любого источника. ("uploadId" — устаревший алиас, сохранённый для обратной совместимости.)
source.urlstringНетС type="url". Любой https URL видео — ваш собственный CDN или r2Url, возвращённый /api/v1/assets/upload. Для внешних URL http и приватные/внутренние IP-адреса отклоняются (защита от SSRF); URL на нашем собственном хосте ассетов эту проверку пропускают.
source.r2UrlstringНетУстарело — только с type="uploadId" (для обратной совместимости). Новым интеграциям следует использовать type="url".
targetResolutionstringДа"720p", "1080p", "2k" или "4k". Должно быть выше разрешения источника.
callBackUrlstringНетURL вебхука, вызываемый один раз при достижении финального статуса (completed или failed).

Ответ на создание

{
  "taskId": "n770mo4sh6rpi690ff3gwymx",
  "orderId": "ord_2026...",
  "status": "validating"
}

Запрос статуса

GET /api/v1/upscale/query?taskId=...

Статус проходит стадии validatingprocessingcompleted / 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_URLURL некорректен или не 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_CONTENTcodeНетНет ни промпта, ни референсного изображения / видео / аудио.
AUDIO_ONLY_NOT_SUPPORTEDcodeНетАудио — единственный референс на sd2 / sd2-fast / sd2-mini. Добавьте изображение или видео, либо используйте sd2.5 (поддерживает только аудио).
UNSUPPORTED_MODELcodeНетПсевдоним модели не поддерживается. Для Wan 3.0 используйте строго "wan3.0-video-prime" или "wan3.0-video".
UNSUPPORTED_RESOLUTIONcodeНетВыбранный уровень вывода недоступен. При запуске Wan 3.0 поддерживаются только нативные разрешения 480p / 720p / 1080p; 2K/4K и upscaleResolution отклоняются.
DURATION_OUT_OF_RANGEcodeНетduration — не целое число в допустимом для модели диапазоне (Wan 3.0 «2s»–«30s», семейство sd2 «4s»–«15s», sd2.5 «4s»–«30s»). Интеллектуальная длительность Wan (-1) недоступна.
INVALID_MEDIA_COMBINATIONcodeНетМедиа не соответствует выбранному режиму (например, неверное количество ключевых кадров, медиа в режиме text-to-video, отсутствие медиа в режиме multi-reference или одновременное использование ключевых кадров и референсных материалов).
EDIT_SOURCE_VIDEO_REQUIRED / EXTEND_SOURCE_VIDEO_REQUIREDcodeНетзапрошен mode "edit" / "extend" без видео в videoUrls.
EDIT_SOURCE_DURATION_INVALIDcodeНетsd2.5 Video Edit: видео в запросе короче 4s или длиннее 30s (ARK применяет диапазон 4–30s к каждому видео в задаче edit).
TOO_MANY_REFERENCEScodeНетРеференсных изображений / видео / аудиоклипов больше, чем принимает модель (Wan 3.0: 10 / 5 / 5, семейство sd2: 9 / 3 / 3, sd2.5: 30 / 10 / 10; не более 3 видео при расширении).
REFERENCE_VIDEO_DURATION_INVALIDcodeНетРеференсное видео превышает допустимую длительность одного клипа, суммарная длительность референсных видео превышает ограничение модели или недопустимо сочетание входных данных и результата. Для Wan 3.0: каждый клип — 1–15 с, общая длительность входных данных ≤15 с, а входные данные + запрошенный результат ≤30 с (15+15 допустимо; 15+16 отклоняется).
REFERENCE_AUDIO_DURATION_INVALIDcodeНетИзвестная длительность референсного аудио Wan 3.0 выходит за диапазон 1–15 с или увеличивает суммарную входную длительность аудио свыше 15 с.
REFERENCE_IMAGE_INVALIDcodeНетИзображение Wan 3.0 не найдено, принадлежит другому пользователю, имеет неверный тип медиа или нарушает известное требование к размеру, формату, разрешению, соотношению сторон либо отсутствию прозрачности.
REFERENCE_VIDEO_INVALIDcodeНетЗагруженное для Wan 3.0 видео нарушает требования к размеру файла, формату MP4/MOV, разрешению или соотношению сторон.
REFERENCE_AUDIO_INVALIDcodeНетЗагруженный для Wan 3.0 аудиофайл нарушает требования к размеру файла или формату WAV/MP3.
ASSET_NOT_FOUND / EXTERNAL_URL / READ_TIMEOUT / READ_FAILEDcodeНетЗапись 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 или свяжитесь с нами