promptdojo_

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

Checkpoint

One last thing before we move on. Same surface as a write step — but the lesson doesn't complete until this passes.

Final 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-3, flux-kontext-pro, or flux-1.1-pro. Everything else is False (including the budget fallback gpt-image-1-mini).

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

Five tasks run. Expected output:

T1: ideogram-3        specialist=True
T2: flux-kontext-pro  specialist=True
T3: nano-banana       specialist=False
T4: midjourney-v7     specialist=False
T5: gpt-image-1-mini  specialist=False

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