> ## 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.

# Container Image Edits

> Edit images with text prompts using Friendli Container. Upload an image and describe desired modifications to the self-hosted model on your GPUs.

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


## OpenAPI

````yaml https://github.com/friendliai/friendli-openapi/raw/refs/heads/main/openapi.yaml post /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:
  /v1/images/edits:
    servers:
      - url: http://localhost:8000
    post:
      tags:
        - Container.Image
      summary: Image edits
      description: Given an image and a description, the model edits the image.
      operationId: containerImagesEdit
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContainerImageEditBody'
        required: true
      responses:
        '200':
          description: Successfully edited image.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContainerImageEditSuccess'
              examples:
                Example:
                  value:
                    image: <base64 encoded image>
        '422':
          description: Unprocessable Entity
components:
  schemas:
    ContainerImageEditBody:
      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.
        model:
          anyOf:
            - type: string
            - type: 'null'
          title: Model
          description: Routes the request to a specific adapter.
          examples:
            - (adapter-route)
        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:
          type: number
          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. Defaults to 0. This parameter may be irrelevant for certain
            models, such as `FLUX.Schnell`.
          default: 0
        seed:
          anyOf:
            - type: integer
            - type: 'null'
          title: Seed
          description: The seed to use for image generation.
        response_format:
          anyOf:
            - type: string
              enum:
                - raw
                - jpeg
            - type: 'null'
          title: Response Format
          description: >-
            The format in which the generated image will be returned. One of
            `raw` and `jpeg`.
          default: jpeg
      type: object
      required:
        - image
        - prompt
      title: ContainerImageEditBody
      example:
        guidance_scale: 0
        image: '@/path/to/file/image.png'
        num_inference_steps: 20
        prompt: Add a red sports car in the foreground.
    ContainerImageEditSuccess:
      $ref: '#/components/schemas/ImageGenerationContainerResult'
      title: ContainerImageEditSuccess
    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
    ImageGenerationContainerResult:
      properties:
        image:
          type: string
          format: binary
          title: Image
          description: The base64-encoded image.
      type: object
      required:
        - image
      title: ImageGenerationContainerResult

````