Leonardo.AI Datasets API

Create, upload to, and delete training datasets used as input to custom model and element training. Upload images directly or from existing generations.

Leonardo.AI Datasets API is one of 14 APIs that Leonardo.AI publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 1 machine-runnable capability that can be deployed as REST, MCP, or Agent Skill surfaces via Naftiko.

Tagged areas include AI, Datasets, and Training. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, and 1 Naftiko capability spec.

OpenAPI Specification

leonardo-ai-datasets-openapi.json Raw ↑
{
  "openapi": "3.0.0",
  "info": {
    "title": "Leonardo.AI Datasets API",
    "description": "Create, upload to, and delete training datasets used for custom models and elements. Upload images directly or from existing generations.",
    "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": "Dataset"
    }
  ],
  "paths": {
    "/datasets": {
      "post": {
        "tags": [
          "Dataset"
        ],
        "summary": "Create a Dataset",
        "description": "This endpoint creates a new dataset",
        "operationId": "createDataset",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "name": {
                    "nullable": false,
                    "title": "String",
                    "type": "string",
                    "description": "The name of the dataset."
                  },
                  "description": {
                    "nullable": true,
                    "title": "String",
                    "type": "string",
                    "description": "A description for the dataset."
                  }
                },
                "required": [
                  "name"
                ],
                "type": "object"
              }
            }
          },
          "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": {
                    "insert_datasets_one": {
                      "description": "columns and relationships of \"datasets\"",
                      "nullable": true,
                      "properties": {
                        "id": {
                          "$ref": "#/components/schemas/uuid"
                        }
                      },
                      "title": "datasets",
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "Responses for POST /datasets"
          }
        }
      }
    },
    "/datasets/{id}": {
      "get": {
        "tags": [
          "Dataset"
        ],
        "summary": "Get a Single Dataset by ID",
        "description": "This endpoint gets the specific dataset",
        "operationId": "getDatasetById",
        "parameters": [
          {
            "required": true,
            "description": "The ID of the dataset 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": {
                    "datasets_by_pk": {
                      "description": "columns and relationships of \"datasets\"",
                      "nullable": true,
                      "properties": {
                        "createdAt": {
                          "$ref": "#/components/schemas/timestamp"
                        },
                        "dataset_images": {
                          "items": {
                            "description": "columns and relationships of \"dataset_images\"",
                            "nullable": false,
                            "properties": {
                              "createdAt": {
                                "$ref": "#/components/schemas/timestamp"
                              },
                              "id": {
                                "$ref": "#/components/schemas/uuid"
                              },
                              "url": {
                                "nullable": false,
                                "title": "String",
                                "type": "string"
                              }
                            },
                            "title": "dataset_images",
                            "type": "object"
                          },
                          "nullable": false,
                          "type": "array"
                        },
                        "description": {
                          "nullable": true,
                          "title": "String",
                          "type": "string"
                        },
                        "id": {
                          "$ref": "#/components/schemas/uuid"
                        },
                        "name": {
                          "nullable": false,
                          "title": "String",
                          "type": "string"
                        },
                        "updatedAt": {
                          "$ref": "#/components/schemas/timestamp"
                        }
                      },
                      "title": "datasets",
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "Responses for GET /datasets/{id}"
          }
        }
      },
      "delete": {
        "tags": [
          "Dataset"
        ],
        "summary": "Delete a Single Dataset by ID",
        "description": "This endpoint deletes the specific dataset",
        "operationId": "deleteDatasetById",
        "parameters": [
          {
            "required": true,
            "description": "The ID of the dataset 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_datasets_by_pk": {
                      "description": "columns and relationships of \"datasets\"",
                      "nullable": true,
                      "properties": {
                        "id": {
                          "$ref": "#/components/schemas/uuid"
                        }
                      },
                      "title": "datasets",
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "Responses for DELETE /datasets/{id}"
          }
        }
      }
    },
    "/datasets/{datasetId}/upload": {
      "post": {
        "tags": [
          "Dataset"
        ],
        "summary": "Upload dataset image",
        "description": "This endpoint returns presigned details to upload a dataset image to S3",
        "operationId": "uploadDatasetImage",
        "parameters": [
          {
            "required": true,
            "description": "_\"datasetId\" is required",
            "in": "path",
            "name": "datasetId",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "extension": {
                    "nullable": false,
                    "title": "String",
                    "type": "string",
                    "description": "Has to be png, jpg, jpeg, or webp."
                  }
                },
                "required": [
                  "extension"
                ],
                "type": "object"
              }
            }
          },
          "description": "Query parameters provided in the request body as a JSON object",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "uploadDatasetImage": {
                      "nullable": true,
                      "properties": {
                        "fields": {
                          "nullable": true,
                          "title": "String",
                          "type": "string"
                        },
                        "id": {
                          "nullable": true,
                          "title": "String",
                          "type": "string"
                        },
                        "key": {
                          "nullable": true,
                          "title": "String",
                          "type": "string"
                        },
                        "url": {
                          "nullable": true,
                          "title": "String",
                          "type": "string"
                        }
                      },
                      "title": "DatasetUploadOutput",
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "Responses for POST /datasets/{datasetId}/upload"
          }
        }
      }
    },
    "/datasets/{datasetId}/upload/gen": {
      "post": {
        "tags": [
          "Dataset"
        ],
        "summary": "Upload a Single Generated Image to a Dataset",
        "description": "This endpoint will upload a previously generated image to the dataset",
        "operationId": "uploadDatasetImageFromGen",
        "parameters": [
          {
            "required": true,
            "description": "The ID of the dataset to upload the image to.",
            "in": "path",
            "name": "datasetId",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "generatedImageId": {
                    "nullable": false,
                    "title": "String",
                    "type": "string",
                    "description": "The ID of the image to upload to the dataset."
                  }
                },
                "required": [
                  "generatedImageId"
                ],
                "type": "object"
              }
            }
          },
          "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": {
                    "uploadDatasetImageFromGen": {
                      "nullable": true,
                      "properties": {
                        "id": {
                          "nullable": true,
                          "title": "String",
                          "type": "string"
                        }
                      },
                      "title": "DatasetGenUploadOutput",
                      "type": "object"
                    }
                  }
                }
              }
            },
            "description": "Responses for POST /datasets/{datasetId}/upload/gen"
          }
        }
      }
    }
  },
  "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",
        

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