Leonardo.AI Image API

The Image API from Leonardo.AI — 3 operation(s) for image.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

leonardo-ai-image-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Leonardo.AI 3D Model Assets Image API
  description: Upload, retrieve, and delete 3D model assets for use with Rodin and other 3D-capable workflows.
  version: v1.0.0
  contact:
    name: Leonardo.AI Support
    url: https://docs.leonardo.ai/docs/need-more-support
  license:
    name: Leonardo.AI Terms of Service
    url: https://leonardo.ai/terms-of-service/
servers:
- url: https://cloud.leonardo.ai/api/rest/v1
  description: Leonardo.AI Production API
security:
- bearerAuth: []
tags:
- name: Image
paths:
  /generations:
    post:
      tags:
      - Image
      summary: Create a Generation of Images
      description: This endpoint will generate images
      operationId: createGeneration
      requestBody:
        content:
          application/json:
            schema:
              properties:
                alchemy:
                  nullable: true
                  title: Boolean
                  type: boolean
                  description: 'Enable to use Alchemy. Note: The appropriate Alchemy version is selected for the specified model. For example, XL models will use Alchemy V2.'
                  default: true
                contrastRatio:
                  nullable: true
                  title: Float
                  type: number
                  description: Contrast Ratio to use with Alchemy. Must be a float between 0 and 1 inclusive.
                contrast:
                  type: number
                  description: Adjusts the contrast level of the generated image. Used in Phoenix and Flux models. Accepts values [1.0, 1.3, 1.8, 2.5, 3, 3.5, 4, 4.5]. For Phoenix, if alchemy is true, contrast needs to be 2.5 or higher.
                  minimum: 1
                  maximum: 4.5
                  example: 3.5
                  nullable: true
                  title: Float
                controlnets:
                  items:
                    $ref: '#/components/schemas/controlnet_input'
                  nullable: true
                  type: array
                elements:
                  items:
                    $ref: '#/components/schemas/element_input'
                  nullable: true
                  type: array
                userElements:
                  items:
                    $ref: '#/components/schemas/user_elements_input'
                  nullable: true
                  type: array
                expandedDomain:
                  nullable: true
                  title: Boolean
                  type: boolean
                  description: Enable to use the Expanded Domain feature of Alchemy.
                fantasyAvatar:
                  nullable: true
                  title: Boolean
                  type: boolean
                  description: Enable to use the Fantasy Avatar feature.
                guidance_scale:
                  nullable: true
                  title: Float
                  type: number
                  description: How strongly the generation should reflect the prompt. 7 is recommended. Must be between 1 and 20.
                height:
                  nullable: true
                  title: Int
                  type: integer
                  description: 'The input height of the images. Must be between 32 and 1536 and be a multiple of 8. Note: Input resolution is not always the same as output resolution due to upscaling from other features.'
                  default: 768
                highContrast:
                  nullable: true
                  title: Boolean
                  type: boolean
                  description: 'Enable to use the High Contrast feature of Prompt Magic. Note: Controls RAW mode. Set to false to enable RAW mode.'
                highResolution:
                  nullable: true
                  title: Boolean
                  type: boolean
                  description: Enable to use the High Resolution feature of Prompt Magic.
                imagePrompts:
                  items:
                    nullable: true
                    title: String
                    type: string
                  nullable: true
                  type: array
                imagePromptWeight:
                  nullable: true
                  title: Float
                  type: number
                init_generation_image_id:
                  nullable: true
                  title: String
                  type: string
                  description: The ID of an existing image to use in image2image.
                init_image_id:
                  nullable: true
                  title: String
                  type: string
                  description: The ID of an Init Image to use in image2image.
                init_strength:
                  nullable: true
                  title: Float
                  type: number
                  description: How strongly the generated images should reflect the original image in image2image. Must be a float between 0.1 and 0.9.
                modelId:
                  nullable: true
                  title: String
                  type: string
                  description: The model ID used for image generation. If not provided, uses sd_version to determine the version of Stable Diffusion to use. In-app, model IDs are under the Finetune Models menu. Click on the platform model or your custom model, then click View More. For platform models, you can also use the List Platform Models API.
                  default: b24e16ff-06e3-43eb-8d33-4416c2d75876
                negative_prompt:
                  nullable: true
                  title: String
                  type: string
                  description: The negative prompt used for the image generation
                num_images:
                  nullable: true
                  title: Int
                  type: integer
                  description: The number of images to generate. Must be between 1 and 8. If either width or height is over 768, must be between 1 and 4.
                  default: 4
                num_inference_steps:
                  nullable: true
                  title: Int
                  type: integer
                  description: The Step Count to use for the generation. Must be between 10 and 60. Default is 15.
                photoReal:
                  $ref: '#/components/schemas/photoRealArg'
                photoRealVersion:
                  $ref: '#/components/schemas/photoRealVersion'
                photoRealStrength:
                  $ref: '#/components/schemas/photoRealStrengthArg'
                presetStyle:
                  $ref: '#/components/schemas/sd_generation_style'
                prompt:
                  nullable: false
                  title: String
                  type: string
                  description: The prompt used to generate images
                  default: A majestic cat in the snow
                promptMagic:
                  $ref: '#/components/schemas/promptMagicArg'
                promptMagicStrength:
                  $ref: '#/components/schemas/promptMagicStrengthArg'
                promptMagicVersion:
                  $ref: '#/components/schemas/promptMagicVersionArg'
                public:
                  nullable: true
                  title: Boolean
                  type: boolean
                  description: Whether the generated images should show in the community feed.
                scheduler:
                  $ref: '#/components/schemas/sd_generation_schedulers'
                sd_version:
                  $ref: '#/components/schemas/sd_versions'
                seed:
                  $ref: '#/components/schemas/seed'
                tiling:
                  nullable: true
                  title: Boolean
                  type: boolean
                  description: Whether the generated images should tile on all axis.
                transparency:
                  nullable: true
                  title: TransparencyType
                  type: string
                  enum:
                  - disabled
                  - foreground_only
                  description: Which type of transparency this image should use
                ultra:
                  nullable: true
                  title: Boolean
                  type: boolean
                  description: 'Enable to use Ultra mode. Note: can not be used with Alchemy.'
                unzoom:
                  nullable: true
                  title: Boolean
                  type: boolean
                  description: Whether the generated images should be unzoomed (requires unzoomAmount and init_image_id to be set).
                unzoomAmount:
                  nullable: true
                  title: Float
                  type: number
                  description: How much the image should be unzoomed (requires an init_image_id and unzoom to be set to true).
                upscaleRatio:
                  nullable: true
                  title: Float
                  type: number
                  description: How much the image should be upscaled. (Enterprise Only)
                width:
                  nullable: true
                  title: Int
                  type: integer
                  description: 'The input width of the images. Must be between 32 and 1536 and be a multiple of 8. Note: Input resolution is not always the same as output resolution due to upscaling from other features.'
                  default: 1024
                controlNet:
                  nullable: true
                  title: Boolean
                  type: boolean
                  description: This parameter will be deprecated in September 2024. Please use the controlnets array instead.
                  deprecated: true
                controlNetType:
                  $ref: '#/components/schemas/controlnet_type'
                  deprecated: true
                weighting:
                  nullable: true
                  title: Float
                  type: number
                  description: This parameter will be deprecated in September 2024. Please use the controlnets array instead.
                  deprecated: true
                canvasRequest:
                  nullable: true
                  title: Boolean
                  type: boolean
                  description: Whether the generation is for the Canvas Editor feature.
                canvasRequestType:
                  $ref: '#/components/schemas/canvasRequestType'
                canvasInitId:
                  nullable: true
                  title: String
                  type: string
                  description: The ID of an initial image to use in Canvas Editor request.
                canvasMaskId:
                  nullable: true
                  title: String
                  type: string
                  description: The ID of a mask image to use in Canvas Editor request.
                enhancePrompt:
                  nullable: true
                  title: Boolean
                  type: boolean
                  description: When enabled, your prompt is expanded to include more detail.
                enhancePromptInstruction:
                  nullable: true
                  title: String
                  type: string
                  description: When enhancePrompt is enabled, the prompt is enhanced based on the given instructions.
              type: object
              required:
              - prompt
        description: Query parameters to be provided in the request body as a JSON object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  sdGenerationJob:
                    nullable: true
                    properties:
                      generationId:
                        nullable: false
                        title: String
                        type: string
                      apiCreditCost:
                        nullable: true
                        type: integer
                        description: 'API Credits Cost for Image Generation. Available for Production API Users. Note: it will be deprecated. Please use the cost instead.'
                        deprecated: true
                      cost:
                        $ref: '#/components/schemas/cost'
                    title: SDGenerationOutput
                    type: object
              example:
                sdGenerationJob:
                  generationId: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                  apiCreditCost: null
                  cost:
                    amount: '0.0147'
                    unit: DOLLARS
          description: Responses for POST /generations
  /generations/{id}:
    get:
      tags:
      - Image
      summary: Get a Single Generation
      description: This endpoint will provide information about a specific generation
      operationId: getGenerationById
      parameters:
      - required: true
        description: The ID of the generation to return.
        in: path
        name: id
        schema:
          pattern: '[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}'
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  generations_by_pk:
                    description: columns and relationships of "generations"
                    nullable: true
                    properties:
                      createdAt:
                        $ref: '#/components/schemas/timestamp'
                      generated_images:
                        items:
                          description: columns and relationships of "generated_images"
                          nullable: false
                          properties:
                            generated_image_variation_generics:
                              items:
                                description: columns and relationships of "generated_image_variation_generic"
                                nullable: false
                                properties:
                                  id:
                                    $ref: '#/components/schemas/uuid'
                                  status:
                                    $ref: '#/components/schemas/job_status'
                                  transformType:
                                    $ref: '#/components/schemas/VARIATION_TYPE'
                                  url:
                                    nullable: true
                                    title: String
                                    type: string
                                title: generated_image_variation_generic
                                type: object
                              nullable: false
                              type: array
                            fantasyAvatar:
                              nullable: true
                              title: Boolean
                              type: boolean
                              description: If fantasyAvatar feature was used.
                            id:
                              $ref: '#/components/schemas/uuid'
                            imageToVideo:
                              $ref: '#/components/schemas/imageToVideo'
                            likeCount:
                              nullable: false
                              title: Int
                              type: integer
                            motion:
                              $ref: '#/components/schemas/motion'
                            motionModel:
                              $ref: '#/components/schemas/motionModel'
                            motionMP4URL:
                              $ref: '#/components/schemas/motionMP4URL'
                            motionStrength:
                              $ref: '#/components/schemas/motionStrength'
                            nsfw:
                              nullable: false
                              title: Boolean
                              type: boolean
                            url:
                              nullable: false
                              title: String
                              type: string
                          title: generated_images
                          type: object
                        nullable: false
                        type: array
                      generation_elements:
                        items:
                          description: This table captures the elements that are applied to Generations.
                          nullable: false
                          properties:
                            id:
                              $ref: '#/components/schemas/bigint'
                            lora:
                              description: Element used for the generation.
                              nullable: true
                              properties:
                                akUUID:
                                  $ref: '#/components/schemas/lora/properties/akUUID'
                                baseModel:
                                  $ref: '#/components/schemas/sd_versions'
                                description:
                                  $ref: '#/components/schemas/lora/properties/description'
                                name:
                                  $ref: '#/components/schemas/lora/properties/name'
                                urlImage:
                                  $ref: '#/components/schemas/lora/properties/urlImage'
                                weightDefault:
                                  $ref: '#/components/schemas/lora/properties/weightDefault'
                                weightMax:
                                  $ref: '#/components/schemas/lora/properties/weightMax'
                                weightMin:
                                  $ref: '#/components/schemas/lora/properties/weightMin'
                              title: loras
                              type: object
                            weightApplied:
                              $ref: '#/components/schemas/numeric'
                          title: generation_elements
                          type: object
                        nullable: false
                        type: array
                      guidanceScale:
                        $ref: '#/components/schemas/float8'
                      id:
                        $ref: '#/components/schemas/uuid'
                      imageHeight:
                        nullable: false
                        title: Int
                        type: integer
                      imageWidth:
                        nullable: false
                        title: Int
                        type: integer
                      inferenceSteps:
                        nullable: true
                        title: Int
                        type: integer
                      initStrength:
                        $ref: '#/components/schemas/float8'
                      modelId:
                        $ref: '#/components/schemas/uuid'
                      negativePrompt:
                        nullable: true
                        title: String
                        type: string
                      photoReal:
                        $ref: '#/components/schemas/photoRealRes'
                      photoRealStrength:
                        $ref: '#/components/schemas/photoRealStrengthRes'
                      presetStyle:
                        $ref: '#/components/schemas/sd_generation_style'
                      prompt:
                        nullable: false
                        title: String
                        type: string
                      promptMagic:
                        $ref: '#/components/schemas/promptMagicRes'
                      promptMagicStrength:
                        $ref: '#/components/schemas/promptMagicStrengthRes'
                      promptMagicVersion:
                        $ref: '#/components/schemas/promptMagicVersionRes'
                      public:
                        nullable: false
                        title: Boolean
                        type: boolean
                      scheduler:
                        $ref: '#/components/schemas/sd_generation_schedulers'
                      sdVersion:
                        $ref: '#/components/schemas/sd_versions'
                      seed:
                        $ref: '#/components/schemas/seed'
                      status:
                        $ref: '#/components/schemas/job_status'
                      ultra:
                        $ref: '#/components/schemas/sd_generation_ultra'
                    title: generations
                    type: object
          description: Responses for GET /generations/{id}
    delete:
      tags:
      - Image
      summary: Delete a Single Generation
      description: This endpoint deletes a specific generation
      operationId: deleteGenerationById
      parameters:
      - required: true
        description: The ID of the generation to delete.
        in: path
        name: id
        schema:
          pattern: '[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}'
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  delete_generations_by_pk:
                    description: columns and relationships of "generations"
                    nullable: true
                    properties:
                      id:
                        $ref: '#/components/schemas/uuid'
                    title: generations
                    type: object
          description: Responses for DELETE /generations/{id}
  /generations/user/{userId}:
    get:
      tags:
      - Image
      summary: Get generations by user ID
      description: This endpoint returns all generations by a specific user
      operationId: getGenerationsByUserId
      parameters:
      - in: query
        name: offset
        schema:
          default: 0
          type: integer
      - in: query
        name: limit
        schema:
          default: 10
          type: integer
      - required: true
        in: path
        name: userId
        schema:
          pattern: '[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}'
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  generations:
                    items:
                      description: columns and relationships of "generations"
                      nullable: false
                      properties:
                        createdAt:
                          $ref: '#/components/schemas/timestamp'
                        generated_images:
                          items:
                            description: columns and relationships of "generated_images"
                            nullable: false
                            properties:
                              generated_image_variation_generics:
                                items:
                                  description: columns and relationships of "generated_image_variation_generic"
                                  nullable: false
                                  properties:
                                    id:
                                      $ref: '#/components/schemas/uuid'
                                    status:
                                      $ref: '#/components/schemas/job_status'
                                    transformType:
                                      $ref: '#/components/schemas/VARIATION_TYPE'
                                    url:
                                      nullable: true
                                      title: String
                                      type: string
                                  title: generated_image_variation_generic
                                  type: object
                                nullable: false
                                type: array
                              id:
                                $ref: '#/components/schemas/uuid'
                              imageToVideo:
                                $ref: '#/components/schemas/imageToVideo'
                              likeCount:
                                nullable: false
                                title: Int
                                type: integer
                              motion:
                                $ref: '#/components/schemas/motion'
                              motionModel:
                                $ref: '#/components/schemas/motionModel'
                              motionMP4URL:
                                $ref: '#/components/schemas/motionMP4URL'
                              motionStrength:
                                $ref: '#/components/schemas/motionStrength'
                              nsfw:
                                nullable: false
                                title: Boolean
                                type: boolean
                              url:
                                nullable: false
                                title: String
                                type: string
                            title: generated_images
                            type: object
                          nullable: false
                          type: array
                        generation_elements:
                          items:
                            description: This table captures the elements that are applied to a Generations, also the order and weightings used when applied.
                            nullable: false
                            properties:
                              id:
                                $ref: '#/components/schemas/bigint'
                              lora:
                                description: Element used for the generation.
                                nullable: true
                                properties:
                                  akUUID:
                                    $ref: '#/components/schemas/lora/properties/akUUID'
                                  baseModel:
                                    $ref: '#/components/schemas/sd_versions'
                                  description:
                                    $ref: '#/components/schemas/lora/properties/description'
                                  name:
                                    $ref: '#/components/schemas/lora/properties/name'
                                  urlImage:
                                    $ref: '#/components/schemas/lora/properties/urlImage'
                                  weightDefault:
                                    $ref: '#/components/schemas/lora/properties/weightDefault'
                                  weightMax:
                                    $ref: '#/components/schemas/lora/properties/weightMax'
                                  weightMin:
                                    $ref: '#/components/schemas/lora/properties/weightMin'
                                title: elements
                                type: object
                              weightApplied:
                                $ref: '#/components/schemas/numeric'
                            title: generation_elements
                            type: object
                          nullable: false
                          type: array
                        guidanceScale:
                          $ref: '#/components/schemas/float8'
                        id:
                          $ref: '#/components/schemas/uuid'
                        imageHeight:
                          nullable: false
                          title: Int
                          type: integer
                        imageWidth:
                          nullable: false
                          title: Int
                          type: integer
                        inferenceSteps:
                          nullable: true
                          title: Int
                          type: integer
                        initStrength:
                          $ref: '#/components/schemas/float8'
                        modelId:
                          $ref: '#/components/schemas/uuid'
                        negativePrompt:
                          nullable: true
                          title: String
                          type: string
                        photoReal:
                          $ref: '#/components/schemas/photoRealRes'
                        photoRealStrength:
                          $ref: '#/components/schemas/photoRealStrengthRes'
                        presetStyle:
                          $ref: '#/components/schemas/sd_generation_style'
                        prompt:
                          nullable: false
                          title: String
                          type: string
                        promptMagic:
                          $ref: '#/components/schemas/promptMagicRes'
                        promptMagicStrength:
                          $ref: '#/components/schemas/promptMagicStrengthRes'
                        promptMagicVersion:
                          $ref: '#/components/schemas/promptMagicVersionRes'
                        public:
                          nullable: false
                          title: Boolean
                          type: boolean
                        scheduler:
                          $ref: '#/components/schemas/sd_generation_schedulers'
                        sdVersion:
                          $ref: '#/components/schemas/sd_versions'
                        seed:
                          $ref: '#/components/schemas/seed'
                        status:
                          $ref: '#/components/schemas/job_status'
                        ultra:
                          $ref: '#/components/schemas/sd_generation_ultra'
                      title: generations
                      type: object
                    nullable: false
                    type: array
          description: Responses for GET /generations/user/{userId}
components:
  schemas:
    promptMagicRes:
      nullable: true
      title: Boolean
      type: boolean
      description: If prompt magic was used.
    lora:
      properties:
        description:
          nullable: true
          type: string
          description: Description for the element
        name:
          nullable: true
          type: string
          description: Name of the element
        urlImage:
          nullable: true
          type: string
          description: URL of the element image
        weightMin:
          nullable: true
          type: integer
          description: Minimum weight for the element
        akUUID:
          nullable: true
          type: string
          description: Unique identifier for the element. Elements can be found from the List Elements endpoint.
        weightDefault:
          nullable: true
          type: integer
          description: Default weight for the element
        weightMax:
          nullable: true
          type: integer
          description: Maximum weight for the element
    motion:
      nullable: true
      title: Boolean
      type: boolean
      description: If generation is of motion type.
    imageToVideo:
      nullable: true
      title: Boolean
      type: boolean
      description: If it is an image to video generation.
    VARIATION_TYPE:
      type: string
      nullable: false
      title: VARIATION_TYPE
      enum:
      - OUTPAINT
      - INPAINT
      - UPSCALE
      - UNZOOM
      - NOBG
      description: The type of variation.
    sd_versions:
      type: string
      nullable: false
      title: sd_versions
      enum:
      - v1_5
      - v2
      - v3
      - SDXL_0_8
      - SDXL_0_9
      - SDXL_1_0
      - SDXL_LIGHTNING
      - PHOENIX
      - FLUX
      - FLUX_DEV
      - KINO_2_0
      description: The base version of stable diffusion to use if not using a custom model. v1_5 is 1.5, v2 is 2.1, if not specified it will default to v1_5. Also includes SDXL and SDXL Light

# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/leonardo-ai/refs/heads/main/openapi/leonardo-ai-image-api-openapi.yml