---
title: "Post Image Editing Qwen Edit"
method: POST
path: "/v6/image_editing/qwen_edit"
tags: ["v6_image_editing"]
---

# Post Image Editing Qwen Edit

`POST /v6/image_editing/qwen_edit`

Post Image Editing Qwen Edit. Generation endpoint on /v6/image_editing/qwen_edit. Returns `status: "success"` with `output` when the model answers inline, or `status: "processing"` with an `id` and `eta` to poll on the matching fetch endpoint. Request parameters vary by model — discover them with GET /v6/model-search/{modelId}. Requires a paid subscription; failures arrive on HTTP 200 with `status: "error"` and a machine-readable `code`.

## Request body

- object
  - `key` string — API key. Optional when the key is sent as a header.

## Response `200`

Generation outcome. `status` is "success" with `output`, "processing" with an `id` and `eta` to poll, or "error".

- union — Discriminated on `status`. Every generation and fetch endpoint returns one of these three shapes, always on HTTP 200.
  - GenerationSuccess
    - `status` 'success', required
    - `id` union — Request id. Use it with the matching fetch endpoint.
      - integer
      - string
    - `output` string[], required — Result URLs. One entry per generated asset.
    - `proxy_links` union — Alternate CDN URLs for the same assets, when available.
      - string[]
      - string
    - `generationTime` number, nullable — Seconds spent generating.
    - `nsfw_content_detected` boolean, nullable — True when the safety checker flagged the output.
    - `meta` object — The resolved model parameters for this request. Keys vary by model; discover them with GET /v6/model-search/{modelId}.
    - `tip` string
  - GenerationProcessing — The job was accepted and is running. Poll `fetch_result` after `eta` seconds.
    - `status` 'processing', required
    - `id` union, required — Request id to poll on the matching fetch endpoint.
      - integer
      - string
    - `eta` union — Estimated seconds until the result is ready.
      - number
      - string
    - `fetch_result` string, uri, nullable — Absolute URL to poll for this job.
    - `future_links` string[] — URLs the assets will occupy once generation completes.
    - `output` string[] — Always empty while processing.
    - `message` string
    - `meta` object
  - GenerationError — Failure envelope. Note that generation endpoints return this on HTTP 200 — branch on `status` and `code`, not on the HTTP status.
    - `status` 'error', required
    - `code` 'validation_error' | 'invalid_api_key' | 'unauthenticated' | 'forbidden' | 'no_subscription' | 'insufficient_balance' | 'not_found' | 'rate_limited' | 'provider_error' | 'upstream_unavailable' | 'server_error' — Stable machine-readable error code. Branch on this.
    - `message` string, required — Human-readable explanation. Wording is not stable; do not parse it.
    - `errors` object — Per-field validation detail. Present when code is "validation_error".
    - `tips` string — Optional remediation hint.

## Other responses

- `400` — Malformed request. Rejected at the edge before reaching the API.
- `401` — Missing or invalid API key.
- `403` — No active subscription for this endpoint.
- `404` — Endpoint, model or request id not found.
- `422` — Validation error.
- `429` — Rate limited at the edge. The API itself signals rate limiting on 200 with code "rate_limited".
- `500` — Server error.

---

[API](https://skmtc.dev/modelslab/apis/modelslab-generation-api.md) · [All operations](https://skmtc.dev/modelslab/apis/modelslab-generation-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/modelslab/modelslab-generation-api/revisions/49cdc29cc724/schema)
