# FireRed Image Edit API

> Provider: **FireRed Image Edit**
> Source: https://www.pixazo.ai/models/firered-image-edit

Advanced AI image editing capabilities by FireRed Image Edit.

## FireRed Image Edit 1

### Image to Image (Image Editing)

## Base URL

```
https://gateway.pixazo.ai/firered-image-edit/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

## Image Edit Request - FireRed Image Edit

## Request Code

HTTP Python JavaScript cURL

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

{
  "prompt": "The woman's dress is changed to black",
  "image": ["https://example.com/photo.jpg"]
}
```

```
import requests

url = "https://gateway.pixazo.ai/firered-image-edit/v1/firered-image-edit/generate"
headers = {
    "Content-Type": "application/json",
    "Cache-Control": "no-cache",
    "Ocp-Apim-Subscription-Key": "YOUR_SUBSCRIPTION_KEY"
}
data = {
    "prompt": "The woman's dress is changed to black",
    "image": ["https://example.com/photo.jpg"]
}

response = requests.post(url, json=data, headers=headers)
print(response.json())
```

```
const url = "https://gateway.pixazo.ai/firered-image-edit/v1/firered-image-edit/generate";
const headers = {
  "Content-Type": "application/json",
  "Cache-Control": "no-cache",
  "Ocp-Apim-Subscription-Key": "YOUR_SUBSCRIPTION_KEY"
};
const data = {
  prompt: "The woman's dress is changed to black",
  image: ["https://example.com/photo.jpg"]
};

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 -v -X POST "https://gateway.pixazo.ai/firered-image-edit/v1/firered-image-edit/generate" \
  -H "Content-Type: application/json" \
  -H "Cache-Control: no-cache" \
  -H "Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY" \
  --data-raw '{
    "prompt": "The woman'\''s dress is changed to black",
    "image": ["https://example.com/photo.jpg"]
  }'
```

## Output

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

[Try Now](https://api.pixazo.ai/api-details#api=firered-image-edit&operation=image-edit-request)

## 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 - Image Edit Request

Parameter

Required

Type

Description

prompt

Yes

string

Text instruction describing the requested image edit

image

Yes

array

Input image URLs to edit or use as references. Must be jpeg, png, gif, or webp

seed

No

integer

Default: null. Random seed for reproducibility. Leave blank for a random seed

go\_fast

No

boolean

Default: true. Use optimized cache scheduling for faster generation

aspect\_ratio

No

string

Default: "match\_input\_image". Values: "1:1", "16:9", "9:16", "4:3", "3:4", "match\_input\_image"

output\_format

No

string

Default: "webp". Output image format. Values: "webp", "jpg", "png"

output\_quality

No

integer

Default: 95. Image quality from 0 (lowest) to 100 (highest)

true\_cfg\_scale

No

number

Default: 4. True CFG guidance scale. Valid range: 0-20. Higher values follow the prompt more closely

num\_inference\_steps

No

integer

Default: 40. Number of denoising steps. Valid range: 1-100. More steps = better quality but slower

webhook

No

string

Default: null. Callback URL for completion notification

webhook\_events\_filter

No

array

Default: \["\*"\]. Events that trigger webhook. Values: \["\*"\] (all), \["completed"\] (success/failure only)

## Example Request

```
{
  "prompt": "The woman's dress is changed to black",
  "image": ["https://example.com/photo.jpg"],
  "output_format": "png",
  "output_quality": 100
}
```

## Response

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

## Request Headers

Header

Value

Content-Type

application/json

Cache-Control

no-cache

Ocp-Apim-Subscription-Key

YOUR\_SUBSCRIPTION\_KEY

## Image Edit Status - FireRed Image Edit

## Request Code

HTTP Python JavaScript cURL

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

{
  "prediction_id": "w974cvx49hrmy0cwdfzv180nm8"
}
```

```
import requests

url = "https://gateway.pixazo.ai/firered-image-edit/v1/firered-image-edit/prediction"
headers = {
    "Content-Type": "application/json",
    "Cache-Control": "no-cache",
    "Ocp-Apim-Subscription-Key": "YOUR_SUBSCRIPTION_KEY"
}
data = {
    "prediction_id": "w974cvx49hrmy0cwdfzv180nm8"
}

response = requests.post(url, json=data, headers=headers)
print(response.json())
```

```
const url = "https://gateway.pixazo.ai/firered-image-edit/v1/firered-image-edit/prediction";
const headers = {
  "Content-Type": "application/json",
  "Cache-Control": "no-cache",
  "Ocp-Apim-Subscription-Key": "YOUR_SUBSCRIPTION_KEY"
};
const data = {
  prediction_id: "w974cvx49hrmy0cwdfzv180nm8"
};

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 -v -X POST "https://gateway.pixazo.ai/firered-image-edit/v1/firered-image-edit/prediction" \
  -H "Content-Type: application/json" \
  -H "Cache-Control: no-cache" \
  -H "Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY" \
  --data-raw '{
    "prediction_id": "w974cvx49hrmy0cwdfzv180nm8"
  }'
```

## Output

```
{
  "success": true,
  "id": "w974cvx49hrmy0cwdfzv180nm8",
  "status": "succeeded",
  "output": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/..."
}
```

[Try Now](https://api.pixazo.ai/api-details#api=firered-image-edit&operation=image-edit-status)

## Request Parameters - Image Edit Status

Parameter

Required

Type

Description

prediction\_id

Yes

string

The unique identifier returned from the initial image edit request

## Example Request

```
{
  "prediction_id": "w974cvx49hrmy0cwdfzv180nm8"
}
```

## Response

```
{
  "success": true,
  "id": "w974cvx49hrmy0cwdfzv180nm8",
  "status": "succeeded",
  "input": {
    "prompt": "The woman's dress is changed to black",
    "image": ["https://example.com/photo.jpg"],
    "go_fast": true,
    "aspect_ratio": "match_input_image",
    "output_format": "webp",
    "output_quality": 95,
    "true_cfg_scale": 4,
    "num_inference_steps": 40
  },
  "output": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/firered-image-edit/w974cvx49hrmy0cwdfzv180nm8_output_0.webp",
  "created_at": "2026-02-17T14:27:21.804Z"
}
```

## Request Headers

Header

Value

Content-Type

application/json

Cache-Control

no-cache

Ocp-Apim-Subscription-Key

YOUR\_SUBSCRIPTION\_KEY

## Response Handling

Common status codes for Image Edit Status.

Code

Meaning

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

429

Too Many Requests

500

Internal Server Error

## Response Handling

Common status codes.

Code

Meaning

202

Accepted — Request queued

400

Bad Request

401

Unauthorized

402

Insufficient Balance

403

Forbidden

429

Too Many Requests

500

Internal 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 'firered-image-edit' not found or is disabled"
}
```

### Error via Status/Webhook

```
{
  "request_id": "firered-image-edit_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "ERROR",
  "model_id": "firered-image-edit",
  "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/firered-image-edit_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
```

## Response (Completed)

```
{
  "request_id": "firered-image-edit_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "COMPLETED",
  "model_id": "firered-image-edit",
  "error": null,
  "output": {
    "media_url": [
      "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/firered-image-edit_019dxxxx-xxxx/output.ext"
    ],
    "media_type": "application/octet-stream"
  },
  "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

Field

Type

Description

request\_id

string

Unique request identifier

status

string

QUEUED, PROCESSING, COMPLETED, FAILED, or ERROR

model\_id

string

Model that processed the request

error

string|null

Error message if failed

output.media\_url

array

URLs to generated media (R2 CDN)

output.media\_type

string

MIME type of the output

created\_at

string

When request was created

completed\_at

string|null

When request completed

polling\_url

string

Status URL (initial response only)

## 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

ERROR

System 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.

## FireRed Image Edit 1.1

### Image to Image (Image Editing)

## Base URL

```
https://gateway.pixazo.ai/firered-image-edit-v1-1/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

## FireRed Image Edit V1.1 generate request - FireRed Image Edit V1.1

## Request Code

HTTP Python JavaScript cURL

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

{
  "prompt": "Add a magical aurora borealis effect to the sky with vibrant green and purple lights",
  "image_urls": [
    "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/f1.png"
  ]
}
```

```
import requests

url = "https://gateway.pixazo.ai/firered-image-edit-v1-1/v1/firered-image-edit-v1-1-request"
headers = {
    "Content-Type": "application/json",
    "Cache-Control": "no-cache",
    "Ocp-Apim-Subscription-Key": "YOUR_SUBSCRIPTION_KEY"
}
data = {
    "prompt": "Add a magical aurora borealis effect to the sky with vibrant green and purple lights",
    "image_urls": [
        "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/f1.png"
    ]
}

response = requests.post(url, headers=headers, json=data)
print(response.json())
```

```
const url = "https://gateway.pixazo.ai/firered-image-edit-v1-1/v1/firered-image-edit-v1-1-request";
const headers = {
  "Content-Type": "application/json",
  "Cache-Control": "no-cache",
  "Ocp-Apim-Subscription-Key": "YOUR_SUBSCRIPTION_KEY"
};
const data = {
  prompt: "Add a magical aurora borealis effect to the sky with vibrant green and purple lights",
  image_urls: [
    "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/f1.png"
  ]
};

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/firered-image-edit-v1-1/v1/firered-image-edit-v1-1-request" \
  -H "Content-Type: application/json" \
  -H "Cache-Control: no-cache" \
  -H "Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY" \
  --data-raw '{
    "prompt": "Add a magical aurora borealis effect to the sky with vibrant green and purple lights",
    "image_urls": [
      "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/f1.png"
    ]
  }'
```

## Output

```
{
  "request_id": "firered-image-edit-v1-1_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "QUEUED",
  "polling_url": "https://gateway.pixazo.ai/v2/requests/status/firered-image-edit-v1-1_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
```

[Try Now](https://api.pixazo.ai/api-details#api=firered-image-edit-v1-1&operation=firered-image-edit-v1-1-request)

## 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 - FireRed Image Edit V1.1 generate request

Field

Type

Required

Default

Description

prompt

string

Yes

—

Natural language instruction describing the desired edit, such as adding effects, changing styles, or modifying elements

image\_urls

array of strings

Yes

—

Array of URLs pointing to source images to be edited. Supports multiple images for reference-based editing

num\_inference\_steps

integer

No

30

Number of denoising steps during generation. Higher values yield finer detail but increase processing time

guidance\_scale

number

No

4

Controls how closely the output follows the prompt. Higher values increase prompt adherence but may reduce creativity

num\_images

integer

No

1

Number of edited images to generate per request

enable\_safety\_checker

boolean

No

true

Enables content safety filtering to block inappropriate or harmful outputs

output\_format

string

No

png

Output image format: png, jpeg, or webp

acceleration

string

No

regular

Processing mode: "regular" for standard quality, "fast" for quicker results with slight quality tradeoff

## Minimum Request

```
{
  "prompt": "Add a magical aurora borealis effect to the sky with vibrant green and purple lights",
  "image_urls": [
    "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/f1.png"
  ]
}
```

## Full Request (all options)

```
{
  "prompt": "Add a magical aurora borealis effect to the sky with vibrant green and purple lights",
  "image_urls": [
    "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/f1.png"
  ],
  "num_inference_steps": 30,
  "guidance_scale": 4,
  "num_images": 1,
  "enable_safety_checker": true,
  "output_format": "png",
  "acceleration": "regular"
}
```

## Response

```
{
  "request_id": "firered-image-edit-v1-1_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "QUEUED",
  "polling_url": "https://gateway.pixazo.ai/v2/requests/status/firered-image-edit-v1-1_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
```

## 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 FireRed Image Edit V1.1 generate request.

Code

Meaning

202

Accepted — Request queued

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

429

Too Many Requests

500

Internal Server Error

## Response Handling

Common status codes.

Code

Meaning

202

Accepted — Request queued

400

Bad Request

401

Unauthorized

402

Insufficient Balance

403

Forbidden

429

Too Many Requests

500

Internal 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 'firered-image-edit-v1-1' not found or is disabled"
}
```

### Error via Status/Webhook

```
{
  "request_id": "firered-image-edit-v1-1_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "ERROR",
  "model_id": "firered-image-edit-v1-1",
  "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/firered-image-edit-v1-1_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
```

## Response (Completed)

```
{
  "request_id": "firered-image-edit-v1-1_019dxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "status": "COMPLETED",
  "model_id": "firered-image-edit-v1-1",
  "error": null,
  "output": {
    "media_url": [
      "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/v1/firered-image-edit-v1-1_019dxxxx-xxxx/output.ext"
    ],
    "media_type": "application/octet-stream"
  },
  "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

Field

Type

Description

request\_id

string

Unique request identifier

status

string

QUEUED, PROCESSING, COMPLETED, FAILED, or ERROR

model\_id

string

Model that processed the request

error

string|null

Error message if failed

output.media\_url

array

URLs to generated media (R2 CDN)

output.media\_type

string

MIME type of the output

created\_at

string

When request was created

completed\_at

string|null

When request completed

polling\_url

string

Status URL (initial response only)

## 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

ERROR

System 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.
