Image Generation

Create images from prompts using TheRouter.ai multimodal output

TheRouter.ai supports image generation on models that include image inoutput_modalities. Use modalities to request image output via the standard chat completions endpoint.

Model discovery

Select models with output_modalities containing image. Some models return text and image together, while others return image-only output.

output-modalities.json
{
  "id": "google/gemini-2.5-flash-image-preview",
  "architecture": {
    "output_modalities": ["text", "image"]
  }
}

Basic image generation request

TypeScript
const response = await fetch("https://api.therouter.ai/v1/chat/completions", {
  method: "POST",
  headers: {
    Authorization: "Bearer <THEROUTER_API_KEY>",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    model: "google/gemini-2.5-flash-image-preview",
    messages: [
      {
        role: "user",
        content: "Generate a cinematic sunset over a mountain lake",
      },
    ],
    modalities: ["image", "text"],
  }),
});

const result = await response.json();
const images = result.choices?.[0]?.message?.images ?? [];
console.log(images[0]?.image_url?.url);

Image configuration

Many models support image_config for aspect ratio and resolution controls.

image-config.json
{
  "modalities": ["image", "text"],
  "image_config": {
    "aspect_ratio": "16:9",
    "image_size": "2K"
  }
}
Model-specific options
Advanced controls like custom font inputs or super-resolution references are only available on selected model families.

Response format

image-response.json
{
  "choices": [
    {
      "message": {
        "role": "assistant",
        "content": "Here is your image.",
        "images": [
          {
            "type": "image_url",
            "image_url": {
              "url": "data:image/png;base64,iVBORw0KGgoAAAANS..."
            }
          }
        ]
      }
    }
  ]
}