Skip to content

Image Editing Reframe

Integrate

Model id image-editing/reframe
# 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/image-editing/reframe?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "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"

This request: $0.04 40 API credits Run it on this page

Get API key
Utility · 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 image_url
Drop a file, or

Source photo URL for restoring an old or damaged photograph.

aspect_ratio default 16:9

Target aspect ratio when reframing the image.

Advanced safety_tolerance · output_format · guidance_scale · num_inference_steps · seed
safety_tolerance default 2

Safety setting for generated images: choose 6 for the most permissive filtering or 1 for the strictest.

output_format default jpeg

File format for the resulting image.

default 3.5

Prompt-adherence strength for image selection, expressed as CFG (Classifier Free Guidance).

default 30

Count of inference steps used during sampling.

Seed for reproducible images: an identical prompt and seed produce an identical image when the model version is unchanged.

POST /run/image-editing/reframe?wait=20 quote → $0.04
# 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/image-editing/reframe?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "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 Image Editing Reframe

Reframes a photo into a chosen `aspect_ratio` (21:9, 16:9, 4:3, 3:2, 1:1, 2:3, 3:4, 9:16 or 9:21; default 16:9). The main subject keeps its place and perspective. Settings include `guidance_scale` from 0 to 20, 1 to 50 inference steps, a `seed`, and JPEG or PNG output.

Parameters

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

NameType DefaultAllowed Description
image_urlrequired image
Typeurl · image
Source photo URL for restoring an old or damaged photograph.
guidance_scaleoptional
Typenumber
Default3.5
0 – 20
Prompt-adherence strength for image selection, expressed as CFG (Classifier Free Guidance).
num_inference_stepsoptional
Typeinteger
Default30
1 – 50
Count of inference steps used during sampling.
safety_toleranceoptional
Typeenum
Default2
123456
Safety setting for generated images: choose 6 for the most permissive filtering or 1 for the strictest.
output_formatoptional
Typeenum
Defaultjpeg
jpegpng
File format for the resulting image.
aspect_ratiooptional
Typeenum
Default16:9
21:916:94:33:21:12:33:49:169:21
Target aspect ratio when reframing the image.
seedoptional
Typeinteger | null
Seed for reproducible images: an identical prompt and seed produce an identical image when the model version is unchanged.
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": "image-editing/reframe",
  "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": 40,
    "usd": "0.04",
    "charged": 40,
    "refunded": 0
  },
  "input": {
    "image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
  },
  "output": {
    "images": [
      {
        "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
  },
  "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
images
array of object {url, content_type, file_name, file_size, width, height}
seed
integer

More models: Image Editing

For AI agents: this page as Markdown is at https://doitong.com/en-US/developers/models/image-editing/reframe.md. All models and guides: https://doitong.com/developers/llms.txt