Skip to main content
POST
Error

Authorizations

Authorization
string
header
required

Bearer token authentication. Use your provider API key or Bifrost authentication token. Virtual keys (prefixed with sk-bf-) can also be passed here.

Body

JSON encoding of an image edit. Sources are supplied as an images array, the same nested form /v1/videos/edits uses for its source video. Unrecognised top-level fields are forwarded to the provider as extra params with their JSON types intact, which is what a model's nested tuning object needs (e.g. Runware's settings and providerSettings). To upload the image as a file, post multipart/form-data instead - see ImageEditMultipartRequest.

model
string
required

Model identifier in format provider/model

images
(string | object)[]
required

Source images. Entries carrying neither a URL nor bytes are dropped; a request left with no usable image is rejected. Providers treat the first image as the primary one (Runware's seed image, Bedrock's style-transfer base), so the order is part of the contract. Only the reference-image models accept more than one; elsewhere images after the first are dropped.

One source image, either as a bare string - the form input_images takes on /v1/images/generations - or as an object naming which arm it fills. Providers that cannot accept a given form reject it.

prompt
string

Text prompt describing the edit. Required except for the operation types that are driven purely by the input image: background_removal, erase_object, upscale, upscale_fast, mask, segmentation, vectorize and controlnet_preprocess.

mask
string<byte>

Optional base64-encoded mask image for inpainting (transparent areas indicate regions to edit). Dropped for models that declare no mask input.

type
enum<string>

Type of edit operation. Support varies by provider; unsupported values are dropped and the request runs as a standard edit.

Available options:
inpainting,
outpainting,
background_removal,
remove_background,
remove_bg,
erase_object,
recolor,
search_replace,
control_sketch,
control_structure,
style_guide,
style_transfer,
upscale,
upscale_fast,
upscale_creative,
upscale_conservative,
mask,
segmentation,
vectorize,
controlnet_preprocess,
controlnet,
preprocess
upscale_factor
integer

Multiply each dimension by this factor. type: "upscale" only; mutually exclusive with target_megapixels.

target_megapixels
integer

Target output size in megapixels. type: "upscale" only; mutually exclusive with upscale_factor.

n
integer

Number of images to generate

Required range: 1 <= x <= 10
size
enum<string>

Size of the output image

Available options:
256x256,
512x512,
1024x1024,
1536x1024,
1024x1536,
auto
response_format
enum<string>
default:url

Format of the response. data_uri is supported by providers that return an inline data URI (e.g. Runware).

Available options:
url,
b64_json,
data_uri
stream
boolean
default:false

When true, stream the response via Server-Sent Events

background
enum<string>

Background type for the image

Available options:
transparent,
opaque,
auto
input_fidelity
enum<string>

How closely to follow the original image

Available options:
low,
high
partial_images
integer

Number of partial images to generate when streaming

Required range: 0 <= x <= 3
quality
enum<string>

Quality of the output image

Available options:
auto,
high,
medium,
low,
standard
output_format
enum<string>

Output image format. svg applies to vectorize operations

Available options:
png,
webp,
jpeg,
tiff,
svg
num_inference_steps
integer

Number of inference steps

seed
integer

Seed for reproducible editing

output_compression
integer

Compression level (0-100%)

Required range: 0 <= x <= 100
negative_prompt
string

What to avoid in the edit

user
string

User identifier for tracking

fallbacks
object[]

Fallback models to try if primary model fails

Response

Successful response. Returns JSON for non-streaming requests, or Server-Sent Events (SSE) stream when stream=true. When streaming, events are sent with the following event types:

  • image_edit.partial_image: Intermediate image chunks with base64-encoded image data
  • image_edit.completed: Final event for each image with usage information
  • error: Error events with error details
id
string

Unique identifier for the generation request

created
integer<int64>

Unix timestamp when the image was created

model
string

Model used for generation

data
object[]

Array of generated images

background
string

Background type for the image

output_format
enum<string>

Output image format

Available options:
png,
webp,
jpeg
quality
string

Quality of the generated image

size
enum<string>

Size of the generated image

Available options:
256x256,
512x512,
1024x1024,
1792x1024,
1024x1792,
1536x1024,
1024x1536,
auto
usage
object
extra_fields
object

Additional fields included in responses