These metrics are reviewed twice weekly. If the end of the measurement window is more than seven
days old, treat the figures as historical until the next refresh.
Video endpoints
† Fewer than 30 successful jobs. Treat these figures as low-confidence until more traffic is
available.
‡ Uses the prior 48-hour API cohort, from September 4 at 01:00 through September 6 at 01:00 UTC.
§ Uses an earlier 48-hour API cohort, from September 5 at 17:00 through September 7 at 17:00 UTC,
because its median was faster than the value published before that refresh.
¶ Uses the September 12 at 16:00 through September 14 at 16:00 UTC cohort,
because its median was faster than the currently published value. Other rows retain their published
baseline or earlier 48-hour value.
※ Uses the latest 48-hour API cohort, from September 15 at 18:00 through September 17 at 18:00 UTC,
because its median was faster than the currently published value. Other rows retain their published
baseline or earlier 48-hour value.
Image endpoints
Audio endpoints
Monitor every job
After creating a job, store its project ID and monitor the corresponding image, video, or audio project until it reaches a terminal status.- Prefer webhooks for production and higher-volume integrations.
- If polling, use exponential backoff instead of a tight fixed interval.
- Handle
complete,error, andcanceledexplicitly. Continue waiting while a job isqueuedorrendering. - Make webhook handlers idempotent and verify every webhook signature.
Choose timeouts for your product
Do not use a typical time as a failure threshold. Set a user-facing timeout based on your product’s tolerance for delayed work. Reaching that timeout should stop or defer your own waiting flow; it does not prove the Magic Hour job failed. Keep the project ID so you can check the final status later. Longer inputs, higher resolutions, and more complex video workflows generally need more time than small image jobs. Test the exact endpoints, models, settings, and input ranges your integration will use before choosing retry and timeout behavior.Investigate an unusually long job
- Retrieve the project again and check its current status and error details.
- Confirm the input file is valid and the account has enough credits.
- Avoid submitting duplicate jobs while the original is still active.
- If the job remains active beyond your workload-specific timeout, contact support with the project ID, endpoint, creation time, current status, and non-sensitive input details.