Create async image generation

Submits an image generation 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/generations
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

promptstring

Text prompt to generate image

n?integer

Number of images to generate

Range1 <= value <= 10
size?string

Size of the generated image

Value in"256x256" | "512x512" | "1024x1024" | "1792x1024" | "1024x1792" | "1536x1024" | "1024x1536" | "auto"
quality?string

Quality of the generated image

Value in"auto" | "high" | "medium" | "low" | "hd" | "standard"
style?string

Style of the generated image

Value in"natural" | "vivid"
response_format?string

Format of the response.

Default"url"
Value in"url" | "b64_json"
background?string

Background type for the image

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

Content moderation level

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

Number of partial images to generate

Range0 <= value <= 3
output_compression?integer

Compression level (0-100%)

Range0 <= value <= 100
output_format?string

Output image format

Value in"png" | "webp" | "jpeg"
user?string

User identifier for tracking

seed?integer

Seed for reproducible image generation

negative_prompt?string

Negative prompt to guide what to avoid in generation

num_inference_steps?integer

Number of inference steps for generation

stream?boolean

Whether to stream the response. When true, images are sent as SSE. When streaming, providers may return base64 chunks (b64_json) and/or URLs (url) depending on provider and configuration.

Defaultfalse
fallbacks?array<Fallback>

Fallback models to try if primary model fails

Response Body

curl -X POST "https://loading/{AI_GATEWAY_URL}/v1/async/images/generations" \  -H "x-bf-async-job-result-ttl: 3600" \  -H "Content-Type: application/json" \  -d '{    "model": "string",    "prompt": "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