Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.runflow.io/llms.txt

Use this file to discover all available pages before exploring further.

Pricing: $0.55/request. Endpoint: POST /v1/models/runflow/reference-inpaint/runs.
Inpaint a region of a target photo using a reference image as the visual guide. Provide the target, a black-and-white mask of the area to fill, and a reference image. The model paints the masked region with content matching the reference.

Overview

Pricing

  • Base price: $0.55/request
  • Note: Per image: reference inpaint

Reference Inpaint API

Endpoint: POST /v1/models/runflow/reference-inpaint/runs

Run the model

Python

import requests

response = requests.post(
    "https://api.runflow.io/v1/models/runflow/reference-inpaint/runs",
    headers={"Authorization": "Bearer RUNFLOW_API_KEY"},
    json={
        "input": {
            "zip_url": "https://public.runflow.io/images/models/runflow/reference-inpaint/examples/1/inputs.zip",
            "file_mask": "mask.png",
            "file_input": "photo.png",
            "file_reference": "reference.png"
        },
        "callback_url": "https://your-server.com/webhook"
    },
)

data = response.json()
print(data)

Node.js

const response = await fetch(
  "https://api.runflow.io/v1/models/runflow/reference-inpaint/runs",
  {
    method: "POST",
    headers: {
      "Authorization": "Bearer RUNFLOW_API_KEY",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
        "input": {
            "zip_url": "https://public.runflow.io/images/models/runflow/reference-inpaint/examples/1/inputs.zip",
            "file_mask": "mask.png",
            "file_input": "photo.png",
            "file_reference": "reference.png"
        },
        "callback_url": "https://your-server.com/webhook"
    }),
  }
);

const data = await response.json();
console.log(data);

cURL

curl -X POST https://api.runflow.io/v1/models/runflow/reference-inpaint/runs \
  -H "Authorization: Bearer $RUNFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'JSON'
{
    "input": {
        "zip_url": "https://public.runflow.io/images/models/runflow/reference-inpaint/examples/1/inputs.zip",
        "file_mask": "mask.png",
        "file_input": "photo.png",
        "file_reference": "reference.png"
    },
    "callback_url": "https://your-server.com/webhook"
}
JSON

Request parameters

ParameterTypeRequiredDescription
inputobjectrequiredModel input parameters. See “Input schema” below.
callback_urlstring | nulloptionalWebhook URL - POSTed when the run reaches a terminal state.
metadataobject | nulloptionalArbitrary key-value pairs attached to the run.

Input schema

FieldTypeRequiredAllowed valuesDescription
zip_urlfilerequiredAnyURL of a zip archive containing the target image, mask, and reference image. Use file_input + file_mask + file_reference to name the files inside.
file_inputstringrequiredAnyFilename inside zip_url of the photo to edit (e.g. photo.png).
file_maskstringrequiredAnyFilename inside zip_url of the black-and-white mask. White pixels mark the area to inpaint, black pixels mark what to keep.
file_referencestringrequiredAnyFilename inside zip_url of the reference image whose visual content should fill the masked area.
promptstringoptionalAnyOptional override for the scene description. Leave empty to use the default.

Output schema

FieldTypeDescription
outputsjsonArray of result items, each with at minimum a url field.
seedjsonRandom seed used (null if N/A).
timingjsonProvider timing breakdown (null if not surfaced).
nsfw_detectedjsonProvider NSFW flag (null if not surfaced).

Callback payload

When you provide a callback_url, Runflow POSTs to it once the run reaches a terminal state.
FieldTypeDescription
eventstringEvent type: “run.completed”, “run.failed”, or “run.cancelled”.
run_idstringThe unique identifier of the run.
statusstringTerminal status: “succeeded”, “failed”, or “cancelled”.
outputobject | nullThe run output. Null if the run failed or was cancelled.
duration_msnumber | nullTotal run duration in milliseconds.
created_atstring | nullISO 8601 timestamp when the run was created.
completed_atstring | nullISO 8601 timestamp when the run reached terminal state.
metadataobject | nullThe metadata object passed at run creation, if any.
  • Retries: 3 attempts with exponential backoff (1s, 2s). Retries on 5xx / network errors only.
  • Headers: Runflow-Request-Id is always sent. Runflow-Signature is sent if a signing secret is configured.

Additional Resources

Browse all models

Browse the catalog.

Run lifecycle

Callbacks, polling, statuses.

Callbacks

Handle async results.

Pricing

How requests bill out.