Перейти к содержимому

Генерация изображений

Hermes Agent генерирует изображения по текстовым prompt через FAL.ai. Поддерживаются девять моделей из коробки, каждая с различными компромиссами по скорости, качеству и стоимости. Активная модель настраивается пользователем через hermes tools и сохраняется в config.yaml.

Поддерживаемые модели| Модель | Скорость | Преимущества | Цена |

Заголовок раздела «Поддерживаемые модели| Модель | Скорость | Преимущества | Цена |»

|---|---|---|---| | fal-ai/flux-2/klein/9b (по умолчанию) | <1s | Быстрая, чёткая генерация текста | $0.006/MP | | fal-ai/flux-2-pro | ~6с | Студийный фотореализм | $0.03/MP | | fal-ai/z-image/turbo | ~2с | Двуязычный EN/CN, 6B параметров | $0.005/MP | | fal-ai/nano-banana-pro | ~8с | Gemini 3 Pro, глубина рассуждений, рендеринг текста | $0.15/image (1K) | | fal-ai/gpt-image-1.5 | ~15с | Точное следование prompt | $0.034/image || fal-ai/gpt-image-2 | ~20с | SOTA рендеринг текста + CJK, фотореализм с пониманием мира | $0.04–0.06/image | | fal-ai/ideogram/v3 | ~5с | Лучшая типографика | $0.03–0.09/image | | fal-ai/recraft/v4/pro/text-to-image | ~8с | Дизайн, бренд-системы, готово к продакшену | $0.25/image | | fal-ai/qwen-image | ~12с | На основе LLM, сложный текст | $0.02/MP |Цены указаны по состоянию на FAL; актуальные тарифы смотрите на fal.ai.

:::tip Подписчики NousЕсли у вас есть платная подписка на Nous Portal, вы можете использовать генерацию изображений через Tool Gateway без ключа FAL API. Выбранная вами модель сохраняется при использовании обоих способов.

Если управляемый gateway возвращает HTTP 4xx для конкретной модели, это означает, что данная модель ещё не проксируется на стороне портала — агент сообщит вам об этом и предложит шаги по устранению (задайте FAL_KEY для прямого доступа или выберите другую модель). :::

  1. Зарегистрируйтесь на fal.ai
  2. Сгенерируйте ключ API в вашей панели управления

Выполните команду инструмента:

Окно терминала
hermes tools
```Перейдите в раздел **🎨 Image Generation**, выберите бэкенд (подписка Nous или FAL.ai), после чего в средстве выбора отобразятся все поддерживаемые модели в виде таблицы с выравниванием по столбцам — используйте клавиши со стрелками для навигации, Enter для выбора:

Model Speed Strengths Price fal-ai/flux-2/klein/9b <1s Fast, crisp text $0.006/MP ← currently in use fal-ai/flux-2-pro ~6s Studio photorealism $0.03/MP fal-ai/z-image/turbo ~2s Bilingual EN/CN, 6B $0.005/MP …

Ваш выбор сохранён в `config.yaml`:
```yaml
image_gen:
model: fal-ai/flux-2/klein/9b
use_gateway: false
# true if using Nous Subscription

GPT-Качество изображенийКачество запросов fal-ai/gpt-image-1.5 и fal-ai/gpt-image-2 зафиксировано на уровне medium (~$0,034–$0.06/image при 1024×1024). Мы не предоставляем уровни low / high в качестве опции для пользователей, чтобы биллинг Nous Portal оставался предсказуемым для всех пользователей — разница в стоимости между уровнями составляет 3–22×. Если вам нужен более дешёвый вариант, выберите Klein 9B или Z-Image Turbo; если вам нужно более высокое качество, используйте Nano Banana Pro или Recraft V4 Pro.

Заголовок раздела «GPT-Качество изображенийКачество запросов fal-ai/gpt-image-1.5 и fal-ai/gpt-image-2 зафиксировано на уровне medium (~$0,034–$0.06/image при 1024×1024). Мы не предоставляем уровни low / high в качестве опции для пользователей, чтобы биллинг Nous Portal оставался предсказуемым для всех пользователей — разница в стоимости между уровнями составляет 3–22×. Если вам нужен более дешёвый вариант, выберите Klein 9B или Z-Image Turbo; если вам нужно более высокое качество, используйте Nano Banana Pro или Recraft V4 Pro.»

ИспользованиеСхема, доступная агенту, намеренно минималистична — модель подхватывает всё, что вы настроили:

Заголовок раздела «ИспользованиеСхема, доступная агенту, намеренно минималистична — модель подхватывает всё, что вы настроили:»
Generate an image of a serene mountain landscape with cherry blossoms
Create a square portrait of a wise old owl — use the typography model
Make me a futuristic cityscape, landscape orientation

Соотношения сторонКаждая модель принимает одни и те же три соотношения сторон с точки зрения агента. Внутренне спецификация нативного размера для каждой модели заполняется автоматически:| Ввод агента | image_size (flux/z-image/qwen/recraft/ideogram) | aspect_ratio (nano-banana-pro) | image_size (gpt-image-1.5) | image_size (gpt-image-2) |

Заголовок раздела «Соотношения сторонКаждая модель принимает одни и те же три соотношения сторон с точки зрения агента. Внутренне спецификация нативного размера для каждой модели заполняется автоматически:| Ввод агента | image_size (flux/z-image/qwen/recraft/ideogram) | aspect_ratio (nano-banana-pro) | image_size (gpt-image-1.5) | image_size (gpt-image-2) |»

|---|---|---|---|---| | landscape | landscape_16_9 | 16:9 | 1536x1024 | landscape_4_3 (1024×768) | | square | square_hd | 1:1 | 1024x1024 | square_hd (1024×1024) | | portrait | portrait_16_9 | 9:16 | 1024x1536 | portrait_4_3 (768×1024) |GPT Image 2 сопоставляется с пресетами 4:3 вместо 16:9, потому что его минимальное количество пикселей составляет 655 360 — пресет landscape_16_9 (1024×576 = 589 824) был бы отклонён.

Эта трансляция происходит в _build_fal_payload() — коду агента никогда не нужно знать о различиях схем для каждой модели.

Увеличение разрешения через Clarity Upscaler от FAL регулируется для каждой модели:| Модель | Апскейл? | Почему | |---|---|---| | fal-ai/flux-2-pro | ✓ | Обратная совместимость (была моделью по умолчанию до появления выбора) | | Все остальные | ✗ | Быстрые модели потеряют своё преимущество генерации менее чем за секунду; модели высокого разрешения в этом не нуждаются |

При выполнении апскейла используются следующие настройки:

НастройкаЗначение
Коэффициент апскейла
Креативность0.35
Сходство0.6
Масштаб направления4
Шаги инференса18

Как это работает внутри1. Определение модели_resolve_fal_model() считывает image_gen.model из config.yaml, затем использует переменную окружения FAL_IMAGE_MODEL, а затем fal-ai/flux-2/klein/9b.2. Формирование полезной нагрузки_build_fal_payload() преобразует ваш aspect_ratio в нативный формат модели (перечисление пресетов, перечисление соотношений сторон или литерал GPT), объединяет параметры модели по умолчанию, применяет любые переопределения вызывающей стороны, затем фильтрует по белому списку supports модели, чтобы неподдерживаемые ключи никогда не отправлялись.

Заголовок раздела «Как это работает внутри1. Определение модели — _resolve_fal_model() считывает image_gen.model из config.yaml, затем использует переменную окружения FAL_IMAGE_MODEL, а затем fal-ai/flux-2/klein/9b.2. Формирование полезной нагрузки — _build_fal_payload() преобразует ваш aspect_ratio в нативный формат модели (перечисление пресетов, перечисление соотношений сторон или литерал GPT), объединяет параметры модели по умолчанию, применяет любые переопределения вызывающей стороны, затем фильтрует по белому списку supports модели, чтобы неподдерживаемые ключи никогда не отправлялись.»
  1. Отправка_submit_fal_request() маршрутизирует через прямые учетные данные FAL или управляемый gateway Nous.4. Увеличение разрешения — выполняется только если метаданные модели содержат upscale: True.
  2. Доставка — финальное изображение URL возвращается агенту, который генерирует тег MEDIA:<url>, преобразуемый адаптерами платформ в нативный медиаформат.

Включите отладочное логирование:

Окно терминала
export IMAGE_TOOLS_DEBUG=true

Отладочные логи записываются в ./logs/image_tools_debug_<session_id>.json с подробностями по каждому вызову (модель, параметры, время выполнения, ошибки).

Доставка на платформы| Платформа | Доставка |

Заголовок раздела «Доставка на платформы| Платформа | Доставка |»

|---|---| | CLI] | Изображение URL] выводится как markdown ![](url)] — нажмите, чтобы открыть | | Telegram | Сообщение с фото и prompt в качестве подписи | | Discord | Встроено в сообщение | | Slack | URL] разворачивается Slack | | WhatsApp | Медиа-сообщение | | Другие | URL] в виде обычного текста |

  • Требуются учётные данные FAL (прямой FAL_KEY или подписка Nous)
  • Только текст в изображение — без inpainting, img2img или редактирования через этот инструмент
  • Временные URL — FAL возвращает размещённые URL, срок действия которых истекает через hours/days; при необходимости сохраните локально
  • Ограничения для каждой модели — некоторые модели не поддерживают seed, num_inference_steps и т. д. Фильтр supports автоматически отбрасывает неподдерживаемые параметры; это ожидаемое поведение