---
title: "Create Async Job"
method: POST
path: "/v3/universal-ai/async"
tags: ["universal-ai"]
---

# Create Async Job

`POST /v3/universal-ai/async`

## Request

- Base URL: `https://api.edenai.run`
- URL: `https://api.edenai.run/v3/universal-ai/async`
- Auth: HTTP bearer

Create an async job for long-running AI operations.

Model format: feature/subfeature/provider[/model]

Supported async features:
- audio/speech_to_text_async

Request body:
- model: Model string in format feature/subfeature/provider[/model]
- input: Feature-specific input parameters
- fallbacks: Optional list of fallback provider strings (max 3)
- webhook_receiver: Optional URL to receive job completion notification
- user_webhook_parameters: Optional custom parameters for webhook payload

Returns 202 Accepted with job info for polling.

## Request body

- UniversalAIAsyncBody: Universal AI async request body. Extends UniversalAIBody with webhook parameters for async notifications.
  - `tags` unknown
  - `model` string, required: Model in format: feature/subfeature/provider[/model]
  - `provider_params` object, nullable: Native parameters in the provider's own request format, forwarded to the provider alongside `input`. On some features each provider accepts only an allowlist of parameters, and any other returns 400.
  - `input` object, required: Feature-specific input fields, nested here rather than at the top level of the body. The fields accepted for the feature/subfeature named in `model` are its `input_schema`, served by GET /v3/info/{feature}/{subfeature}. Examples: - text/ai_detection: {'text': 'content to analyze'} - ocr/ocr: {'file': '<file ID or URL>', 'language': 'en'} - image/generation: {'text': 'prompt', 'resolution': '1024x1024'} - translation/document_translation: {'file': '<file ID or URL>', 'target_language': 'fr'}
  - `fallbacks` string[]: Fallback providers to try if the primary provider fails, in order. Accepted formats: - 'provider' or 'provider/model' (e.g. 'amazon', 'openai/gpt-4') - full model id (e.g 'text/moderation/google', 'image/generation/minimax/image-01')
  - `show_original_response` boolean, nullable: Include raw provider response in the output
  - `output_format` 'full' | 'compact': `compact` trims `output` for LLM and agent callers: base64-encoded media is dropped wherever it appears (the `*_resource_url` download link next to it stays), and so is dense position data such as per-word OCR boxes, table cell boxes and face landmarks; one box per detected item stays. Fields the output schema marks required may therefore be absent. `original_response` is not trimmed. `full` returns the output unchanged. The response echoes the format. Applies to this response only: an async job keeps its full output, so pass `output_format=compact` again when fetching it.
  - `webhook_receiver` string, uri, nullable: Webhook URL to receive job completion notification
  - `user_webhook_parameters` object, nullable: Custom parameters to include in webhook payload

## Response `202`

Successful Response

- UniversalAIAsyncResponse: Async response from universal-ai/async endpoint. Inherits base fields and adds job-specific fields for tracking async operations. Used for both job creation (202 Accepted) and job detail (GET) responses.
  - `status` 'success' | 'fail' | 'processing', required: Request status: success, fail, or processing (async only)
  - `cost` string, required: Cost in credits for this request
  - `provider` string, required: Provider name that processed the request
  - `feature` string, required: Feature category (e.g., text, ocr, image)
  - `subfeature` string, required: Specific subfeature (e.g., ai_detection, sentiment)
  - `output_format` 'full' | 'compact': Whether `output`, the normalized output, is whole (`full`) or trimmed for LLM callers (`compact`); echoes the request parameter. Unrelated to `original_response`, the raw provider payload behind `show_original_response`.
  - `output` unknown
  - `error` object, nullable: Error details from the provider (only present when status is 'fail')
  - `original_response` unknown
  - `public_id` string, required: Job ID for polling status
  - `model` string, nullable: Model name if specified in the request
  - `created_at` string, date-time, required: Job creation timestamp

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/edenai/apis/eden-ai-api-v3.md) - [All operations](https://skmtc.dev/edenai/apis/eden-ai-api-v3/llms.txt) - [OpenAPI document](https://skmtc.dev/edenai/apis/eden-ai-api-v3/revisions/20ddfd49a3f4?raw)
