promptdojo_

The image model landscape — six families and what each is for — step 8 of 9

Write pick_image_model(task) that routes an image-generation task to the right 2026 model.

task is a dict with optional keys:

  • budget_per_image: float (default 1.0)
  • needs_text_in_image: bool
  • needs_character_consistency: bool
  • photoreal_art_directed: bool
  • batch_count: int (default 1)
  • subjective_taste: bool
  • instruction_heavy: bool

Return one of the model name strings, in this priority order:

  1. budget_per_image < 0.02"gpt-image-1-mini"
  2. needs_text_in_image"ideogram-3"
  3. needs_character_consistency"flux-kontext-pro"
  4. photoreal_art_directed"flux-1.1-pro"
  5. batch_count >= 10"nano-banana"
  6. subjective_taste"midjourney-v7"
  7. instruction_heavy"gpt-image-1"
  8. default → "imagen-4"

Four tasks run. Expected output:

poster:    ideogram-3
hero:      flux-1.1-pro
batch:     nano-banana
cheap:     gpt-image-1-mini

full-screen editor opens — close anytime to keep reading.