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

# Dedicated Image Edits

> Edit images with text prompts using your Friendli Dedicated Endpoint. Upload an image and describe the desired modifications for the model to apply.

Given an image and a description, the model edits the image.

To request successfully, it is mandatory to enter a **Personal API Key** (e.g. flp\_XXX) value in the **Bearer Token** field.
Refer to the [authentication section](/openapi/introduction#authentication) on our introduction page to learn how to acquire this variable and [visit here](https://friendli.ai/suite/~/setting/keys) to generate your API Key.


## OpenAPI

````yaml https://github.com/friendliai/friendli-openapi/raw/refs/heads/main/openapi.yaml post /dedicated/v1/images/edits
openapi: 3.1.0
info:
  title: Friendli Suite API Reference
  description: This is an OpenAPI reference of Friendli Suite API.
  termsOfService: https://friendli.ai/terms-of-service
  contact:
    name: FriendliAI Support Team
    email: support@friendli.ai
  version: 0.1.0
servers:
  - url: https://api.friendli.ai
security: []
tags:
  - name: Serverless.Chat
  - name: Serverless.ToolAssistedChat
  - name: Serverless.Messages
  - name: Serverless.ChatRender
  - name: Serverless.Completions
  - name: Serverless.Token
  - name: Serverless.Audio
  - name: Serverless.Model
  - name: Serverless.Knowledge
  - name: Dedicated.Chat
  - name: Dedicated.Messages
  - name: Dedicated.ChatRender
  - name: Dedicated.Completions
  - name: Dedicated.Embeddings
  - name: Dedicated.TextClassification
  - name: Dedicated.Token
  - name: Dedicated.Image
  - name: Dedicated.Audio
  - name: Dedicated.Endpoint
  - name: Container.Chat
  - name: Container.Messages
  - name: Container.Completions
  - name: Container.TextClassification
  - name: Container.Token
  - name: Container.Image
  - name: Container.Audio
  - name: Cost
  - name: Dataset
  - name: File
paths:
  /dedicated/v1/images/edits:
    post:
      tags:
        - Dedicated.Image
      summary: Image edits
      description: Given an image and a description, the model edits the image.
      operationId: dedicatedImagesEdit
      parameters:
        - name: X-Friendli-Team
          in: header
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: ID of team to run requests as (optional parameter).
            title: X-Friendli-Team
          description: ID of team to run requests as (optional parameter).
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DedicatedImageEditBody'
      responses:
        '200':
          description: Successfully edited image(s).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DedicatedImageEditSuccess'
              examples:
                Example:
                  value:
                    data:
                      - url: (url-to-edited-image)
                        seed: 789
                        response_format: url
        '422':
          description: Unprocessable Entity
      security:
        - token: []
components:
  schemas:
    DedicatedImageEditBody:
      properties:
        image:
          anyOf:
            - $ref: '#/components/schemas/ImageInput'
            - items:
                $ref: '#/components/schemas/ImageInput'
              type: array
          title: Image
          description: The image(s) to edit. Must be in a supported image format.
        prompt:
          type: string
          title: Prompt
          description: A text description of the desired image(s).
        model:
          type: string
          title: Model
          description: >-
            ID of target endpoint. If you want to send request to specific
            adapter, use the format "YOUR_ENDPOINT_ID:YOUR_ADAPTER_ROUTE".
            Otherwise, you can just use "YOUR_ENDPOINT_ID" alone.
          examples:
            - (endpoint-id)
        num_inference_steps:
          type: integer
          title: Num Inference Steps
          description: >-
            The number of inference steps to use during image generation.
            Defaults to 20. Supported range: [1, 50].
          default: 20
        guidance_scale:
          anyOf:
            - type: number
            - type: 'null'
          title: Guidance Scale
          description: >-
            Adjusts the alignment of the generated image with the input prompt.
            Higher values (e.g., 8-10) make the output more faithful to the
            prompt, while lower values (e.g., 1-5) encourage more creative
            freedom. This parameter may be irrelevant for certain models, such
            as `FLUX.Schnell`.
        seed:
          anyOf:
            - type: integer
            - type: 'null'
          title: Seed
          description: The seed to use for image generation.
        response_format:
          anyOf:
            - type: string
              enum:
                - url
                - raw
                - png
                - jpeg
                - jpg
            - type: 'null'
          title: Response Format
          description: >-
            The format in which the generated image(s) will be returned. One of
            `url(default)`, `raw`, `png`, `jpeg`, and `jpg`.
          default: url
      type: object
      required:
        - image
        - prompt
        - model
      title: DedicatedImageEditBody
      example:
        guidance_scale: 0
        image: '@/path/to/file/image.png'
        model: (endpoint-id)
        num_inference_steps: 20
        prompt: Add a red sports car in the foreground.
    DedicatedImageEditSuccess:
      $ref: '#/components/schemas/ImageGenerationDedicatedResult'
      title: DedicatedImageEditSuccess
    ImageInput:
      properties:
        image:
          type: string
          title: Image
          description: >-
            An input image, provided either as a URL or a base64-encoded string.
            Maximum supported image size is 50 MiB.
          examples:
            - >-
              https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/cat.png
            - data:image/png;base64,...
      type: object
      required:
        - image
      title: ImageInput
    ImageGenerationDedicatedResult:
      properties:
        data:
          anyOf:
            - items:
                $ref: '#/components/schemas/UrlImageItem'
              type: array
            - items:
                $ref: '#/components/schemas/B64ImageItem'
              type: array
          title: Data
      type: object
      required:
        - data
      title: ImageGenerationDedicatedResult
    UrlImageItem:
      properties:
        seed:
          type: integer
          title: Seed
          description: The seed used during image generation.
        response_format:
          type: string
          enum:
            - url
            - raw
            - png
            - jpeg
            - jpg
          title: Response Format
          description: >-
            The format of the generated image. One of `url(default)`, `raw`,
            `png`, `jpeg`, and `jpg`.
        url:
          type: string
          title: Url
          description: The URL of the generated image.
      type: object
      required:
        - seed
        - response_format
        - url
      title: UrlImageItem
    B64ImageItem:
      properties:
        seed:
          type: integer
          title: Seed
          description: The seed used during image generation.
        response_format:
          type: string
          enum:
            - url
            - raw
            - png
            - jpeg
            - jpg
          title: Response Format
          description: >-
            The format of the generated image. One of `url(default)`, `raw`,
            `png`, `jpeg`, and `jpg`.
        b64_json:
          type: string
          format: binary
          title: B64 Json
          description: The base64-encoded JSON of the generated image.
      type: object
      required:
        - seed
        - response_format
        - b64_json
      title: B64ImageItem
  securitySchemes:
    token:
      type: http
      description: >-
        When using Friendli Suite API for inference requests, you need to
        provide a **Personal API Key** for authentication and authorization
        purposes.


        For more detailed information, please refer
        [here](https://friendli.ai/docs/openapi/introduction#authentication).
      scheme: bearer

````