Перейти к основному содержанию
POST
Отправьте запрос в POST /v1/images/generations, сохраните data[0].task_id и проверяйте результат через GET /v1/tasks/{task_id}.

Режимы

Аутентификация

string
обязательно
Используйте Authorization: Bearer <token>, где <token> — ваш APIMart API Key.

Параметры запроса

string
обязательно
Укажите seedream-5-5.
string
Обязателен при генерации по тексту или изображению. При разложении необязателен: модель автоматически определяет объекты, текст и фон. Можно описать элементы для разделения.
string[]
До 10 референсов при генерации; ровно 1 изображение при разложении. Поддерживаются публичные URL изображений и Base64 Data URI. Локальные файлы загрузите через API загрузки изображений и передайте полученный url.Используйте общедоступные http(s) URL или data:image/<format>;base64,…. Название формата в Data URI должно быть в нижнем регистре.
  • Поддерживаются JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC и HEIF. AVIF и JP2 не поддерживаются.
  • Не более 30 MiB (31,457,280 байт) и 36 миллионов пикселей суммарно на изображение. Проверяется ширина × высота, а не предел 6000 пикселей для каждой стороны.
  • Превышение размера или площади возвращает синхронный HTTP 400. Для AVIF и JP2 задача может создаться до отказа upstream; при неудаче средства возвращаются. Сначала преобразуйте формат.
Endpoint загрузки изображений имеет собственные ограничения форматов. Для формата, поддерживаемого моделью, но не загрузчиком, используйте публичный URL или Data URI.
string
Генерация: по умолчанию 2K, доступны уровень разрешения, пропорции и точные размеры в пикселях. Разложение: по умолчанию auto, только 1K / 1.5K / 2K / auto.Для генерации size: "auto" означает 2K. Соотношение сторон без resolution также использует 2K. При точных размерах не передавайте resolution; ширина и высота должны быть положительными целыми числами.
string
При генерации используйте 1K / 1.5K / 2K вместе с пропорциями в size. При разложении это псевдоним size, предоставляемый платформой: приоритет у size, при его отсутствии используется resolution, без обоих — auto. Допустимы 1K / 1.5K / 2K / auto; пропорции и пиксельные размеры синхронно отклоняются с HTTP 400. 3K / 4K не поддерживаются.
string
Генерация: auto (по умолчанию), transparent или opaque. Прозрачный фон доступен при генерации по тексту и изображению. Он требует PNG и несовместим с output_format: "jpeg". При разложении полностью исключите поле, включая auto.
string
по умолчанию:"png"
png (по умолчанию) или jpeg. При разложении влияет только на базовое изображение; выделенные слои всегда имеют формат прозрачного PNG.
integer
Только 1. Обычная генерация выдаёт одно изображение на запрос. Количество при разложении задаётся через layer_decomposition_options.max_images.
boolean
по умолчанию:"false"
Необязательный флаг добавления водяного знака.
object
Поддерживается только {"mode":"standard"}. При отсутствии параметра поставщик всё равно включает standard по умолчанию; отключить оптимизацию в Seedream 5.5 нельзя. Поставщик отклоняет disabled / none / off с HTTP 400 и must be one of: standard. Платформа сразу отклоняет fast с HTTP 400.
boolean
true разделяет вход на базовое изображение и прозрачные слои. Требуется ровно одно изображение без поля background. output_format управляет только базой.
object
Допустимо только при layer_decomposition: true, иначе HTTP 400.

Форматы размера

Пропорции: 1:1, 4:3, 3:4, 16:9, 9:16, 3:2, 2:3, 21:9, 2:1, 1:2. Ограничения относятся к площади в пикселях и пропорциям. Разложение принимает только уровни или auto, без пропорций и точных пиксельных размеров.

Размеры результатов разложения

  • Приоритет: size → resolution → auto. resolution — псевдоним платформы; поставщику передаётся только size. При size: "1K" и resolution: "2K" действует 1K; только resolution: "1.5K" задаёт 1.5K.
  • При 1K / 1.5K / 2K база и каждый слой выводятся на выбранном уровне, каждый со своими исходными пропорциями. В одном замере база 1K имела размер 840×1248, каждый слой — также около 1,05 млн пикселей. Это примеры, а не фиксированные размеры.
  • auto использует исходные размеры входа: изображения меньше 1K увеличиваются до 1K, больше 2K уменьшаются до 2K.

Примеры запросов

Редактирование и объединение референсов

Разложение на слои и OCR

Запрос выдаёт максимум 10 изображений, включая базу. prompt необязателен; background не передаётся. Замените URL на доступное изображение.

Проверка задачи

Используйте API статуса задачи каждые 3 секунды в первые 30 секунд, затем каждые 5–10 секунд. Разложение может занять несколько минут; сервер ожидает не более 13 минут. Сохраните task_id и проверяйте до конечного состояния, не отправляя генерацию повторно.
В data.status значения pending / processing означают обработку, completed — успех. При failed причина находится в data.error.message, средства возвращаются автоматически. URL результатов: data.result.images[].url[].
Изображения результатов хранятся 3 дня; скачайте их своевременно. Записи задач также хранятся только 3 дня, после чего запрос по task_id недоступен.data.result.images[].expires_at сейчас возвращает Unix-время в секундах, равное времени завершения + 24 часа. Это консервативная отметка, предшествующая фактическому удалению. Не используйте её для расчёта реального срока хранения или обратного отсчёта до удаления.

Результаты слоёв и OCR

Пример показывает структуру, а не запись реального запуска. Размеры, координаты и текст приведены для иллюстрации. Метаданные могут отсутствовать.
В каждом data.result.images[] массивы url, sizes, output_formats, backgrounds и layers соответствуют друг другу по индексу. Массивы метаданных могут отсутствовать, если их длина отличается от url. Абсолютные координаты: x=left, y=top, w=right-left, h=bottom-top. Для холста W × H преобразуйте нормализованные координаты так:
Каждый слой масштабируется отдельно на выбранном уровне, поэтому размер файла может отличаться от bounding_box. При сборке приведите слой к w × h и разместите в (x, y). Пиксели файла слоя нельзя напрямую считать координатами базы.

Поля распознавания текста

text_recognition следует структуре OCR вышестоящей модели. Платформа передаёт text, lines, runs, style и другие поля без изменений. OCR и сведения о шрифте помогают отображать, копировать и редактировать текст, но могут отличаться от оригинала. Изображения слоёв доступны и без OCR.

Оплата

Выходные изображения и входные референсы оплачиваются отдельно. Каждый референс платный, включая первый и единственное входное изображение для разложения.
  • Каждая выходная картинка тарифицируется по фактической площади: до 2,610,000 пикселей включительно — низкий тариф, выше — высокий. 1K / 1.5K соответствуют низкому, 2K — высокому. Для точных размеров используется ширина × высота.
  • При генерации резервируется стоимость выбранного выходного тарифа плюс число референсов × цена входного изображения. Без size или с auto резервируется 2K.
  • Для разложения резервируется max_images × выходной тариф плюс стоимость одного входного изображения. По умолчанию max_images равен 30, включая основу; фактических выходов может быть меньше.
  • Для разложения действует size, иначе resolution: 1K / 1.5K резервируют по низкому тарифу, 2K / auto — по высокому. Если оба поля отсутствуют, применяется высокий резерв для auto.
  • Итог зависит от фактического количества выходов, площади каждого и количества входов; разница возвращается или доплачивается. Основа и каждый слой считаются отдельными изображениями. Нельзя применять запрошенный тариф ко всем выходам без учёта их размеров. При неудаче возвращается вся сумма.
См. цены моделей.

Частые ошибки параметров

Здесь приведены проверки платформы и поставщика. При ошибке отправки читайте error.message, при ошибке асинхронной задачи — data.error.message.

Причины неудачных задач

При data.status = failed читайте data.error.message и data.error.reason. Оплата возвращается автоматически. Если reason отсутствует или неизвестен, используйте message.