> ## Documentation Index
> Fetch the complete documentation index at: https://docs.runpod.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Flux Kontext Dev

> 12 billion parameter model for editing images based on text instructions.

Flux Kontext Dev is a 12 billion parameter rectified flow transformer capable of editing images based on text instructions. It excels at making targeted edits to existing images while preserving the overall context and style.

<Card title="Try in playground" icon="play" href="https://console.runpod.io/hub/playground/image/black-forest-labs-flux-1-kontext-dev" horizontal>
  Test Flux Kontext Dev in the Runpod Hub playground.
</Card>

|              |                                                                         |
| ------------ | ----------------------------------------------------------------------- |
| **Endpoint** | `https://api.runpod.ai/v2/black-forest-labs-flux-1-kontext-dev/runsync` |
| **Pricing**  | \$0.025 per image                                                       |
| **Type**     | Image editing                                                           |

## Request

All parameters are passed within the `input` object in the request body.

<ParamField body="input.prompt" type="string" required>
  Text instructions describing the desired edits to the image.
</ParamField>

<ParamField body="input.image" type="string" required>
  URL of the input image to edit.
</ParamField>

<ParamField body="input.negative_prompt" type="string">
  Elements to exclude from the edited image.
</ParamField>

<ParamField body="input.size" type="string" default="1024*1024">
  Output image size in format "width\*height".
</ParamField>

<ParamField body="input.num_inference_steps" type="integer" default="28">
  Number of denoising steps. Higher values produce more detailed edits. Range: 1-50.
</ParamField>

<ParamField body="input.guidance" type="float" default="2">
  How closely to follow the prompt. Range: 0.0-10.0.
</ParamField>

<ParamField body="input.seed" type="integer" default="-1">
  Seed for reproducible results. Set to -1 for random.
</ParamField>

<ParamField body="input.output_format" type="string" default="png">
  Output image format. Accepts `png` or `jpeg`.
</ParamField>

<ParamField body="input.enable_safety_checker" type="boolean" default="true">
  Whether to run safety checks on the output.
</ParamField>

<RequestExample>
  ```bash cURL theme={"theme":{"light":"github-light","dark":"github-dark"}}
  curl -X POST "https://api.runpod.ai/v2/black-forest-labs-flux-1-kontext-dev/runsync" \
    -H "Authorization: Bearer $RUNPOD_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "input": {
        "prompt": "Exact same bluebird, same angle and posture, now perched on a cloud in outer space",
        "image": "https://example.com/bluebird.png",
        "negative_prompt": "",
        "seed": -1,
        "num_inference_steps": 28,
        "guidance": 2,
        "size": "1024*1024",
        "output_format": "png",
        "enable_safety_checker": true
      }
    }'
  ```

  ```python Python theme={"theme":{"light":"github-light","dark":"github-dark"}}
  import requests

  response = requests.post(
      "https://api.runpod.ai/v2/black-forest-labs-flux-1-kontext-dev/runsync",
      headers={
          "Authorization": f"Bearer {RUNPOD_API_KEY}",
          "Content-Type": "application/json",
      },
      json={
          "input": {
              "prompt": "Exact same bluebird, same angle and posture, now perched on a cloud in outer space",
              "image": "https://example.com/bluebird.png",
              "negative_prompt": "",
              "seed": -1,
              "num_inference_steps": 28,
              "guidance": 2,
              "size": "1024*1024",
              "output_format": "png",
              "enable_safety_checker": True,
          }
      },
  )

  result = response.json()
  print(result["output"]["image_url"])
  ```

  ```javascript JavaScript theme={"theme":{"light":"github-light","dark":"github-dark"}}
  const response = await fetch(
    "https://api.runpod.ai/v2/black-forest-labs-flux-1-kontext-dev/runsync",
    {
      method: "POST",
      headers: {
        Authorization: `Bearer ${RUNPOD_API_KEY}`,
        "Content-Type": "application/json",
      },
      body: JSON.stringify({
        input: {
          prompt:
            "Exact same bluebird, same angle and posture, now perched on a cloud in outer space",
          image: "https://example.com/bluebird.png",
          negative_prompt: "",
          seed: -1,
          num_inference_steps: 28,
          guidance: 2,
          size: "1024*1024",
          output_format: "png",
          enable_safety_checker: true,
        },
      }),
    }
  );

  const result = await response.json();
  console.log(result.output.image_url);
  ```
</RequestExample>

## Response

<ResponseField name="id" type="string">
  Unique identifier for the request.
</ResponseField>

<ResponseField name="status" type="string">
  Request status. Returns `COMPLETED` on success, `FAILED` on error.
</ResponseField>

<ResponseField name="delayTime" type="integer">
  Time in milliseconds the request spent in queue before processing began.
</ResponseField>

<ResponseField name="executionTime" type="integer">
  Time in milliseconds the model took to edit the image.
</ResponseField>

<ResponseField name="workerId" type="string">
  Identifier of the worker that processed the request.
</ResponseField>

<ResponseField name="output" type="object">
  The generation result containing the image URL and cost.

  <ResponseField name="output.image_url" type="string">
    URL of the edited image. This URL expires after 7 days.
  </ResponseField>

  <ResponseField name="output.cost" type="float">
    Cost of the generation in USD, calculated based on the output megapixels.
  </ResponseField>
</ResponseField>

<ResponseExample>
  ```json 200 theme={"theme":{"light":"github-light","dark":"github-dark"}}
  {
    "id": "sync-a1b2c3d4-e5f6-7890-abcd-ef1234567890-u1",
    "status": "COMPLETED",
    "delayTime": 18,
    "executionTime": 4521,
    "workerId": "oqk7ao1uomckye",
    "output": {
      "image_url": "https://image.runpod.ai/abc123/output.png",
      "cost": 0.031457
    }
  }
  ```

  ```json 400 theme={"theme":{"light":"github-light","dark":"github-dark"}}
  {
    "id": "sync-a1b2c3d4-e5f6-7890-abcd-ef1234567890-u1",
    "status": "FAILED",
    "error": "Invalid image URL"
  }
  ```
</ResponseExample>

<Warning>
  Image URLs expire after 7 days. Download and store edited images immediately if you need to keep them.
</Warning>

## Cost calculation

Flux Kontext Dev charges \$0.025 per image edited.
