Leonardo.AI 3D Model Assets API

Upload, retrieve, and delete 3D model assets — used with Rodin V2 and other 3D-capable workflows for texturing and generation.

OpenAPI Specification

leonardo-ai-3d-model-assets-openapi.json Raw ↑
{
  "openapi": "3.0.0",
  "info": {
    "title": "Leonardo.AI 3D Model Assets 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"
    }
  ],
  "tags": [
    {
      "name": "3D Model Assets"
    }
  ],
  "paths": {
    "/models-3d/upload": {
      "post": {
        "tags": [
          "3D Model Assets"
        ],
        "summary": "Upload 3D Model",
        "description": "This endpoint returns presigned details to upload a 3D model to S3",
        "operationId": "uploadModelAsset",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "modelExtension": {
                    "nullable": false,
                    "title": "String",
                    "type": "string"
                  },
                  "name": {
                    "nullable": true,
                    "title": "String",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "description": "Query parameters can also be provided in the request body as a JSON object",
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "uploadModelAsset": {
                      "nullable": true,
                      "properties": {
                        "modelFields": {
                          "nullable": true,
                          "title": "String",
                          "type": "string"
                        },
                        "modelId": {
                          "nullable": true,
                          "title": "String",
                          "type": "string"
                        },
                        "modelKey": {
                          "nullable": true,
                          "title": "String",
                          "type": "string"
                        },
                        "modelUrl": {
                          "nullable": true,
                          "title": "String",
                          "type": "string"
                        }
                      },
                      "title": "ModelAssetUploadOutput",
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "Responses for POST /api/rest/v1/models-3d/upload"
          }
        }
      }
    },
    "/models-3d/user/{userId}": {
      "get": {
        "tags": [
          "3D Model Assets"
        ],
        "summary": "Get 3D models by user ID",
        "description": "This endpoint returns all 3D models by a specific user",
        "operationId": "get3DModelsByUserId",
        "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"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "userId": {
                    "$ref": "#/components/schemas/uuid"
                  }
                },
                "type": "object"
              }
            }
          },
          "description": "Query parameters can also be provided in the request body as a JSON object",
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "model_assets": {
                      "items": {
                        "description": "columns and relationships of \"model_assets\"",
                        "nullable": false,
                        "properties": {
                          "createdAt": {
                            "$ref": "#/components/schemas/timestamp"
                          },
                          "id": {
                            "$ref": "#/components/schemas/uuid"
                          },
                          "meshUrl": {
                            "nullable": false,
                            "title": "String",
                            "type": "string"
                          },
                          "name": {
                            "nullable": true,
                            "title": "String",
                            "type": "string"
                          },
                          "updatedAt": {
                            "$ref": "#/components/schemas/timestamp"
                          },
                          "userId": {
                            "$ref": "#/components/schemas/uuid"
                          }
                        },
                        "title": "model_assets",
                        "type": "object"
                      },
                      "nullable": false,
                      "type": "array"
                    }
                  }
                }
              }
            },
            "description": "Responses for GET /api/rest/v1/models-3d/user/{userId}"
          }
        }
      }
    },
    "/models-3d/{id}": {
      "get": {
        "tags": [
          "3D Model Assets"
        ],
        "summary": "Get 3D Model by ID",
        "description": "This endpoint gets the specific 3D model",
        "operationId": "get3DModelById",
        "parameters": [
          {
            "in": "query",
            "name": "offset",
            "schema": {
              "default": 0,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 10,
              "type": "integer"
            }
          },
          {
            "required": true,
            "description": "_\"id\" is required (enter it either in parameters or request body)_",
            "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"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "id": {
                    "$ref": "#/components/schemas/uuid"
                  }
                },
                "type": "object"
              }
            }
          },
          "description": "Query parameters can also be provided in the request body as a JSON object",
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "model_assets_by_pk": {
                      "description": "columns and relationships of \"model_assets\"",
                      "nullable": true,
                      "properties": {
                        "createdAt": {
                          "$ref": "#/components/schemas/timestamp"
                        },
                        "id": {
                          "$ref": "#/components/schemas/uuid"
                        },
                        "meshUrl": {
                          "nullable": false,
                          "title": "String",
                          "type": "string"
                        },
                        "name": {
                          "nullable": true,
                          "title": "String",
                          "type": "string"
                        },
                        "updatedAt": {
                          "$ref": "#/components/schemas/timestamp"
                        },
                        "userId": {
                          "$ref": "#/components/schemas/uuid"
                        }
                      },
                      "title": "model_assets",
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "Responses for GET /api/rest/v1/models-3d/{id}"
          }
        }
      },
      "delete": {
        "tags": [
          "3D Model Assets"
        ],
        "summary": "Delete 3D Model by ID",
        "description": "This endpoint deletes the specific 3D Model",
        "operationId": "delete3DModelById",
        "parameters": [
          {
            "required": true,
            "description": "_\"id\" is required (enter it either in parameters or request body)_",
            "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"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "id": {
                    "$ref": "#/components/schemas/uuid"
                  }
                },
                "type": "object"
              }
            }
          },
          "description": "Query parameters can also be provided in the request body as a JSON object",
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "delete_model_assets_by_pk": {
                      "description": "columns and relationships of \"model_assets\"",
                      "nullable": true,
                      "properties": {
                        "id": {
                          "$ref": "#/components/schemas/uuid"
                        }
                      },
                      "title": "model_assets",
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "Responses for DELETE /api/rest/v1/models-3d/{id}"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "cost": {
        "nullable": true,
        "type": "object",
        "title": "Cost",
        "description": "The cost of the operation.",
        "properties": {
          "amount": {
            "type": "string",
            "description": "The amount of the cost."
          },
          "unit": {
            "type": "string",
            "enum": [
              "CREDITS",
              "DOLLARS"
            ],
            "description": "The unit of the cost. Can be CREDITS or DOLLARS. Note: DOLLARS unit only supports PAYG plan."
          }
        }
      },
      "Cursor": {
        "type": "string",
        "title": "Cursor",
        "description": "An opaque cursor used for pagination"
      },
      "Blueprint": {
        "type": "object",
        "title": "Blueprint",
        "description": "A Blueprint object",
        "properties": {
          "akUUID": {
            "type": "string",
            "description": "Unique identifier for the Blueprint",
            "example": "c846413e-92ba-4302-84f8-47c667d4761f"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "Creation timestamp",
            "example": "2025-10-29T21:31:47.999Z"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Last update timestamp",
            "example": "2025-12-19T02:34:44.740Z"
          },
          "name": {
            "type": "string",
            "description": "Name of the Blueprint",
            "example": "Golden Hour Relight"
          },
          "description": {
            "type": "string",
            "description": "Description of the Blueprint",
            "example": "Relight an image with warm, golden tones of late afternoon sunlight for a soft and radiant glow."
          },
          "thumbnails": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "Thumbnail type name (e.g., thumbnailUrl, videoUrl, thumbnailUrlBanner, thumbnailUrlLandscape, thumbnailUrlExtremePortrait)",
                  "example": "thumbnailUrl"
                },
                "url": {
                  "type": "string",
                  "description": "URL of the thumbnail",
                  "example": "https://cdn.leonardo.ai/blueprint_assets/official/384ab5c8-55d8-47a1-be22-6a274913c324/thumbnails/goldenhour.jpg"
                }
              }
            }
          },
          "teamId": {
            "type": "string",
            "nullable": true,
            "description": "Team ID if Blueprint belongs to a team",
            "example": null
          },
          "official": {
            "type": "boolean",
            "description": "Whether this is an official Blueprint",
            "example": true
          }
        }
      },
      "BlueprintVersion": {
        "type": "object",
        "title": "BlueprintVersion",
        "description": "A Blueprint Version object",
        "properties": {
          "edges": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "cursor": {
                  "type": "string",
                  "example": "eyJjcmVhdGVkQXQiOiIyMDI1LTExLTI3VDA1OjEzOjIxLjg5NloiLCJha1VVSUQiOiI5NTZlOTU2NC0xOWY3LTQ5NjgtYjU2ZC0wNWMyYzU2NzcyNmYifQ=="
                },
                "node": {
                  "type": "object",
                  "properties": {
                    "akUUID": {
                      "type": "string",
                      "format": "uuid",
                      "example": "956e9564-19f7-4968-b56d-05c2c567726f"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time",
                      "example": "2025-11-27T05:13:21.896Z"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time",
                      "example": "2025-11-27T05:13:21.896Z"
                    },
                    "cost": {
                      "type": "integer",
                      "example": 160
                    },
                    "uiMetadata": {
                      "type": "object",
                      "properties": {
                        "inputs": {
                          "type": "array",
                          "items": {
                            "type": "object"
                          }
                        },
                        "outputs": {
                          "type": "array",
                          "items": {
                            "type": "object"
                          }
                        }
                      },
                      "additionalProperties": false
                    },
                    "uiMetadataSchemaVersion": {
                      "type": "string",
                      "example": "21"
                    },
                    "models": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "executability": {
                      "type": "object",
                      "properties": {
                        "isExecutable": {
                          "type": "boolean",
                          "example": true
                        },
                        "reasons": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": false,
                            "properties": {
                              "models": {
                                "type": "string",
                                "example": "gemini-2.5-flash-image"
                              }
                            }
                          }
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            }
          },
          "totalCount": {
            "type": "integer",
            "example": 2
          },
          "pageInfo": {
            "type": "object",
            "properties": {
              "hasNextPage": {
                "type": "boolean",
                "example": false
              },
              "hasPreviousPage": {
                "type": "boolean",
                "example": false
              },
              "startCursor": {
                "type": "string",
                "example": "eyJjcmVhdGVkQXQiOiIyMDI1LTExLTI3VDA1OjEzOjIxLjg5NloiLCJha1VVSUQiOiI5NTZlOTU2NC0xOWY3LTQ5NjgtYjU2ZC0wNWMyYzU2NzcyNmYifQ=="
              },
              "endCursor": {
                "type": "string",
                "example": "eyJjcmVhdGVkQXQiOiIyMDI1LTExLTI3VDA1OjEzOjIxLjg5NloiLCJha1VVSUQiOiI5NTZlOTU2NC0xOWY3LTQ5NjgtYjU2ZC0wNWMyYzU2NzcyNmYifQ=="
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "NodeInput": {
        "type": "object",
        "title": "NodeInput",
        "description": "A node input object for customizing a Blueprint Execution",
        "required": [
          "nodeId",
          "settingName",
          "value"
        ],
        "properties": {
          "nodeId": {
            "type": "string",
            "format": "uuid",
            "description": "The ID of the node in the Blueprint",
            "example": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
          },
          "settingName": {
            "type": "string",
            "enum": [
              "text",
              "imageUrl",
              "textVariables"
            ],
            "description": "The type of setting to replace:\n- `text`: Direct text replacement (value is a string)\n- `imageUrl`: Image URL input (value is a URL string)\n- `textVariables`: Text with placeholder variables (value is an array of TextVariable)",
            "example": "text"
          },
          "value": {
            "oneOf": [
              {
                "type": "string",
                "description": "String value. Use for settingName='text' (direct text) or settingName='imageUrl' (image URL)"
              },
              {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TextVariable"
                },
                "description": "Array of TextVariable objects. Use only for settingName='textVariables' to replace {{placeholders}} in the Blueprint"
              }
            ],
            "description": "The replacement value. Type depends on settingName:\n- `text`: string (the full text)\n- `imageUrl`: string (the image URL)\n- `textVariables`: array of TextVariable objects",
            "example": "A futuristic cityscape at sunset"
          }
        }
      },
      "TextVariable": {
        "type": "object",
        "title": "TextVariable",
        "description": "A text variable for replacing placeholders in Blueprint templates",
        "required": [
          "name",
          "value"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the placeholder variable (without curly braces)",
            "example": "characterName"
          },
          "value": {
            "type": "string",
            "description": "The value to replace the placeholder with",
            "example": "Luna"
          }
        }
      },
      "ApiError": {
        "type": "object",
        "title": "ApiError",
        "description": "API error response structure",
        "required": [
          "message"
        ],
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message"
          },
          "path": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Path to the field that caused the error"
          },
          "locations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "column": {
                  "type": "integer"
                },
                "line": {
                  "type": "integer"
                }
              }
            },
            "description": "Location information for the error"
          },
          "extensions": {
            "type": "object",
            "description": "Additional error details and context"
          }
        }
      },
      "apiCreditCost": {
        "nullable": true,
        "title": "Int",
        "type": "integer",
        "description": "API credits cost, available for Production API users. Note: it will be deprecated. Please use the cost instead.",
        "deprecated": true
      },
      "isVariation": {
        "nullable": true,
        "title": "Boolean",
        "type": "boolean",
        "description": "If it is a variation image."
      },
      "isInitImage": {
        "nullable": true,
        "title": "Boolean",
        "type": "boolean",
        "description": "If it is an init image uploaded by the user. This image is uploaded from endpoint: Upload init image."
      },
      "imageToVideo": {
        "nullable": true,
        "title": "Boolean",
        "type": "boolean",
        "description": "If it is an image to video generation."
      },
      "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 Lightning models"
      },
      "lora": {
        "type": "object",
        "properties": {
          "akUUID": {
            "nullable": true,
            "type": "string",
            "description": "Unique identifier for the element. Elements can be found from the List Elements endpoint."
          },
          "creatorName": {
            "nullable": true,
            "type": "string",
            "description": "Name of the creator of the element"
          },
          "name": {
            "nullable": true,
            "type": "string",
            "description": "Name of the element"
          },
          "description": {
            "nullable": true,
            "type": "string",
            "description": "Description for the element"
          },
          "urlImage": {
            "nullable": true,
            "type": "string",
            "description": "URL of the element image"
          },
          "baseModel": {
            "nullable": true,
            "type": "string",
            "description": "Base model version for the element"
          },
          "weightDefault": {
            "nullable": true,
            "type": "integer",
            "description": "Default weight for the element"
          },
          "weightMin": {
            "nullable": true,
            "type": "integer",
            "description": "Minimum weight for the element"
          },
          "weightMax": {
            "nullable": true,
            "type": "integer",
            "description": "Maximum weight for the element"
          },
          "__typename": {
            "type": "string",
            "description": "Type name for introspection purposes"
          }
        }
      },
      "motion": {
        "nullable": true,
        "title": "Boolean",
        "type": "boolean",
        "description": "If generation is of motion type."
      },
      "motionModel": {
        "nullable": true,
        "title": "String",
        "type": "string",
        "description": "The name of the motion model."
      },
      "motionMP4URL": {
        "nullable": true,
        "title": "String",
        "type": "string",
        "description": "The URL of the motion MP4."
      },
      "motionStrength": {
        "nullable": true,
        "title": "Int",
        "type": "integer",
        "description": "The motion strength."
      },
      "public": {
        "nullable": true,
        "title": "Boolean",
        "type": "boolean",
        "description": "Whether the generation is public or not"
      },
      "strength": {
        "type": "string",
        "nullable": false,
        "title": "strength",
        "enum": [
          "VERY_LOW",
          "LOW",
          "MEDIUM",
          "HIGH"
        ],
        "description": "When training using the PIXEL_ART model type, this influences the training strength.",
        "default": "MEDIUM"
      },
      "job_status": {
        "type": "string",
        "nullable": false,
        "title": "job_status",
        "enum": [
          "PENDING",
          "COMPLETE",
          "FAILED"
        ],
        "description": "The status of the current task."
      },
      "BlueprintExecutionStatus": {
        "type": "string",
        "nullable": false,
        "title": "BlueprintExecutionStatus",
        "enum": [
          "PENDING",
          "QUEUED",
          "COMPLETED",
          "FAILED"
        ],
        "description": "The status of a Blueprint Execution."
      },
      "BlueprintExecution": {
        "type": "object",
        "nullable": false,
        "title": "BlueprintExecution",
        "description": "Represents the Execution of a Blueprint Version",
        "properties": {
          "akUUID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/uuid"
              },
              {
                "nullable": false,
                "description": "akUUID of the Blueprint Execution"
              }
            ]
          },
          "status": {
            "$ref": "#/components/schemas/BlueprintExecutionStatus",
            "description": "Status of the Blueprint Execution"
          },
          "inputs": {
            "type": "array",
            "nullable": false,
            "description": "Inputs of the Blueprint Execution",
            "items": {
              "$ref": "#/components/schemas/NodeInput"
            }
          },
          "public": {
            "allOf": [
              {
                "$ref": "#/components/schemas/public"
              },
              {
                "nullable": false,
                "description": "Whether the Blueprint Execution is public"
              }
            ]
          },
          "createdAt": {
            "$ref": "#/components/schemas/timestamp",
            "description": "Created date of the Blueprint Execution"
          }
        },
        "required": [
          "akUUID",
          "status",
          "inputs",
          "public",
          "createdAt"
        ]
      },
      "BlueprintExecutionGenerationsConnection": {
        "type": "object",
        "nullable": false,
        "title": "BlueprintExecutionGenerationsConnection",
        "description": "A paginated connection of Blueprint Execution Generations",
        "properties": {
          "pageInfo": {
            "$ref": "#/components/schemas/pageInfo"
          },
          "edges": {
            "type": "array",
            "description": "List of generation edges",
            "items": {
              "$ref": "#/components/schemas/BlueprintExecutionGenerationEdge"
            }
          }
        },
        "required": [
          "pageInfo",
          "edges"
        ]
      },
      "BlueprintExecutionGenerationEdge": {
        "type": "object",
        "nullable": false,
        "title": "BlueprintExecutionGenerationEdge",
        "description": "An edge containing a Blueprint Execution Generation node",
        "properties": {
          "cursor": {
            "$ref": "#/components/schemas/Cursor",
            "description": "Cursor for this edge, used for pagination"
          },
          "node": {
            "$ref": "#/components/schemas/BlueprintExecutionGeneration"
          }
        },
        "required": [
          "cursor",
          "node"
        ]
      },
      "BlueprintExecutionGeneration": {
        "type": "object",
        "nullable": false,
        "title": "BlueprintExecutionGeneration",
        "description": "Represents a single generation within a Blueprint Execution",
        "properties": {
          "akUUID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/uuid"
              },
              {
                "nullable": false,
                "description": "Unique identifier for the Blueprint Execution Generation"
              }
            ]
          },
          "status": {
            "$ref": "#/components/schemas/BlueprintExecutionGenerationStatus",
            "description": "Status of the generation"
          },
          "generationId": {
            "type": "string",
            "nullable": false,
            "description": "The generation ID associated with this execution generation",
            "example": "1f0bba44-923a-69b0-b519-62a6710d46a9"
          },
          "failedReason": {
            "$ref": "#/components/schemas/PromptModerationFailureReason",
            "description": "Details about why the generation failed, specifically for prompt moderation failures"
          }
        },
        "required": [
          "akUUID",
          "status",
          "generationId"
        ]
      },
      "BlueprintExecutionGenerationStatus": {
        "type": "string",
        "nullable": false,
        "title": "BlueprintExecutionGenerationStatus",
        "enum": [
          "PENDING",
          "COMPLETED",
          "FAILED"
        ],
        "description": "The status of a Blueprint Execution Generation"
      },
      "PromptModerationFailureReason": {
        "type": "object",
        "nullable": true,
        "title": "PromptModerationFailureReason",
        "description": "Details about a generation failure due to prompt moderation",
        "properties": {
          "type": {
            "type": "string",
            "nullable": false,
            "enum": [
              "PROMPT_MODERATION_BLOCKED"
            ],
            "description": "The type of failure - PROMPT_MODERATION_BLOCKED indicates the prompt was blocked by content moderation",
            "example": "PROMPT_MODERATION_BLOCKED"
          },
          "message": {
            "type": "string",
            "nullable": false,
            "description": "Human-readable message describing the failure",
            "example": "Generation blocked due to prompt moderation"
          },
          "affectedOutputCount": {
            "type": "integer",
            "nullable": false,
            "description": "Number o

# --- truncated at 32 KB (45 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/leonardo-ai/refs/heads/main/openapi/leonardo-ai-3d-model-assets-openapi.json