Providers
The Providers API returns pre-built polling configurations for popular AI APIs. Use a provider’s id as the provider field when creating a task to automatically configure polling.
List providers
Section titled “List providers”GET /v1/providersNo authentication required.
Example request
Section titled “Example request”curl https://api.asyncqueue.io/v1/providersExample response
Section titled “Example response”{ "providers": [ { "id": "fal", "name": "fal.ai", "description": "AI media generation (images, video, audio)", "pollConfig": { "urlTemplate": "{startResult.body.status_url}", "interval": 3, "statusPath": "status", "doneValues": ["COMPLETED"], "failValues": ["FAILED"], "resultPath": "", "resultUrlTemplate": "{startResult.body.response_url}", "forwardAuth": true, "maxDuration": 600 } }, { "id": "replicate", "name": "Replicate", "description": "Run open-source AI models", "pollConfig": { "urlTemplate": "https://api.replicate.com/v1/predictions/{startResult.body.id}", "interval": 5, "statusPath": "status", "doneValues": ["succeeded"], "failValues": ["failed", "canceled"], "resultPath": "output", "forwardAuth": true, "maxDuration": 600 } }, { "id": "runwayml", "name": "RunwayML", "description": "AI video generation (Gen-3, Gen-4)", "pollConfig": { "urlTemplate": "https://api.dev.runwayml.com/v1/tasks/{startResult.body.id}", "interval": 5, "statusPath": "status", "doneValues": ["SUCCEEDED"], "failValues": ["FAILED", "CANCELLED"], "resultPath": "output", "errorPath": "failure", "forwardAuth": true, "maxDuration": 600 } }, { "id": "luma", "name": "Luma AI", "description": "Dream Machine video generation", "pollConfig": { "urlTemplate": "https://api.lumalabs.ai/dream-machine/v1/generations/{startResult.body.id}", "interval": 5, "statusPath": "state", "doneValues": ["completed"], "failValues": ["failed"], "resultPath": "assets.video", "errorPath": "failure_reason", "forwardAuth": true, "maxDuration": 600 } }, { "id": "elevenlabs-dubbing", "name": "ElevenLabs Dubbing", "description": "AI video/audio dubbing and translation", "pollConfig": { "urlTemplate": "https://api.elevenlabs.io/v1/dubbing/{startResult.body.dubbing_id}", "interval": 10, "statusPath": "status", "doneValues": ["dubbed"], "failValues": ["failed"], "resultPath": "dubbing_id", "errorPath": "error", "forwardAuth": true, "maxDuration": 1800 } }, { "id": "stability-video", "name": "Stability AI Video", "description": "Stable Video Diffusion image-to-video", "pollConfig": { "urlTemplate": "https://api.stability.ai/v2beta/image-to-video/result/{startResult.body.id}", "interval": 10, "statusPath": "_httpStatus", "doneValues": ["200"], "failValues": ["400", "404", "500"], "resultPath": "_binaryUrl", "errorPath": "errors", "forwardAuth": true, "maxDuration": 600 } } ]}pollConfig fields
Section titled “pollConfig fields”| Field | Type | Description |
|---|---|---|
urlTemplate | string | URL to poll, with {startResult.body.<path>} template variables |
interval | number | Seconds between poll requests |
statusPath | string | Dot-notation path to the status field in poll responses |
doneValues | string[] | Status values that indicate the job completed successfully |
failValues | string[] | Status values that indicate the job failed |
resultPath | string | Dot-notation path to the result. Empty string returns the full response. |
errorPath | string | Dot-notation path to error messages in failure responses |
resultUrlTemplate | string | Optional separate URL to fetch the final result |
forwardAuth | boolean | Whether to forward Authorization/X-API-Key headers to poll requests |
maxDuration | number | Maximum seconds to poll before timing out |