{ "openapi": "3.0.0", "info": { "title": "Leonardo.AI Image Generation API", "description": "Create image generations with FLUX, Phoenix, Lucid, Ideogram, GPT Image, Nano Banana, Seedream, and other supported models. Includes generation lifecycle (create, retrieve, delete, list by user).", "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": "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": { "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 of outputs affected by this failure", "example": 1 } }, "required": [ "type", "message", "affectedOutputCount" ] }, "custom_model_type": { "type": "string", "default": "GENERAL", "nullable": false, "title": "custom_model_type", "enum": [ "GENERAL", "BUILDINGS", "CHARACTERS", "ENVIRONMENTS", "FASHION", "ILLUSTRATIONS", "GAME_ITEMS", "GRAPHICAL_ELEMENTS", "PHOTOGRAPHY", "PIXEL_ART", "PRODUCT_DESIGN", "TEXTURES", "UI_ELEMENTS", "VECTOR" ], "description": "The category the most accurately reflects the model." }, "sd_generation_schedulers": { "type": "string", "nullable": false, "title": "sd_generation_schedulers", "enum": [ "KLMS", "EULER_ANCESTRAL_DISCRETE", "EULER_DISCRETE", "DDIM", "DPM_SOLVER", "PNDM", "LEONARDO" ], "description": "The scheduler to generate images with. Defaults to EULER_DISCRETE if not specified." }, "VARIATION_TYPE": { "type": "string", "nullable": false, "title": "VARIATION_TYPE", "enum": [ "OUTPAINT", "INPAINT", "UPSCALE", "UNZOOM", "NOBG" ], "description": "The type of variation." }, "MOTION_VARIATION_TYPE": { "type": "string", "nullable": false, "title": "MOTION_VARIATION_TYPE", "enum": [ "UPSCALE" ], "description": "The type of motion variation." }, "MOTION_RESOLUTION": { "type": "string", "nullable": false, "title": "MOTION_RESOLUTION", "enum": [ "RESOLUTION_720" ], "description": "The resolution of the upscaled video. RESOLUTION_720 is the only option for now." }, "timestamp": { "type": "string", "nullable": false, "title": "timestamp" }, "controlnet_input": { "nullable": false, "properties": { "initImageId": { "nullable": false, "title": "String", "type": "string", "description": "The ID of the init image" }, "initImageType": { "type": "string", "nullable": false, "enum": [ "GENERATED", "UPLOADED" ], "description": "Type indicating whether the init image is uploaded or generated." }, "preprocessorId": { "nullable": false, "title": "numeric", "type": "number", "description": "ID of the controlnet. A list of compatible IDs can be found in our guides." }, "weight": { "nullable": true, "title": "Float", "type": "number", "description": "Weight for the controlnet" }, "strengthType": { "type": "string", "nullable": true, "enum": [ "Low", "Mid", "High", "Ultra", "Max" ], "description": "Strength type for the controlnet. Can only be used for Style, Character and Content Reference controlnets." } }, "title": "controlnet_input", "type": "object" }, "element_input": { "nullable": false, "properties": { "akUUID": { "nullable": false, "title": "String", "type": "string", "description": "Unique identifier for element. Elements can be found from the List Elements endpoint." }, "weight": { "nullable": true, "title": "Float", "type": "number", "default": 1.0, "description": "Weight for the element" } }, "required": [ "akUUID" ], "title": "element_input", "type": "object" }, "user_elements_input": { "nullable": false, "properties": { "userLoraId": { "nullable": true, "title": "Int", "type": "number", "description": "Unique identifier for user custom element." }, "weight": { "nullable": true, "title": "Float", "type": "number", "description": "Weight for the element" } }, "title": "user_elements_input", "type": "object" }, "float8": { "type": "number", "nullable": true, "title": "float8" }, "numeric": { "type": "number", "nullable": true, "title": "numeric" }, "bigint": { "type": "integer", "nullable": true, "title": "bigint" }, "seed": { "type": "integer", "nullable": true, "title": "seed", "description": "Apply a fixed seed to maintain consistency across generation sets. The maximum seed value is 2147483637 for Flux and 9999999998 for other models" }, "sd_generation_style": { "type": "string", "nullable": true, "title": "sd_generation_style", "enum": [ "ANIME", "BOKEH", "CINEMATIC", "CINEMATIC_CLOSEUP", "CREATIVE", "DYNAMIC", "ENVIRONMENT", "FASHION", "FILM", "FOOD", "GENERAL", "HDR", "ILLUSTRATION", "LEONARDO", "LONG_EXPOSURE", "MACRO", "MINIMALISTIC", "MONOCHROME", "MOODY", "NONE", "NEUTRAL", "PHOTOGRAPHY", "PORTRAIT", "RAYTRACED", "RENDER_3D", "RETRO", "SKETCH_BW", "SKETCH_COLOR", "STOCK_PHOTO", "VIBRANT", "UNPROCESSED" ], "description": "The style to generate images with. When photoReal is enabled, refer to the Guide section for a full list. When alchemy is disabled, use LEONARDO or NONE. When alchemy is enabled, use ANIME, CREATIVE, DYNAMIC, ENVIRONMENT, GENERAL, ILLUSTRATION, PHOTOGRAPHY, RAYTRACED, RENDER_3D, SKETCH_BW, SKETCH_COLOR, or NONE.", "default": "DYNAMIC" }, "lcm_generation_style": { "type": "string", "nullable": true, "title": "lcm_generation_style", "enum": [ "ANIME", "CINEMATIC", "DIGITAL_ART", "DYNAMIC", "ENVIRONMENT", "FANTASY_ART", "ILLUSTRATION", "PHOTOGRAPHY", "RENDER_3D", "RAYTRACED", "SKETCH_BW", "SKETCH_COLOR", "VIBRANT", "NONE" ], "description": "The style to generate LCM images with." }, "universal_upscaler_style": { "type": "string", "nullable": true, "default": "GENERAL", "title": "universal_upscaler_style", "enum": [ "GENERAL", "CINEMATIC", "2D ART & ILLUSTRATION", "CG ART & GAME ASSETS" ], "description": "The style to upscale images using universal upscaler with. Can not be used with ultraUpscaleStyle." }, "universal_upscaler_ultra_style": { "type": "string", "nullable": true, "title": "universal_upscaler_ultra_style", "enum": [ "ARTISTIC", "REALISTIC" ], "description": "The ultra style to upscale images using universal upscaler with. Can not be used with upscalerStyle." }, "controlnet_type": { "type": "string", "nullable": false, "title": "controlnet_type", "enum": [ "POSE", "CANNY", "DEPTH" ], "description": "This parameter will be deprecated in September 2024. Please use the controlnets array instead.", "deprecated": true }, "uuid": { "nullable": true, "pattern": "[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}", "title": "uuid", "type": "string" }, "photoRealArg": { "nullable": true, "title": "Boolean", "type": "boolean", "description": "Enable the photoReal feature. Requires enabling alchemy and unspecifying modelId (for photoRealVersion V1)." }, "photoRealVersion": { "nullable": true, "title": "String", "type": "string", "description": "The version of photoReal to use. Must be v1 or v2." }, "photoRealRes": { "nullable": true, "title": "Boolean", "type": "boolean", "description": "If photoReal feature was used." }, "photoRealStrengthArg": { "nullable": true, "title": "Float", "type": "number", "description": "Depth of field of photoReal. Must be 0.55 for low, 0.5 for medium, or 0.45 for high. Defaults to 0.55 if not specified." }, "photoRealStrengthRes": { "nullable": true, "title": "Float", "type": "number", "description": "Depth of field of photoReal used. 0.55 is low, 0.5 is medium, and 0.45 is high. Default is 0.55." }, "promptMagicArg": { "nullable": true, "title": "Boolean", "type": "boolean", "description": "Enable to use Prompt Magic." }, "promptMagicRes": { "nullable": true, "title": "Boolean", "type": "boolean", "description": "If prompt magic was used." }, "promptMagicVersionArg": { "nullable": true, "title": "String", "type": "string", "description": "Prompt magic version v2 or v3, for use when promptMagic: true" }, "promptMagicVersionRes": { "nullable": true, "title": "String", "type": "string", "description": "Version of prompt magic used." }, "promptMagicStrengthArg": { "nullable": true, "title": "Float", "type": "number", "description": "Strength of prompt magic. Must be a float between 0.1 and 1.0" }, "promptMagicStrengthRes": { "nullable": true, "title": "Float", "type": "number", "description": "Strength of prompt magic used." }, "pricingCalculatorServices": { "type": "string", "nullable": false, "title": "pricingCalculatorServices", "enum": [ "IMAGE_GENERATION", "FANTASY_AVATAR_GENERATION", "MOTION_SVD_GENERATION", "MOTION_VIDEO_GENERATION", "VEO3_MOTION_VIDEO_GENERATION", "LCM_GENERATION", "MODEL_TRAINING", "TEXTURE_GENERATION", "UNIVERSAL_UPSCALER", "UNIVERSAL_UPSCALER_ULTRA" ], "description": "The services to be chosen for calculating the API credit cost." }, "imageHeight": { "nullable": false, "title": "Int", "type": "integer", "description": "The input height of the images. Must be between 32 and 1024 and be a multiple of 8. Note: Input resolution is not always the same as output resolution due to upscaling from other features" }, "imageWidth": { "nullable": false, "title": "Int", "type": "integer", "description": "The input width of the images. Must be between 32 and 1024 and be a multiple of 8. Note: Input resolution is not always the same as output resolution due to upscaling from other features" }, "numImages": { "nullable": false, "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." }, "canvasRequestType": { "type": "string", "nullable": true, "title": "canvasRequestType", "enum": [ "INPAINT", "OUTPAINT", "SKETCH2IMG", "IMG2IMG" ], "description": "The type of request for the Canvas Editor." }, "sd_generation_ultra": { "nullable": true, "title": "Boolean", "type": "boolean", "description": "If ultra generation mode was used." }, "pageInfo": { "type": "object", "title": "PageInfo", "description": "Pagination information following the Relay cursor pagination spec", "properties": { "hasNextPage": { "type": "boolean", "description": "Whether there is a next page" }, "hasPreviousPage": { "type": "boolean", "description": "Whether there is a previous page" }, "startCursor": { "allOf": [ { "$ref": "#/components/schemas/Cursor" } ], "description": "Cursor for the first item in the result set" }, "endCursor": { "allOf": [ { "$ref": "#/components/schemas/Cursor" } ], "description": "Cursor for the last item in the result set" } } }, "totalCount": { "type": "integer", "description": "Total number of results available" } }, "securitySchemes": { "bearerAuth": { "type": "http", "bearerFormat": "auth-scheme", "description": "Bearer HTTP authentication. Allowed headers `Authorization: Bearer `", "scheme": "bearer" } } }, "security": [ { "bearerAuth": [] } ] }