← Home

Guide

AI Image Generation

Your bot can make pictures. Not in a separate app with its own login and its own subscription — in the chat you are already in, from a prompt you already typed. This is how to choose the model, what the free trial includes, and how to pay for it with your own key if you would rather.

The Short Version

Ask. “Make me a picture of a fox reading a newspaper, flat illustration style.” The bot calls its image tool and sends the result back into the same conversation — Telegram, WhatsApp, Discord, Feishu, WeChat, Slack or the web chat. No command syntax to learn.

It also edits. Send a photo and say what to change — remove the background, make it a square, put it on a dark backdrop — and the image goes to a model that takes an image as input alongside your instruction.

Choosing the Model

Every instance card on the dashboard has an Image row under the main model selector. Open it, pick a model, and the change applies to that bot from its next request. OpenClaw and Hermes both have this row, and it works the same way on each.

The dropdown labels each model with what it can take as input, and this is the part worth reading:

  • Text → Image makes a picture from a prompt, and only from a prompt.
  • Text + Image → Image also accepts a picture you send, which is what editing needs.

If you plan to send the bot photos to modify, pick a model from the second group. A text-only model handed a photo will do its best to reimagine it rather than edit it, which is a confusing result to debug later.

What the Catalogue Looks Like

The list moves as new models ship, so treat this as a shape rather than a fixed menu. On Hermes the built-in catalogue runs on fal and currently includes FLUX 2 Klein 9B (the default), FLUX 2 Pro, Z-Image Turbo, Nano Banana Pro, GPT Image 1.5, Ideogram V3, Recraft V4 Pro and Qwen Image. A paid Hermes bot keeps that fal default unless you have added your own OpenAI key, in which case a new instance starts on GPT Image 2 instead — either way the row is yours to change.

On OpenClaw the same row offers the image models available through the managed routing and through whichever provider key you have added — an OpenAI image model, an OpenRouter image model, or a fal one.

Practical advice rather than a leaderboard: the small fast models are good enough for most chat requests and cost a fraction of the large ones; reach for a premium model when you need text rendered correctly inside the image, or a specific photographic look. Try two on the same prompt and keep the one you prefer — it is a dropdown, not a migration.

On the Free Trial

Image generation is included in the free trial, with a small allowance so you can see it work before paying for anything:

  • A handful of images in total, not per day — two on the default trial route, or five if your trial falls back to the included Agnes image model.
  • When the allowance runs out, the bot says so. Either subscribe for the full catalogue, or add your own key on the API keys page and carry on immediately.
  • Video has its own small trial allowance; music generation is a paid feature and is switched off during a trial.

Bring Your Own Key

If you already pay a provider, point the bot at that account instead. Add the key on the API keys page — fal, OpenAI, OpenRouter and Agnes all work — and images are billed to you by that provider rather than drawn from included credits. It is the same mechanism as text BYOK, described in OpenClaw BYOK and Hermes BYOK.

Adding a key also widens the menu: the model list follows what your key can reach.

Self-Hosted Configuration

The two frameworks do not share a config shape here, so take each from its own documentation rather than translating one into the other.

OpenClaw

Image generation is the image_generate tool, and the model it uses is the agents.defaults.imageGenerationModel.primary slot in openclaw.json, written as a provider/model string with the provider configured under models.providers:

{
  "agents": {
    "defaults": {
      "imageGenerationModel": { "primary": "openrouter/google/gemini-3.1-flash-image-preview" }
    }
  }
}

One trap worth naming: imageModel and imageGenerationModel are different slots. The first is the model that looks at images you send — vision — and the second is the one that makes them. Setting the wrong one produces a bot that describes pictures beautifully and cannot draw.

Hermes

Hermes generates through fal by default, and reads the model from FAL_IMAGE_MODEL alongside a FAL_KEY:

FAL_KEY=your_fal_key
FAL_IMAGE_MODEL=fal-ai/flux-2/klein/9b

To route somewhere else instead, configure an image generation provider block in ~/.hermes/config.yaml and give it that provider’s model name. Then restart with hermes gateway restart — note that is gateway restart, not hermes restart.

Getting Better Results

  • Say the medium first — photograph, flat illustration, 3D render, pencil sketch. It changes more than any other word in the prompt.
  • Describe the frame: close-up, wide shot, what is behind the subject. Models fill silence with clutter.
  • Ask for a change rather than starting over. “Same image, warmer light, no text” is usually faster than a new prompt, and needs a model that accepts an image as input.
  • Keep text inside images short. Most models still garble a paragraph, and the ones that do not are the expensive ones.
  • If you generate the same kind of asset repeatedly, write the recipe as a skill — style, size, framing — and the bot follows it every time without you retyping it.

Troubleshooting

  • The bot says it cannot make images. On a trial the small image allowance is probably spent — it runs out after two images on the default route. Otherwise check that an image model is selected in the Image row.
  • It ignores the photo you sent. The selected model is text-only. Switch to one labelled Text + Image → Image.
  • An image never arrives on WhatsApp or WeChat. Generation and delivery are separate steps. Ask the bot to send it again, or try the same request in web chat to see whether the picture was made at all.
  • Requests fail after adding your own key. The key is valid but the account has no credit at that provider, or the chosen model is not enabled on it. Pick another model in the row.
  • Results look nothing like the prompt. Change the model before rewriting the prompt a fifth time. They differ far more than they look like they should.

Try It

Deploy a bot from the homepage, open the Image row, and ask for a picture in whichever chat you use. Then send it a photo and ask for one change — the edit path is the one people underestimate.

Related: making videos with your bot, managed AI models and credits, running multiple models, fal on OpenClaw, fal on Hermes.