Async Jobs

Create async image edit

Submits an image edit request for asynchronous execution. Returns a job ID immediately with HTTP 202. Poll the corresponding GET endpoint with the job ID to retrieve the result. Streaming is not supported for async requests.

POST
/v1/async/images/edits
AuthorizationBearer <token>

Bearer token authentication. Use your MPilot virtual-key JWT or admin JWT. Virtual keys (prefixed with sk-bf-) can also be passed here.

In: header

Header Parameters

x-bf-async-job-result-ttl?integer

Time-to-live in seconds for the job result after completion. Defaults to 3600 (1 hour). After expiry, the job result is automatically cleaned up.

Default3600
modelstring

Model identifier in format provider/model

prompt?string

Text prompt describing the edit. Required unless type is background_removal.

imagefile

Image file to edit. Use field name image for a single file or image[] for multiple files.

Formatbinary
mask?file

Optional mask image for inpainting (transparent areas indicate regions to edit)

Formatbinary
type?string

Type of edit operation

Value in"inpainting" | "outpainting" | "background_removal"
n?integer

Number of images to generate

Range1 <= value <= 10
size?string

Size of the output image

Value in"256x256" | "512x512" | "1024x1024" | "1536x1024" | "1024x1536" | "auto"
response_format?string

Format of the response

Default"url"
Value in"url" | "b64_json"
stream?boolean

When true, stream the response via Server-Sent Events

Defaultfalse
background?string

Background type for the image

Value in"transparent" | "opaque" | "auto"
input_fidelity?string

How closely to follow the original image

Value in"low" | "high"
partial_images?integer

Number of partial images to generate when streaming

Range0 <= value <= 3
quality?string

Quality of the output image

Value in"auto" | "high" | "medium" | "low" | "standard"
output_format?string

Output image format

Value in"png" | "webp" | "jpeg"
num_inference_steps?integer

Number of inference steps

seed?integer

Seed for reproducible editing

output_compression?integer

Compression level (0-100%)

Range0 <= value <= 100
negative_prompt?string

What to avoid in the edit

user?string

User identifier for tracking

fallbacks?array<Fallback>

Fallback models to try if primary model fails

Response Body

curl -X POST "https://loading/{AI_GATEWAY_URL}/v1/async/images/edits" \  -H "x-bf-async-job-result-ttl: 3600" \  -F model="string" \  -F image="string"
{
  "id": "string",
  "status": "pending",
  "expires_at": "2019-08-24T14:15:22Z",
  "created_at": "2019-08-24T14:15:22Z",
  "completed_at": "2019-08-24T14:15:22Z",
  "status_code": 0,
  "result": null,
  "error": {
    "event_id": "string",
    "type": "string",
    "is_bifrost_error": true,
    "status_code": 0,
    "error": {
      "type": "string",
      "code": "string",
      "message": "string",
      "param": "string",
      "event_id": "string"
    },
    "extra_fields": {
      "provider": "openai",
      "model_requested": "string",
      "request_type": "string"
    }
  }
}
{
  "event_id": "string",
  "type": "string",
  "is_bifrost_error": true,
  "status_code": 0,
  "error": {
    "type": "string",
    "code": "string",
    "message": "string",
    "param": "string",
    "event_id": "string"
  },
  "extra_fields": {
    "provider": "openai",
    "model_requested": "string",
    "request_type": "string"
  }
}
{
  "event_id": "string",
  "type": "string",
  "is_bifrost_error": true,
  "status_code": 0,
  "error": {
    "type": "string",
    "code": "string",
    "message": "string",
    "param": "string",
    "event_id": "string"
  },
  "extra_fields": {
    "provider": "openai",
    "model_requested": "string",
    "request_type": "string"
  }
}
On this page

On this page

No Headings