Мультимодальность
Генерация изображений
Как создавать изображения через AllTokens и какие параметры для этого использовать.
Генерация изображений доступна у моделей, которые умеют возвращать image в output_modalities. Такие модели создают изображения по текстовому описанию и, в зависимости от модели, могут одновременно возвращать и текстовый ответ.
Как найти подходящую модель
Подобрать модели для генерации изображений можно несколькими способами.
Через каталог моделей
В Каталоге моделей можно отфильтровать модели по output_modalities и оставить только те, которые умеют возвращать изображения.
# Только модели для генерации изображений
curl "https://api.alltokens.ru/api/v1/models?output_modalities=image"
# Модели, которые умеют возвращать и текст, и изображения
curl "https://api.alltokens.ru/api/v1/models?output_modalities=text,image"
По полям модели
Если вы уже получили список моделей, смотрите в первую очередь на:
architecture.output_modalities— умеет ли модель возвращать изображенияsupported_parameters— поддерживает ли модель нужные параметрыdefault_parameters— есть ли значения по умолчанию, которые влияют на результат
Как отправить запрос
Для генерации изображений используйте POST /api/v1/chat/completions. В запросе передаётся обычный messages, а тип результата задаётся через modalities.
- если модель умеет возвращать и текст, и изображение:
["image", "text"] - если модель возвращает только изображение:
["image"]
Базовый пример
В примерах ниже используется модель google/gemini-3.1-flash-image-preview.
Настройки изображения
Некоторые модели поддерживают дополнительные параметры через image_config.
Соотношение сторон
Параметр image_config.aspect_ratio задаёт формат изображения.
Поддерживаемые значения:
1:12:33:23:44:34:55:49:1616:921:9
Точный список зависит от модели. Если нужен нестандартный формат, проверьте документацию конкретной модели в каталоге.
Размер изображения
Параметр image_config.image_size задаёт разрешение результата.
Часто встречающиеся значения:
1K2K4K
Конкретные размеры и доступные варианты тоже зависят от модели.
Пример с настройками
Потоковая выдача
Генерация изображений может работать и со stream: true, если это поддерживает выбранная модель.
Как выглядит ответ
Сгенерированные изображения приходят в поле images внутри сообщения ассистента.
{
"choices": [
{
"message": {
"role": "assistant",
"content": "Готово, изображение создано.",
"images": [
{
"type": "image_url",
"image_url": {
"url": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
}
}
]
}
}
]
}
Что важно:
- изображения обычно возвращаются как base64 data URL
- некоторые модели могут вернуть сразу несколько изображений
- итоговый размер и формат зависят от модели
Практические рекомендации
- формулируйте запрос максимально конкретно: стиль, композиция, освещение, формат кадра
- заранее проверяйте
output_modalities, чтобы не отправлять запрос в неподходящую модель - перед обработкой результата всегда проверяйте наличие поля
images - если нужен низкоуровневый совместимый метод OpenAI, используйте справку по /api/v1/images/generations
Частые вопросы
Почему в ответе нет изображения?
Почему в ответе нет изображения?
Проверьте три вещи: модель действительно умеет возвращать image, в запросе указан правильный modalities, и сам запрос явно просит создать изображение, а не только описать его.
Можно ли получить и текст, и картинку одно временно?
Можно ли получить и текст, и картинку одно временно?
Да, если модель это поддерживает. Для этого обычно используется modalities: ["image", "text"].
Нужно ли использовать /api/v1/images/generations или достаточно chat/completions?
Нужно ли использовать /api/v1/images/generations или достаточно chat/completions?
Для многих сценариев достаточно chat/completions, особенно если вы хотите единый интерфейс для текста и изображений. Если нужен отдельный совместимый метод генерации изображений, используйте POST /api/v1/images/generations.