Skip to content

Bernini-R Edit Image

Integrate

Model id bernini-r/edit-image
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/bernini-r/edit-image?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
    "image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
  }'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

Files like the example: $0.03 30 API credits your files are measured before the run Run it on this page

Get API key
Open model Image Editing #edit#image#transform

Edits an image from a natural-language instruction while keeping the original composition

Open model · Image

Your first result goes here

Build a request below and run it with your API key. Outputs are copied to our storage, kept forever or 7 days for free.

Build a request

Controls are generated from the model schema. The code and the price update as you change them.

•required

Text describing the prompt or requested edit.

•required image_url
Drop a file, or

Image supplied as the editing source.

default 848

Longer-edge pixel setting: editing uses it as a size ceiling for source/reference media, while generation uses it to set output size.

Advanced negative_prompt · num_inference_steps · seed · enable_prompt_expansion · enable_safety_checker

Negative prompt, using Wan2.2's standard negative prompt when unspecified.

default 30

Count of denoising steps to perform.

Seed that enables reproducible results; chosen randomly if omitted.

POST /run/bernini-r/edit-image?wait=20 quote → $0.03
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/bernini-r/edit-image?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
    "image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
  }'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

Run this request

Your key stays in this browser: it is sent only to the Doitong API and saved (localStorage) only if you tick Remember. Get an API key

About Bernini-R Edit Image

Supply an `image_url` and a `prompt` instruction, such as changing weather, materials, or style. `negative_prompt` is optional. `num_inference_steps` goes from 1 to 50, and `max_image_size` sets the long edge from 256 to 1280 px. `enable_prompt_expansion` rewrites the prompt with an LLM and returns it as `actual_prompt`.

Parameters

Send either the canonical name or the native name, not both. Canonical names

NameType DefaultAllowed Description
promptrequired
Typestring
Text describing the prompt or requested edit.
negative_promptoptional
Typestring | null
Negative prompt, using Wan2.2's standard negative prompt when unspecified.
num_inference_stepsoptional
Typeinteger
Default30
1 – 50
Count of denoising steps to perform.
max_image_sizeoptional
Typeinteger
Default848
256 – 1,280
Longer-edge pixel setting: editing uses it as a size ceiling for source/reference media, while generation uses it to set output size.
seedoptional
Typeinteger | null
Seed that enables reproducible results; chosen randomly if omitted.
enable_prompt_expansionoptional
Typeboolean
Defaultfalse
Optional pre-generation prompt rewriting by an LLM, disabled by default despite the model being tuned on enhanced prompts.
image_urlrequired image
Typeurl · image
Image supplied as the editing source.
enable_safety_checkeroptional
Typeboolean
Defaulttrue
Screening can be relaxed by setting false, provided the caller is authorized.
required Canonical name, also accepted

File parameters take a public https:// URL, a data: URI up to 10 MB, or the file_url of an upload. Files

Output

GET /requests/req_8k2m4q7x1z9c3v5b6n0p2r4t
{
  "id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
  "object": "request",
  "model": "bernini-r/edit-image",
  "status": "succeeded",
  "created_at": "2026-10-20T12:00:00Z",
  "started_at": "2026-10-20T12:00:02Z",
  "completed_at": "2026-10-20T12:00:09Z",
  "queue_position": null,
  "cost": {
    "credits": 30,
    "usd": "0.03",
    "charged": 30,
    "refunded": 0
  },
  "input": {
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
    "image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
  },
  "output": {
    "image": {
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
      "content_type": "image/jpeg",
      "file_name": "0-output.jpeg",
      "file_size": 1843200,
      "width": 1024,
      "height": 768
    },
    "seed": 42,
    "actual_prompt": "string"
  },
  "outputs": [
    {
      "type": "image",
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
      "content_type": "image/jpeg",
      "file_size": 1843200,
      "width": 1024,
      "height": 768,
      "stored": true
    }
  ],
  "error": null,
  "metrics": {
    "inference_seconds": 6.8
  },
  "urls": {
    "self": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
    "cancel": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
  }
}
Your files, your choiceEvery outputs[].url is a copy on our storage: kept forever (paid per GB-month) or 7 days for free, by your account setting or ?storage=.
Same shape on every modeltype, url, content_type, width, height and duration, for images, video and audio alike. output is the model’s own result object.
Fields of output
image
object {url, content_type, file_name, file_size, width, height}Image resulting from generation or editing.
seed
integerSeed applied during generation.
actual_prompt
string | nullFinal expanded prompt, populated only if prompt expansion was performed.

More models: Image Editing

For AI agents: this page as Markdown is at https://doitong.com/developers/models/bernini-r/edit-image.md. All models and guides: https://doitong.com/developers/llms.txt