promptdojo_promptdojo_promptdojo_promptdojo_promptdojo_promptdojo_promptdojo_promptdojo_promptdojo_promptdojo_promptdojo_

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

Checkpoint

One last thing before we move on. pass this to mark the lesson done, or skip and keep moving. hop to the next when you're ready.

Final image drill. You're auditing a real image pipeline at an agency. Write audit_image_pipeline(tasks) that takes a list of task dicts (same shape as the previous step) and returns a list of dicts, one per task, in the same order:

{"task_id": ..., "model": ..., "specialist_used": bool}

model comes from your pick_image_model(task) routing. specialist_used is True if the chosen model is one of the three specialty picks: ideogram-v4, recraftv4_1, or flux-2-pro. Everything else is False (including the default gemini-3.1-flash-image, Lite, gpt-image-2, and gemini-3-pro-image).

Each task carries a task_id field (string). Preserve it in the output.

Five tasks run. Expected output:

T1: ideogram-v4                specialist=True
T2: gpt-image-2                specialist=False
T3: gemini-3.1-flash-image     specialist=False
T4: recraftv4_1                specialist=True
T5: gemini-3-pro-image         specialist=False

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