Dedalus Labs Images API

The Images API from Dedalus Labs — 3 operation(s) for images.

OpenAPI Specification

dedaluslabs-images-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Dedalus Audio Images API
  description: 'MCP gateway for AI agents. Mix-and-match any model with any tool from our marketplace.


    ## Authentication

    Use Bearer token or X-API-Key header authentication:

    ```

    Authorization: Bearer your-api-key-here

    ```

    ```

    x-api-key: your-api-key-here

    ```


    ## Available Endpoints

    - **GET /v1/models**: list available models

    - **POST /v1/chat/completions**: Chat completions with MCP tools

    - **GET /health**: Service health check'
  version: 0.0.1
servers:
- url: https://api.dedaluslabs.ai
  description: Official Dedalus API
tags:
- name: Images
paths:
  /v1/images/generations:
    post:
      tags:
      - Images
      summary: Create Image
      description: 'Generate images from text prompts.


        Pure image generation models only (DALL-E, GPT Image).

        For multimodal models like gemini-2.5-flash-image, use /v1/chat/completions.'
      operationId: create_image_v1_images_generations_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImageGenerateRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImagesResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - Bearer: []
      x-codeSamples:
      - lang: typescript
        label: Typescript
        source: 'const client = new Dedalus();


          const result = await client.images.generate({ ...params });'
      - lang: python
        label: Python
        source: 'client = Dedalus()


          result = client.images.generate(**params)'
      - lang: go
        label: Go
        source: 'client := dedalus.NewClient()


          result, err := client.Images.Generate(ctx, body githubcomdedaluslabsdedalussdkgo.ImageGenerateParams)'
  /v1/images/edits:
    post:
      tags:
      - Images
      summary: Edit Image
      description: 'Edit images using inpainting.


        Supports dall-e-2 and gpt-image-1. Upload an image and optionally a mask

        to indicate which areas to regenerate based on the prompt.'
      operationId: edit_image_v1_images_edits_post
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_edit_image_v1_images_edits_post'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImagesResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - Bearer: []
      x-codeSamples:
      - lang: typescript
        label: Typescript
        source: 'const client = new Dedalus();


          const result = await client.images.edit({ ...params });'
      - lang: python
        label: Python
        source: 'client = Dedalus()


          result = client.images.edit(**params)'
      - lang: go
        label: Go
        source: 'client := dedalus.NewClient()


          result, err := client.Images.Edit(ctx, body githubcomdedaluslabsdedalussdkgo.ImageEditParams)'
  /v1/images/variations:
    post:
      tags:
      - Images
      summary: Create Variation
      description: 'Create variations of an image.


        DALL·E 2 only. Upload an image to generate variations.'
      operationId: create_variation_v1_images_variations_post
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_create_variation_v1_images_variations_post'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImagesResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - Bearer: []
      x-codeSamples:
      - lang: typescript
        label: Typescript
        source: 'const client = new Dedalus();


          const result = await client.images.createVariation({ ...params });'
      - lang: python
        label: Python
        source: 'client = Dedalus()


          result = client.images.create_variation(**params)'
      - lang: go
        label: Go
        source: 'client := dedalus.NewClient()


          result, err := client.Images.NewVariation(ctx, body githubcomdedaluslabsdedalussdkgo.ImageNewVariationParams)'
components:
  schemas:
    Body_create_variation_v1_images_variations_post:
      properties:
        image:
          type: string
          format: binary
          title: Image
        model:
          anyOf:
          - type: string
          - type: 'null'
          title: Model
          default: openai/dall-e-2
        n:
          anyOf:
          - type: integer
          - type: 'null'
          title: N
          default: 1
        size:
          anyOf:
          - type: string
          - type: 'null'
          title: Size
          default: 1024x1024
        response_format:
          anyOf:
          - type: string
          - type: 'null'
          title: Response Format
          default: url
        user:
          anyOf:
          - type: string
          - type: 'null'
          title: User
      type: object
      required:
      - image
      title: Body_create_variation_v1_images_variations_post
    ImagesResponse:
      properties:
        created:
          type: integer
          title: Created
          description: Unix timestamp when images were created
        data:
          items:
            $ref: '#/components/schemas/Image'
          type: array
          title: Data
          description: List of generated images
      type: object
      required:
      - created
      - data
      title: ImagesResponse
      description: Response from image generation.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    Image:
      properties:
        url:
          anyOf:
          - type: string
          - type: 'null'
          title: Url
          description: URL of the generated image (if response_format=url)
        b64_json:
          anyOf:
          - type: string
          - type: 'null'
          title: B64 Json
          description: Base64-encoded image data (if response_format=b64_json)
        revised_prompt:
          anyOf:
          - type: string
          - type: 'null'
          title: Revised Prompt
          description: Revised prompt used for generation (dall-e-3)
      type: object
      title: Image
      description: Single image object.
    ImageGenerateRequest:
      properties:
        prompt:
          type: string
          title: Prompt
          description: A text description of the desired image(s). The maximum length is 32000 characters for `gpt-image-1`, 1000 characters for `dall-e-2` and 4000 characters for `dall-e-3`.
          examples:
          - A white siamese cat
        model:
          anyOf:
          - type: string
          - type: 'null'
          title: Model
          description: The model to use for image generation. One of `openai/dall-e-2`, `openai/dall-e-3`, or `openai/gpt-image-1`. Defaults to `openai/dall-e-2` unless a parameter specific to `gpt-image-1` is used.
          examples:
          - openai/dall-e-3
          - openai/dall-e-2
          - openai/gpt-image-1
        n:
          anyOf:
          - type: integer
            maximum: 10
            minimum: 1
          - type: 'null'
          title: N
          description: The number of images to generate. Must be between 1 and 10. For `dall-e-3`, only `n=1` is supported.
          examples:
          - 1
          - 4
        quality:
          anyOf:
          - type: string
            enum:
            - auto
            - high
            - medium
            - low
            - hd
            - standard
          - type: 'null'
          title: Quality
          description: 'The quality of the image that will be generated.


            - `auto` (default value) will automatically select the best quality for the given model.

            - `high`, `medium` and `low` are supported for `gpt-image-1`.

            - `hd` and `standard` are supported for `dall-e-3`.

            - `standard` is the only option for `dall-e-2`.'
          examples:
          - standard
          - hd
          - high
        response_format:
          anyOf:
          - type: string
            enum:
            - url
            - b64_json
          - type: 'null'
          title: Response Format
          description: The format in which generated images with `dall-e-2` and `dall-e-3` are returned. Must be one of `url` or `b64_json`. URLs are only valid for 60 minutes after the image has been generated. This parameter isn't supported for `gpt-image-1` which will always return base64-encoded images.
          examples:
          - url
          - b64_json
        output_format:
          anyOf:
          - type: string
            enum:
            - png
            - jpeg
            - webp
          - type: 'null'
          title: Output Format
          description: The format in which the generated images are returned. This parameter is only supported for `gpt-image-1`. Must be one of `png`, `jpeg`, or `webp`.
          examples:
          - png
          - webp
        output_compression:
          anyOf:
          - type: integer
            maximum: 100
            minimum: 0
          - type: 'null'
          title: Output Compression
          description: The compression level (0-100%) for the generated images. This parameter is only supported for `gpt-image-1` with the `webp` or `jpeg` output formats, and defaults to 100.
          examples:
          - 85
          - 100
        stream:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Stream
          description: 'Generate the image in streaming mode. Defaults to `false`. See the

            [Image generation guide](https://platform.openai.com/docs/guides/image-generation) for more information.

            This parameter is only supported for `gpt-image-1`.'
          examples:
          - true
          - false
        partial_images:
          anyOf:
          - type: integer
            maximum: 3
            minimum: 0
          - type: 'null'
          title: Partial Images
          description: 'The number of partial images to generate. This parameter is used for

            streaming responses that return partial images. Value must be between 0 and 3.

            When set to 0, the response will be a single image sent in one streaming event.


            Note that the final image may be sent before the full number of partial images

            are generated if the full image is generated more quickly.'
          examples:
          - 0
          - 2
        size:
          anyOf:
          - type: string
            enum:
            - 256x256
            - 512x512
            - 1024x1024
            - 1536x1024
            - 1024x1536
            - 1792x1024
            - 1024x1792
            - auto
          - type: 'null'
          title: Size
          description: The size of the generated images. Must be one of `1024x1024`, `1536x1024` (landscape), `1024x1536` (portrait), or `auto` (default value) for `gpt-image-1`, one of `256x256`, `512x512`, or `1024x1024` for `dall-e-2`, and one of `1024x1024`, `1792x1024`, or `1024x1792` for `dall-e-3`.
          examples:
          - 1024x1024
          - 1792x1024
          - auto
        moderation:
          anyOf:
          - type: string
            enum:
            - low
            - auto
          - type: 'null'
          title: Moderation
          description: Control the content-moderation level for images generated by `gpt-image-1`. Must be either `low` for less restrictive filtering or `auto` (default value).
          examples:
          - auto
          - low
        background:
          anyOf:
          - type: string
            enum:
            - transparent
            - opaque
            - auto
          - type: 'null'
          title: Background
          description: 'Allows to set transparency for the background of the generated image(s).

            This parameter is only supported for `gpt-image-1`. Must be one of

            `transparent`, `opaque` or `auto` (default value). When `auto` is used, the

            model will automatically determine the best background for the image.


            If `transparent`, the output format needs to support transparency, so it

            should be set to either `png` (default value) or `webp`.'
          examples:
          - transparent
          - opaque
          - auto
        style:
          anyOf:
          - type: string
            enum:
            - vivid
            - natural
          - type: 'null'
          title: Style
          description: The style of the generated images. This parameter is only supported for `dall-e-3`. Must be one of `vivid` or `natural`. Vivid causes the model to lean towards generating hyper-real and dramatic images. Natural causes the model to produce more natural, less hyper-real looking images.
          examples:
          - vivid
          - natural
        user:
          anyOf:
          - type: string
          - type: 'null'
          title: User
          description: A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse. [Learn more](https://platform.openai.com/docs/guides/safety-best-practices#end-user-ids).
      type: object
      required:
      - prompt
      title: ImageGenerateRequest
      description: Request to generate images.
    Body_edit_image_v1_images_edits_post:
      properties:
        image:
          type: string
          format: binary
          title: Image
        prompt:
          type: string
          title: Prompt
        mask:
          anyOf:
          - type: string
            format: binary
          - type: 'null'
          title: Mask
        model:
          anyOf:
          - type: string
          - type: 'null'
          title: Model
          default: openai/dall-e-2
        n:
          anyOf:
          - type: integer
          - type: 'null'
          title: N
          default: 1
        size:
          anyOf:
          - type: string
          - type: 'null'
          title: Size
          default: 1024x1024
        response_format:
          anyOf:
          - type: string
          - type: 'null'
          title: Response Format
          default: url
        user:
          anyOf:
          - type: string
          - type: 'null'
          title: User
      type: object
      required:
      - image
      - prompt
      title: Body_edit_image_v1_images_edits_post
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer