Skip to main content

Submit a request

Every execution starts with a POST to /v1/executions. You get a 202 Accepted response immediately — the actual AI processing happens asynchronously.

Response

The response tells you:
  • id — use this to track the execution
  • status — starts as PENDING, will move to PROCESSINGCOMPLETED or FAILED
  • hold_amount — the amount reserved from your balance (refunded if execution fails)
  • expires_at — when the execution times out if no result is received

Using file references

If your model requires image or audio input, upload files first and reference them:
ModelRoute never accepts raw URLs in execution input. All files must be uploaded first via the file upload flow, giving you a file_ reference to use here. This ensures your files are never exposed to third-party providers.

What happens next

After submitting, you have two options to get results:
  1. Set up webhooks (recommended for production) — receive an execution.completed event automatically
  2. Poll for status — check GET /v1/executions/{id} until the status is terminal

Cancellation

Cancel a pending or processing execution:
The balance hold is released immediately on cancellation.