---
title: "Edit an image"
method: POST
path: "/images/edit"
tags: ["Images"]
---

# Edit an image

`POST /images/edit`

## Request

- Base URL: `https://api.crevio.co/v1`
- URL: `https://api.crevio.co/v1/images/edit`
- Auth: API key in header `Authorization`

Submits an asynchronous image-to-image (editing) job to the fal.ai queue and returns the queued job immediately. Transforms one or more source images according to a text prompt — restyle a product photo, change a background, combine references. Poll `GET /v1/jobs/{id}` for status and results. Credits are charged only when the job completes successfully.

## Headers

- `Idempotency-Key` string

## Request body

- ImageEditRequest
  - `model` string: A quality tier (fast, balanced, quality) or any fal.ai image-to-image endpoint id. Prefer a tier — it tracks the best current model for that price point. Defaults to fal-ai/nano-banana/edit.
  - `input` object, required: Model-specific input, forwarded to fal verbatim. `prompt` and a source image (`image_url` or `image_urls`) are required. For a featured model either image field is accepted and normalized to whichever that model expects; other models receive it as sent.
    - `prompt` string, required: Text instruction describing the edit to apply.
    - `image_url` string, uri: URL of the source image to edit.
    - `image_urls` string[]: URLs of source/reference images (multi-image models only; single-image models use the first).

## Response `202`

Edit job queued

- ProviderJob
  - `id` string, required
  - `object` string, required
  - `type` string, required
  - `status` 'queued' | 'processing' | 'completed' | 'failed' | 'cancelled', required
  - `model` string, required
  - `progress` integer, required
  - `input` object, required
  - `result` object, nullable, required
  - `error` string, nullable, required
  - `error_code` string, nullable, required
  - `credits_used` integer, nullable, required
  - `provider_request_id` string, nullable, required
  - `created_at` string, date-time, required
  - `started_at` string, date-time, nullable, required
  - `completed_at` string, date-time, nullable, required

## Other responses

- `400`: Bad request
- `401`: Authentication required
- `402`: Insufficient credits
- `422`: Validation error
- `429`: Rate limit exceeded — 600 requests per minute per credential. Retry after the number of seconds in `Retry-After`.
- `500`: Internal server error

---

[API](https://skmtc.dev/crevio/apis/crevio-api-v1.md) · [All operations](https://skmtc.dev/crevio/apis/crevio-api-v1/llms.txt) · [OpenAPI document](https://skmtc.dev/crevio/apis/crevio-api-v1/revisions/2219f18ad651?raw)
