Pixazo APIModelsErnie Image
Pixazo APIModelsErnie Image

Ernie Image Turbo API, Ernie Image 1.0 API - AI Image Generation APIs

by Baidu

Ernie Image Turbo API is its exceptional text rendering capability, which allows it to produce legible, layout-sensitive text in both English and Chinese for complex tasks like posters, infographics, and UI mockups. The system includes a lightweight Prompt Enhancer that automatically transforms simple user descriptions into rich, structured prompts to improve output accuracy and instruction following. Developers can access the standard model for maximum quality or a Turbo variant that is optimized for speed, delivering results roughly six times faster through efficient inference methods.

Get API Key
Ernie Image API

Models Version

LIMITED TIME OFFER

Get $5 Free Credit on First Payment

No strings attached — add funds and get $5 bonus instantly

Claim Your $5 →

Ernie Image Turbo Text to Image API Documentation

https://gateway.pixazo.ai/ernie-image-turbo/v1

Authentication

All requests require an API key passed via header.

HeaderTypeRequiredDescription
Ocp-Apim-Subscription-KeystringYesYour API subscription key

Ernie Image Turbo generate request

Request Code

POST https://gateway.pixazo.ai/ernie-image-turbo/v1/ernie-image-turbo-request
Content-Type: application/json
Cache-Control: no-cache
Ocp-Apim-Subscription-Key: YOUR_API_KEY

{
  "prompt": "A serene mountain landscape at sunset with golden light",
  "negative_prompt": "",
  "image_size": "square_hd",
  "num_inference_steps": 8,
  "guidance_scale": 1,
  "num_images": 1,
  "enable_prompt_expansion": true,
  "enable_safety_checker": true,
  "output_format": "jpeg",
  "acceleration": "regular"
}
import requests

url = "https://gateway.pixazo.ai/ernie-image-turbo/v1/ernie-image-turbo-request"
headers = {
    "Content-Type": "application/json",
    "Cache-Control": "no-cache",
    "Ocp-Apim-Subscription-Key": "YOUR_API_KEY"
}
data = {
    "prompt": "A serene mountain landscape at sunset with golden light",
    "negative_prompt": "",
    "image_size": "square_hd",
    "num_inference_steps": 8,
    "guidance_scale": 1,
    "num_images": 1,
    "enable_prompt_expansion": true,
    "enable_safety_checker": true,
    "output_format": "jpeg",
    "acceleration": "regular"
}

response = requests.post(url, json=data, headers=headers)
print(response.json())
const url = "https://gateway.pixazo.ai/ernie-image-turbo/v1/ernie-image-turbo-request";
const headers = {
  "Content-Type": "application/json",
  "Cache-Control": "no-cache",
  "Ocp-Apim-Subscription-Key": "YOUR_API_KEY"
};
const data = {
  "prompt": "A serene mountain landscape at sunset with golden light",
  "negative_prompt": "",
  "image_size": "square_hd",
  "num_inference_steps": 8,
  "guidance_scale": 1,
  "num_images": 1,
  "enable_prompt_expansion": true,
  "enable_safety_checker": true,
  "output_format": "jpeg",
  "acceleration": "regular"
};

fetch(url, {
  method: "POST",
  headers: headers,
  body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => console.log(data));
curl -X POST "https://gateway.pixazo.ai/ernie-image-turbo/v1/ernie-image-turbo-request" \
  -H "Content-Type: application/json" \
  -H "Cache-Control: no-cache" \
  -H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \
  --data-raw '{
    "prompt": "A serene mountain landscape at sunset with golden light",
    "negative_prompt": "",
    "image_size": "square_hd",
    "num_inference_steps": 8,
    "guidance_scale": 1,
    "num_images": 1,
    "enable_prompt_expansion": true,
    "enable_safety_checker": true,
    "output_format": "jpeg",
    "acceleration": "regular"
}'

Output

{
  "request_id": "ernie-image-turbo_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "QUEUED",
  "polling_url": "https://gateway.pixazo.ai/v2/requests/status/ernie-image-turbo_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Webhook (Optional)

Add the X-Webhook-URL header to your generate request to receive a POST callback instead of polling.

X-Webhook-URL: https://your-server.com/webhook/callback

Request Parameters - Ernie Image Turbo generate request

Parameter Required Type Default Allowed values / range Description
promptYesstringText prompt for image generation. Supports English, Chinese, and Japanese.
negative_promptNostring""Content to avoid in the generated image.
image_sizeNostring or object"square_hd""square_hd", "square", "portrait_4_3", "portrait_16_9", "landscape_4_3", "landscape_16_9", "square_uhd", "portrait_3_2", "landscape_3_2", "portrait_hd", "landscape_hd"; or {width: number, height: number}Image dimensions. String options or custom object with width and height.
num_inference_stepsNointeger8Number of denoising steps. Turbo model is optimized for 8 steps.
guidance_scaleNofloat1Prompt adherence strength. Higher values increase adherence to prompt at potential cost of image quality.
num_imagesNointeger1Number of images to generate per request.
enable_prompt_expansionNobooleantrueEnable LLM-based prompt enhancement for richer, more detailed prompts.
enable_safety_checkerNobooleantrueEnable NSFW content filtering.
output_formatNostring"jpeg""jpeg", "png"Output image format.
accelerationNostring"regular""none", "regular", "high"Inference acceleration mode.
seedNointegerRandom seed for reproducible results. If omitted, a random seed is used.
sync_modeNobooleanIf `true`, returns image data URIs instead of CDN URLs. If `false` or omitted, returns CDN URLs.

Example Request

{
  "prompt": "A serene mountain landscape at sunset with golden light",
  "negative_prompt": "",
  "image_size": "square_hd",
  "num_inference_steps": 8,
  "guidance_scale": 1,
  "num_images": 1,
  "enable_prompt_expansion": true,
  "enable_safety_checker": true,
  "output_format": "jpeg",
  "acceleration": "regular"
}

Response

{
  "request_id": "ernie-image-turbo_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "QUEUED",
  "polling_url": "https://gateway.pixazo.ai/v2/requests/status/ernie-image-turbo_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Request Headers

Header Value
Content-Typeapplication/json
Cache-Controlno-cache
Ocp-Apim-Subscription-KeyYOUR_API_KEY

Response Handling

Common status codes.

CodeMeaning
202Accepted — Request queued
Bad Request
401Unauthorized
402Insufficient Balance
403Forbidden
Too Many Requests
500Internal Server Error

Error Responses

Queue system errors and model validation errors.

Queue System Errors

// 402 — Insufficient balance
{
  "error": "Insufficient Balance",
  "message": "Your wallet does not have enough balance."
}
// 400 — Model not found
{
  "error": "Model not found",
  "message": "Model 'ernie-image-turbo' not found or is disabled"
}

Error via Status/Webhook

{
  "request_id": "ernie-image-turbo_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "ERROR",
  "model_id": "ernie-image-turbo",
  "error": "Description of the error",
  "output": null
}

Retrieving Results

Poll the universal status endpoint to check progress and retrieve results.

Endpoint

GET https://gateway.pixazo.ai/v2/requests/status/{request_id}
Ocp-Apim-Subscription-Key: YOUR_API_KEY

cURL Example

curl -H "Ocp-Apim-Subscription-Key: YOUR_API_KEY" \
  "https://gateway.pixazo.ai/v2/requests/status/ernie-image-turbo_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

Response (Completed)

{
  "request_id": "ernie-image-turbo_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "COMPLETED",
  "model_id": "ernie-image-turbo",
  "error": null,
  "output": {
    "media_url": ["https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/ernie-image-turbo_019dxxxx/output.jpeg"],
    "media_type": "image/jpeg"
  },
  "created_at": "2026-03-31T10:00:00.000Z",
  "updated_at": "2026-03-31T10:00:15.000Z",
  "completed_at": "2026-03-31T10:00:15.000Z"
}

Response Fields

FieldTypeDescription
request_idstringUnique request identifier
statusstringQUEUED, PROCESSING, COMPLETED, FAILED, or ERROR
model_idstringModel that processed the request
errorstring|nullError message if failed
output.media_urlarrayURLs to generated media (R2 CDN)
output.media_typestringMIME type of the output
created_atstringWhen request was created
completed_atstringWhen request completed
polling_urlstringStatus URL (initial response only)

Status Values

StatusDescription
QUEUEDRequest accepted, waiting to be processed
PROCESSINGBeing processed by the model
COMPLETEDDone — output contains the result
FAILEDFailed — check error field
ERRORSystem error — not charged

Status Flow

QUEUED → PROCESSING → COMPLETED
                    → FAILED
                    → ERROR

Typical Workflow

  1. Send a generate request to the API endpoint
  2. Save the request_id from the response
  3. Poll every 5-10 seconds: GET /v2/requests/status/{request_id}
  4. When status is "COMPLETED", download from output.media_url

Tip: Use X-Webhook-URL header to get a callback instead of polling.

Ernie Image Turbo Text to Image API Pricing

No data available

Could not load current pricing

2. Ernie Image 1.0

Ernie Image 1.0 Text to Image API Documentation

https://gateway.pixazo.ai/ernie-image/v1

Authentication

All requests require an API key passed via header.

Header Type Required Description
Ocp-Apim-Subscription-Key string Yes Your API subscription key

Ernie Image generate request - Ernie Image

Request Code

POST https://gateway.pixazo.ai/ernie-image/v1/ernie-image-request
Content-Type: application/json
Cache-Control: no-cache
Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY

{
  "prompt": "A serene mountain landscape at sunset with golden light"
}
import requests

url = "https://gateway.pixazo.ai/ernie-image/v1/ernie-image-request"
headers = {
    "Content-Type": "application/json",
    "Cache-Control": "no-cache",
    "Ocp-Apim-Subscription-Key": "YOUR_SUBSCRIPTION_KEY"
}
data = {
    "prompt": "A serene mountain landscape at sunset with golden light"
}

response = requests.post(url, json=data, headers=headers)
print(response.json())
const url = "https://gateway.pixazo.ai/ernie-image/v1/ernie-image-request";
const headers = {
  "Content-Type": "application/json",
  "Cache-Control": "no-cache",
  "Ocp-Apim-Subscription-Key": "YOUR_SUBSCRIPTION_KEY"
};
const data = {
  prompt: "A serene mountain landscape at sunset with golden light"
};

fetch(url, {
  method: "POST",
  headers: headers,
  body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error("Error:", error));
curl -X POST "https://gateway.pixazo.ai/ernie-image/v1/ernie-image-request" \
  -H "Content-Type: application/json" \
  -H "Cache-Control: no-cache" \
  -H "Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY" \
  --data-raw '{
    "prompt": "A serene mountain landscape at sunset with golden light"
  }'

Output

{
  "images": [
    {
      "file_name": "nano-banana-pro-edit-output.png",
      "content_type": "image/png",
      "url": "[RESPONSE_URL]"
    }
  ],
  "description": ""
}

Request Parameters - Ernie Image generate request

Field Type Required Default Description
prompt string Yes Text description for image generation. Supports English, Chinese, and Japanese.
negative_prompt string No "" Content to avoid in the generated image.
image_size string or object No "square_hd" Image dimensions. String options: square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9, square_uhd, portrait_3_2, landscape_3_2, portrait_hd, landscape_hd. Or provide an object with width and height integers.
num_inference_steps integer No 50 Number of denoising steps during generation. Higher values improve quality but increase processing time.
guidance_scale float No 5 Strength of prompt adherence. Higher values make output more aligned with the prompt, but may reduce diversity.
num_images integer No 1 Number of images to generate per request.
enable_prompt_expansion boolean No true Enable LLM-based prompt enhancement to improve clarity and detail.
enable_safety_checker boolean No true Enable NSFW content filtering. Disabling may expose outputs to inappropriate content.
output_format string No "jpeg" Output image format. Allowed: jpeg, png.
acceleration string No "regular" Inference optimization level. Allowed: none, regular, high. Higher acceleration reduces latency but may affect quality.
seed integer No Random seed for reproducible results. If omitted, a random seed is used.
sync_mode boolean No If true, returns image data as base64-encoded data URIs instead of CDN URLs. If false or omitted, returns CDN URLs.

Minimum Request

{
  "prompt": "A serene mountain landscape at sunset with golden light"
}

Full Request (all options)

{
  "prompt": "A serene mountain landscape at sunset with golden light",
  "negative_prompt": "",
  "image_size": "square_hd",
  "num_inference_steps": 50,
  "guidance_scale": 5,
  "num_images": 1,
  "enable_prompt_expansion": true,
  "enable_safety_checker": true,
  "output_format": "jpeg",
  "acceleration": "regular",
  "seed": 12345,
  "sync_mode": false
}

Response

{
  "request_id": "ernie-image_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "QUEUED",
  "polling_url": "https://gateway.pixazo.ai/v2/requests/status/ernie-image_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Response Fields - Ernie Image generate request

Field Type Description
request_id string Unique identifier for the request, used for polling status.
status string Current status of the request (QUEUED, PROCESSING, etc.).
polling_url string URL to poll for the final result.

Request Headers

Header Value
Content-Type application/json
Cache-Control no-cache
Ocp-Apim-Subscription-Key Your API subscription key

Response Handling

Common status codes for Ernie Image generate request.

Code Meaning
200 Success
Bad Request
401 Unauthorized
403 Forbidden
404 Not Found
Too Many Requests
500 Internal Server Error

Error Responses

400 Validation Error

{
  "error": "Invalid parameter: prompt is required"
}

404 Not Found

{
  "error": "Resource not found"
}

Status Workflow

This API uses an asynchronous workflow. After submitting a request, poll the status endpoint until completion.

Status Values

Status Description
QUEUED Request accepted, waiting to be processed
PROCESSING Being processed by the model
COMPLETED Done — output contains the result
FAILED Failed — check error field for details
ERROR System error — request was not processed and not charged

Status Flow

Submit → QUEUED → PROCESSING → COMPLETED
                     ↘ FAILED
                     ↘ ERROR

Typical Workflow

  1. Submit request to /ernie-image-request
  2. Receive request_id in response
  3. Periodically poll /v2/requests/status/{request_id} every 2–3 seconds
  4. Continue polling until status is COMPLETED, FAILED, or ERROR
  5. When COMPLETED, extract image URLs from the output

Ernie Image check status - Ernie Image

Request Code

POST https://gateway.pixazo.ai/v2/requests/status/ernie-image_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY
import requests

request_id = "ernie-image_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
url = f"https://gateway.pixazo.ai/v2/requests/status/{request_id}"
headers = {
    "Ocp-Apim-Subscription-Key": "YOUR_SUBSCRIPTION_KEY"
}

response = requests.post(url, headers=headers)
print(response.json())
const request_id = "ernie-image_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
const url = \`https://gateway.pixazo.ai/v2/requests/status/\${request_id}\`;
const headers = {
  "Ocp-Apim-Subscription-Key": "YOUR_SUBSCRIPTION_KEY"
};

fetch(url, {
  method: "POST",
  headers: headers
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error("Error:", error));
curl -X POST "https://gateway.pixazo.ai/v2/requests/status/ernie-image_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" \
  -H "Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY"

Output

{
  "images": [
    {
      "file_name": "nano-banana-pro-edit-output.png",
      "content_type": "image/png",
      "url": "[RESPONSE_URL]"
    }
  ],
  "description": ""
}

Request Parameters - Ernie Image check status

Field Type Required Default Description
request_id string Yes Unique identifier returned from the initial request.

Minimum Request

{
  "request_id": "ernie-image_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Full Request (all options)

{
  "request_id": "ernie-image_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Response

{
  "request_id": "ernie-image_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "COMPLETED",
  "model_id": "ernie-image",
  "error": null,
  "output": {
    "media_url": [
      "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/ernie-image_019dxxxx/output.jpeg"
    ],
    "media_type": "image/jpeg"
  },
  "created_at": "2026-03-31T10:00:00.000Z",
  "updated_at": "2026-03-31T10:00:15.000Z",
  "completed_at": "2026-03-31T10:00:15.000Z"
}

Response Fields - Ernie Image check status

Field Type Description
request_id string Unique identifier matching the original request.
status string Current status of the request (QUEUED, PROCESSING, COMPLETED, etc.).
model_id string The AI model used for generation.
error string or null Error message if status is FAILED or ERROR; null otherwise.
output.media_url array Array of URLs to generated images.
output.media_type string MIME type of the generated media (e.g., image/jpeg).
created_at string Time the request was created (ISO 8601).
updated_at string Time the request was last updated (ISO 8601).
completed_at string Time the request was completed (ISO 8601).

Request Headers

Header Value
Ocp-Apim-Subscription-Key Your API subscription key

Response Handling

Common status codes for Ernie Image check status.

Code Meaning
200 Success
Bad Request (invalid request_id)
401 Unauthorized
403 Forbidden
404 Not Found (invalid request_id)
Too Many Requests
500 Internal Server Error

Notes & Tips

  1. Poll the status endpoint every 2–3 seconds until COMPLETED, FAILED, or ERROR is returned.
  2. Implement exponential backoff for retry logic on ERROR or 500 responses.
  3. Use detailed, descriptive prompts for optimal results — include lighting, style, mood, and composition.
  4. Enable enable_prompt_expansion for non-native English prompts to improve interpretation.
  5. Use seed to reproduce identical outputs for iterative refinement.
  6. Prefer sync_mode: true only for small-scale or testing use cases — CDN URLs are more efficient for production.
  7. For best quality, use num_inference_steps between 50–100 and guidance_scale between 5–7.
  8. The output format defaults to jpeg; use png for transparency support.