Submit an image-generation request. The caller's prompt is treated as a creative brief: Atria expands it into size distinct concept variants and renders one image per variant. size > 1 returns real creative variety, not seed-jittered copies of the same prompt.
Treat prompt as a directional brief (intent, audience, mood, visual hints), not the final image-model prompt — Atria produces the per-variant prompts internally.
Async. Returns immediately with a generation_id and (initially empty) image_ids. Poll GET /image-generations/{generation_id} to pick up image ids and track status; see that endpoint for cadence guidance.
Brand required. brand_id must reference a workspace-owned brand from GET /owned-brands. The brand's logo / colors / product context grounds the brief — there is no placeholder fallback. Cross-workspace brand ids return code=40401.
Retry behavior. idempotency_key deduplicates generation at the image service. The local free-plan quota gate runs before that lookup and may count or reject retries, so this operation does not guarantee end-to-end idempotency. Keep the same key when recovering a dropped response; do not automatically retry quota errors.
Credits. Charged at the same rate as the in-app image generation feature — trigger one image in Atria's web app to see the current per-image credit cost; size multiplies it. Credits are reserved on submit; per-image failures are auto-refunded, while credits consumed by successfully rendered images cannot be restored.
Errors: code=40001 when workspace context is missing from the request; code=40401 for unknown / cross-workspace brand_id; code=40301 when the brand is over the workspace's plan limit — a downgrade parks the brands above the limit, and they stay readable but cannot be generated from; code=50001 when the upstream image-gen service is unavailable, returns an error envelope, or rejects the submit (including credit-exhaustion at the upstream layer).
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
