Model API

Image Editing Tools

The reframe endpoint intelligently adjusts an image's aspect ratio while preserving the main subject's position, composition, pose, and perspective

Model id

Use this in every request
image-editing/reframe

This model has other modes with their own ids: image-editing/age-progression, image-editing/baby-version, image-editing/background-change, image-editing/broccoli-haircut, image-editing/cartoonify, image-editing/color-correction, image-editing/expression-change, image-editing/face-enhancement, image-editing/hair-change, image-editing/object-removal, image-editing/photo-restoration, image-editing/plushie-style, image-editing/professional-photo, image-editing/realism, image-editing/retouch, image-editing/scene-composition, image-editing/style-transfer, image-editing/text-removal, image-editing/time-of-day, image-editing/weather-effect, image-editing/wojak-style, image-editing/youtube-thumbnails.

Run it

Quote the input, start the generation with the quote, then poll the job. Set RAYWAKE_API_KEY first; see Authentication.

# 1. Price the exact input (quotes are valid for up to 10 minutes)
curl -s https://api.raywake.com/v1/quotes \
  -H "Authorization: Bearer $RAYWAKE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "image-editing/reframe",
  "input": {
    "image_url": "https://example.com/input.png"
  }
}'

# 2. Start the generation with the quote_id from step 1
curl -s https://api.raywake.com/v1/generate \
  -H "Authorization: Bearer $RAYWAKE_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"model": "image-editing/reframe", "quote_id": "QUOTE_ID", "input": {"image_url":"https://example.com/input.png"}}'

# 3. Poll until the status is terminal
curl -s https://api.raywake.com/v1/jobs/JOB_ID \
  -H "Authorization: Bearer $RAYWAKE_API_KEY"

Input

Input fields for image-editing/reframe
NameTypeDescription
image_urlrequiredstring (image URL)
URL of the old or damaged photo to restore.
guidance_scalenumber
The CFG (Classifier Free Guidance) scale is a measure of how close you want the model to stick to your prompt when looking for a related image to show you.

Default: 3.5

num_inference_stepsinteger
Number of inference steps for sampling.

Default: 30

safety_tolerancestring (enum)
The safety tolerance level for the generated image. 1 being the most strict and 6 being the most permissive.

Default: 2

One of: 1, 2, 3, 4, 5, 6

output_formatstring (enum)
The format of the generated image.

Default: jpeg

One of: jpeg, png

aspect_ratiostring (enum)
The desired aspect ratio for the reframed image.

Default: 16:9

One of: 21:9, 16:9, 4:3, 3:2, 1:1, 2:3, 3:4, 9:16, 9:21

seedinteger
The same seed and the same prompt given to the same version of the model will output the same image every time.
sync_modeboolean
If `True`, the media will be returned as a data URI and the output data won't be available in the request history.

Default: false

Output

A succeeded job lists its results under outputs, stored on our side. See Jobs for every field.

Job excerpt
"outputs": [
  { "type": "image", "url": "https://…", "mime_type": "image/png", "thumbnail_url": "https://…" }
]

Pricing

  • 1 image$0.07/ image

The exact charge for your input comes from a quote. How charges settle