Generate Task
Submit a generation task to an AI model
Generate Task
Submit a generation task to any supported AI model.
Endpoint
Replace {model} with the model ID (e.g., nano-banana, flux-2, sora-2, midjourney).
Headers
| Header | Required | Description |
|---|---|---|
Authorization | Yes | Bearer YOUR_API_KEY |
Content-Type | Yes | application/json |
Request Body
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
request_type | string | Yes | How to receive results: async or callback |
callback_url | string | No | Webhook URL for callback mode |
input | object | Yes | Model-specific generation parameters |
request_type Options
| Value | Description | Use Case |
|---|---|---|
async | Poll for results using the status endpoint | Client-side apps, simple integrations |
callback | Receive results via webhook POST | Production servers, real-time applications |
callback_url Requirements
Only required when request_type is callback:
- Must be a publicly accessible HTTPS URL
- Must respond with HTTP 200 within 30 seconds
- Will receive a POST request with the task result
See Webhooks for implementation details.
Common Input Parameters
The input object contains model-specific parameters. Common ones include:
| Parameter | Type | Models | Description |
|---|---|---|---|
mode | string | All | Generation mode (e.g., text-to-image) |
prompt | string | All | Text description of desired output |
image_urls | string[] | Image models | Reference images for editing |
aspect_ratio | string | Most | Output dimensions ratio |
See individual model documentation for complete parameter lists.
Response
| Field | Type | Description |
|---|---|---|
code | integer | HTTP status code |
message | string | Human-readable status message |
data.taskId | string | Unique identifier for tracking the task |
Save the taskId to query status or debug issues later.
Examples
Async Mode (Polling)
Callback Mode (Webhooks)
Error Responses
| Code | Description |
|---|---|
400 | Invalid request parameters |
401 | Invalid or missing API key |
403 | Insufficient permissions |
429 | Rate limit exceeded |
500 | Server error |
See Errors for detailed error handling.