Replay-safe writes
Every write endpoint requires anIdempotency-Key. Reusing the same key with the same payload is safe. Reusing it with a different payload is not.
Rate limits and concurrency
The API applies layered limits per key, per organization, and in some cases per IP. Limit checks happen before expensive work starts.The organization-wide in-flight cap is 50 simultaneous generation jobs.
Retry strategy
- Retry
429responses after at least the advertisedretry_aftervalue. - Retry retryable
5xxresponses with exponential backoff and jitter. - Keep the same idempotency key when repeating the same write.
- Do not blindly retry validation, authorization, entitlement, or idempotency conflict errors.
Signed URLs are temporary
Returned output URLs are intentionally short-lived. API responses also sendCache-Control: no-store so clients always read fresh job and billing state.
Re-read the job if a signed output URL has expired. Do not assume the first URL returned for a job remains valid for the lifetime of your workflow.
