# Image fixture analysis: 29 October 2026

Source: Voyager model-reference JSON records. Model pages: https://voyager.so/resources/models/best-ai-image-generator

This export is a historical, image-only descriptive analysis, not a quality ranking, invoice audit, current price list or controlled performance trial. No new generations were purchased.

Selection:
1. Read content/models/*.json with modality == image and their content/models/samples/<slug>.json files.
2. Use samples[] only. Exclude hero and ladders, and every non-image modality (video, voice, music, sound, 3D).
3. Count 432 fixture records across 36 entries. Retain records with latency_ms > 0, a public asset and no error: 424. Exclude eight error/unsupported records. Do not interpret these exclusions as proof that a model cannot perform the task on another route.
4. Use output.width and output.height for generated pixel dimensions, not the asset's smaller display dimensions. cost_usd values are saved estimates based on each record's cost_basis, not provider-returned charges or today's rates. All requests use fal routes.
5. Model medians use each model's completed fixtures; complete-suite sums require all twelve fixtures. Prompt medians use the relevant fixture across entries. Quantities below use the unrounded numbers, then round for display.

Timing definition (runner and primary documentation checked 29 October 2026):
- scripts/models/fixtures-run.mjs falRun() starts Date.now() immediately before the synchronous fetch to https://fal.run/<endpoint> and records latency_ms immediately after await fetch(), before res.text().
- generate() calls falRun(), then fetches the image URL separately. The stored timer therefore measures the synchronous fal request up to response headers, excluding response-body reading and image download; it does not establish when the candidate image was fully received.
- latency_seconds in image-fixtures.csv is latency_ms / 1000 with this same boundary. All medians, tails and chart points use that field. Selection, spelling/layout correction, export and approval are also outside the timer.
- fal documents the direct synchronous request and separate image URL result: https://fal.ai/docs/documentation/model-apis/inference/synchronous . Fetch response/body separation: https://fetch.spec.whatwg.org/#fetch-method .

Results:
- Generated at: 2026-09-09T16:14:01.031Z to 2026-10-23T20:50:19.101Z.
- Per-model median latency minimum: FLUX.3 Image Klein, 3.0275 seconds, n=12. Maximum: GPT Image 2, 116.336 seconds, n=12. Ratio 38.4264.
- 28/424 completed requests exceeded 60 seconds, 6.6038%.
- product-white shared prompt, n=36: saved cost estimates $0.007 to $0.211. Both extrema produced 1024x1024 output. Synchronous fal request-to-header times range 1.700 to 113.828 seconds.
- 29 complete twelve-fixture suites: saved totals $0.108 (FLUX.3 Image Klein) to $2.164 (GPT Image 2).
- FLUX.2 Flex: product-white $0.05, edit-product $0.10; the edit cost basis includes input and output megapixels.
- Seedream 4.5 and Seedream 5 Lite wide-banner original output dimensions 4480x1920 = 8,601,600 pixels, 8.6016 megapixels.
- text-poster shared prompt, n=36: median 20.637 seconds.

Excluded (model / fixture): hidream-i1-full / edit-product; krea-2-large / food-menu; krea-2-large / edit-product; krea-2-medium / edit-product; moss-image / edit-product; qwen-image / edit-product; recraft-v4-1-flash / edit-product; recraft-v4-1 / edit-product.

Reproduce from image-fixtures.csv with Python's csv and statistics modules: group by model for median(latency_seconds), filter fixture==product-white for its range, count latency_seconds>60, group only twelve-row models for sum(saved_cost_usd), and multiply output_width*output_height/1e6. Read the cost_basis column before interpreting cost differences. This CSV contains completed records only.

The fixture prompts are constant, but dates, dimensions, quality and defaults vary. There is one request per model/fixture, with no replication or acceptance score. Prompt adherence, spelling, composition and revision quality are not assessed by these calculations. Model names are distinct catalog entries and may include related variants, not independent vendors.
