{"openapi":"3.1.0","info":{"title":"API Reference","version":"1.0.0"},"paths":{"/v1/ideogram-v4/generate":{"post":{"operationId":"post-generate-image-v-4","summary":"Generate with Ideogram 4.0","description":"Generates images synchronously using the Ideogram 4.0 model.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n","tags":["generate"],"parameters":[{"name":"Api-Key","in":"header","description":"API key for access control. Use in the header with the name \\\"Api-Key\\\"","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Image(s) generated successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageGenerationResponseV4"}}}},"400":{"description":"Invalid input provided.","content":{"application/json":{"schema":{"description":"Any type"}}}},"401":{"description":"Not authorized.","content":{"application/json":{"schema":{"description":"Any type"}}}},"422":{"description":"Prompt failed the safety check.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateImageSafetyError"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"description":"A request to generate an image with Ideogram 4.0.","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"text_prompt":{"type":"string","description":"A natural-language prompt for image generation. When supplied,\nmagic-prompt is enabled automatically. Mutually exclusive with\n`json_prompt`.\n"},"json_prompt":{"$ref":"#/components/schemas/V4JsonPrompt","description":"A structured prompt that conforms to the Ideogram 4.0 JSON\ncontract. When supplied, magic-prompt is disabled and the\nstructured prompt is consumed by the diffusion model directly.\nMutually exclusive with `text_prompt`.\n"},"resolution":{"$ref":"#/components/schemas/ResolutionV4"},"rendering_speed":{"$ref":"#/components/schemas/RenderingSpeed","description":"The rendering speed to use. For Ideogram V4, `rendering_speed=FLASH`\nis coming soon; requests with `rendering_speed=FLASH` currently\nreturn a 400.\n"},"enable_copyright_detection":{"type":["boolean","null"],"description":"Optional. Opt this request into post-generation copyright detection (Hive likeness + logo\nchecks). The effective gate is the OR of this field and the organization's\n`copyright_detection_enabled` setting on `/api`. See GenerateImageRequestV3 for details.\n"}}}}}}}},"/v1/text-to-image/p-image-ideogram":{"post":{"operationId":"post-generate-image-p-image-ideogram","summary":"Generate with P-Image Ideogram","description":"Generates images synchronously using P-Image Ideogram. `quality` selects\nthe generation quality level and `resolution` selects the output-size\ntier. Both parameters have defaults.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download them.\n","tags":["generate"],"parameters":[{"name":"Api-Key","in":"header","description":"API key for access control. Use in the header with the name \\\"Api-Key\\\"","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Image(s) generated successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageGenerationResponseV4"}}}},"400":{"description":"Invalid input provided.","content":{"application/json":{"schema":{"description":"Any type"}}}},"401":{"description":"Not authorized.","content":{"application/json":{"schema":{"description":"Any type"}}}},"422":{"description":"Prompt failed the safety check.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateImageSafetyError"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"description":"A request to generate an image with P-Image Ideogram.","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"prompt":{"type":"string","description":"The prompt for image generation. Accepts either natural language or\na structured Ideogram 4.0 JSON prompt; the server detects which was supplied.\n"},"prompt_upsampling":{"$ref":"#/components/schemas/MagicPromptOption","description":"Controls magic-prompt (prompt upsampling). Defaults to `AUTO`.\n"},"seed":{"type":["integer","null"],"description":"Random seed for reproducibility."},"quality":{"$ref":"#/components/schemas/Quality","description":"The generation quality level. Defaults to `MEDIUM`."},"resolution":{"$ref":"#/components/schemas/PImageResolution","description":"The output-size tier. Defaults to `1K`."},"aspect_ratio":{"$ref":"#/components/schemas/AspectRatioV3","description":"The output aspect ratio. Defaults to `1x1`."},"custom_width":{"type":["integer","null"],"description":"Optional. An exact output width in pixels, used together with\n`custom_height` for output sizes outside the preset tiers. Must be\na positive multiple of 16 between 16 and 4096, and\n`custom_width` × `custom_height` must not exceed 4,194,304 pixels\n(2048×2048). Cannot be combined with `resolution` or\n`aspect_ratio`; the request is billed at the resolution tier\nmatching its total pixel count.\n"},"custom_height":{"type":["integer","null"],"description":"Optional. An exact output height in pixels, used together with\n`custom_width`. See `custom_width` for the accepted range and\nbilling behavior.\n"},"enable_copyright_detection":{"type":["boolean","null"],"description":"Optional. Opt this request into post-generation copyright detection.\n"}},"required":["prompt"]}}}}}},"/v1/async/text-to-image/p-image-ideogram":{"post":{"operationId":"post-generate-image-p-image-ideogram-async","summary":"Generate with P-Image Ideogram asynchronously","description":"Accepts a P-Image Ideogram generation request for asynchronous processing\nand returns immediately with a generation_id. Poll\n`GET /v1/generations/{generation_id}` to retrieve the result. If a\n`webhook_url` is supplied, the generated images are additionally POSTed\nto it once ready, in a payload that mirrors the synchronous response with\nan added generation_id for correlation.\n\nSee [Webhooks](/ideogram-api/webhooks) for the delivery payload and how to verify webhook signatures.\n","tags":["generate"],"parameters":[{"name":"webhook_url","in":"query","required":false,"schema":{"$ref":"#/components/schemas/WebhookUrl"}},{"name":"Api-Key","in":"header","description":"API key for access control. Use in the header with the name \\\"Api-Key\\\"","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Request accepted for asynchronous delivery.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncImageGenerationResponseV4"}}}},"400":{"description":"Invalid input provided.","content":{"application/json":{"schema":{"description":"Any type"}}}},"401":{"description":"Not authorized.","content":{"application/json":{"schema":{"description":"Any type"}}}},"422":{"description":"Prompt failed the safety check.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateImageSafetyError"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"description":"A request to generate an image with P-Image Ideogram.","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"prompt":{"type":"string","description":"The prompt for image generation. Accepts either natural language or\na structured Ideogram 4.0 JSON prompt; the server detects which was supplied.\n"},"prompt_upsampling":{"$ref":"#/components/schemas/MagicPromptOption","description":"Controls magic-prompt (prompt upsampling). Defaults to `AUTO`.\n"},"seed":{"type":["integer","null"],"description":"Random seed for reproducibility."},"quality":{"$ref":"#/components/schemas/Quality","description":"The generation quality level. Defaults to `MEDIUM`."},"resolution":{"$ref":"#/components/schemas/PImageResolution","description":"The output-size tier. Defaults to `1K`."},"aspect_ratio":{"$ref":"#/components/schemas/AspectRatioV3","description":"The output aspect ratio. Defaults to `1x1`."},"custom_width":{"type":["integer","null"],"description":"Optional. An exact output width in pixels, used together with\n`custom_height` for output sizes outside the preset tiers. Must be\na positive multiple of 16 between 16 and 4096, and\n`custom_width` × `custom_height` must not exceed 4,194,304 pixels\n(2048×2048). Cannot be combined with `resolution` or\n`aspect_ratio`; the request is billed at the resolution tier\nmatching its total pixel count.\n"},"custom_height":{"type":["integer","null"],"description":"Optional. An exact output height in pixels, used together with\n`custom_width`. See `custom_width` for the accepted range and\nbilling behavior.\n"},"enable_copyright_detection":{"type":["boolean","null"],"description":"Optional. Opt this request into post-generation copyright detection.\n"}},"required":["prompt"]}}}}}},"/v1/ideogram-v4/async/generate":{"post":{"operationId":"post-generate-image-v-4-async","summary":"Generate with Ideogram 4.0 asynchronously","description":"Accepts an Ideogram 4.0 generation request for asynchronous processing and\nreturns immediately with a generation_id. Poll `GET /v1/generations/{generation_id}`\nto retrieve the result. If a `webhook_url` is supplied, the generated images are\nadditionally POSTed to it once ready, in a payload that mirrors the synchronous\nresponse with an added generation_id for correlation.\n\nSee [Webhooks](/ideogram-api/webhooks) for the delivery payload and how to verify webhook signatures.\n","tags":["generate"],"parameters":[{"name":"webhook_url","in":"query","required":false,"schema":{"$ref":"#/components/schemas/WebhookUrl"}},{"name":"Api-Key","in":"header","description":"API key for access control. Use in the header with the name \\\"Api-Key\\\"","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Request accepted for asynchronous delivery.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncImageGenerationResponseV4"}}}},"400":{"description":"Invalid input provided.","content":{"application/json":{"schema":{"description":"Any type"}}}},"401":{"description":"Not authorized.","content":{"application/json":{"schema":{"description":"Any type"}}}},"422":{"description":"Prompt failed the safety check.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateImageSafetyError"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"description":"A request to generate an image with Ideogram 4.0.","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"text_prompt":{"type":"string","description":"A natural-language prompt for image generation. When supplied,\nmagic-prompt is enabled automatically. Mutually exclusive with\n`json_prompt`.\n"},"json_prompt":{"$ref":"#/components/schemas/V4JsonPrompt","description":"A structured prompt that conforms to the Ideogram 4.0 JSON\ncontract. When supplied, magic-prompt is disabled and the\nstructured prompt is consumed by the diffusion model directly.\nMutually exclusive with `text_prompt`.\n"},"resolution":{"$ref":"#/components/schemas/ResolutionV4"},"rendering_speed":{"$ref":"#/components/schemas/RenderingSpeed","description":"The rendering speed to use. For Ideogram V4, `rendering_speed=FLASH`\nis coming soon; requests with `rendering_speed=FLASH` currently\nreturn a 400.\n"},"enable_copyright_detection":{"type":["boolean","null"],"description":"Optional. Opt this request into post-generation copyright detection (Hive likeness + logo\nchecks). The effective gate is the OR of this field and the organization's\n`copyright_detection_enabled` setting on `/api`. See GenerateImageRequestV3 for details.\n"}}}}}}}},"/v1/generations/{generation_id}":{"get":{"operationId":"get-generation","summary":"Poll a generation","description":"Retrieves the current status of an asynchronous generation, and its results once complete. Use the `generation_id` returned by the async generation endpoint. While the generation is `pending` or has `failed`, the response contains only `generation_id`, `status`, and `created`; the `response_type` and `data` fields are present only once `status` is `completed`.","tags":["generate"],"parameters":[{"name":"generation_id","in":"path","description":"URL-safe base64 ID of the generation returned by the async generation endpoint.","required":true,"schema":{"type":"string"}},{"name":"Api-Key","in":"header","description":"API key for access control. Use in the header with the name \\\"Api-Key\\\"","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Generation status retrieved successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationResponse"}}}},"400":{"description":"Invalid request ID provided.","content":{"application/json":{"schema":{"description":"Any type"}}}},"401":{"description":"Not authorized.","content":{"application/json":{"schema":{"description":"Any type"}}}},"404":{"description":"Request not found.","content":{"application/json":{"schema":{"description":"Any type"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"description":"Any type"}}}}}}},"/v1/ideogram-v4/remix":{"post":{"operationId":"post-remix-image-v-4","summary":"Remix with Ideogram 4.0","description":"Remix an image synchronously using the Ideogram 4.0 model with an initial image and a prompt.\n\nMirrors `/v1/ideogram-v3/remix` semantics (including `image_weight` for how strongly the\noutput should resemble the input image) but routes the request through the V_4_0 model.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n","tags":["generate"],"parameters":[{"name":"Api-Key","in":"header","description":"API key for access control. Use in the header with the name \\\"Api-Key\\\"","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Image(s) generated successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageGenerationResponseV4"}}}},"400":{"description":"Invalid input provided.","content":{"application/json":{"schema":{"description":"Any type"}}}},"401":{"description":"Not authorized.","content":{"application/json":{"schema":{"description":"Any type"}}}},"422":{"description":"Prompt failed the safety check.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateImageSafetyError"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"description":"A request to remix an image with Ideogram 4.0.","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"image":{"type":"string","format":"binary","description":"The initial image binary (max 10MB); only JPEG, WebP and PNG formats are supported."},"text_prompt":{"type":"string","description":"The text prompt that guides the remix."},"image_weight":{"type":"integer","description":"Optional. How strongly the output should resemble the input image. Higher values keep\nthe input image's structure; lower values allow the prompt to drive the output more.\nWhen omitted, the weight is chosen automatically from the edit instruction; supplying\na value overrides that automatic choice.\n"},"resolution":{"$ref":"#/components/schemas/ResolutionV4"},"rendering_speed":{"$ref":"#/components/schemas/RenderingSpeed"},"enable_copyright_detection":{"type":["boolean","null"],"description":"Optional. Opt this request into post-generation copyright detection (Hive likeness + logo\nchecks). See GenerateImageRequestV3 for details.\n"}},"required":["image","text_prompt"]}}}}}},"/v1/ideogram-v4/magic-prompt":{"post":{"operationId":"post-magic-prompt-v-4","summary":"Generate a Magic Prompt with Ideogram 4.0","description":"Transforms a basic prompt into an enhanced Ideogram 4.0 magic prompt.\nThe magic prompt model version is fixed; callers cannot select it.\nWhen `aspect_ratio` is `AUTO` (the default), the model selects the most\nsuitable aspect ratio for the prompt and returns it in the response.\n","tags":["prompt"],"parameters":[{"name":"Api-Key","in":"header","description":"API key for access control. Use in the header with the name \\\"Api-Key\\\"","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Magic prompt generated successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MagicPromptV4Response"}}}},"400":{"description":"Invalid input provided.","content":{"application/json":{"schema":{"description":"Any type"}}}},"401":{"description":"Not authorized to generate magic prompts.","content":{"application/json":{"schema":{"description":"Any type"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"description":"Any type"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"description":"A request to generate an Ideogram 4.0 magic prompt.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MagicPromptV4Request"}}}}}},"/v1/ideogram-v4/describe":{"post":{"operationId":"post-describe-v-4","summary":"Describe with Ideogram 4.0","description":"Describe an image with Ideogram 4.0 and return a structured\n`V4JsonPrompt`. The returned `json_prompt` is a working JSON prompt\nthat can be passed directly as `json_prompt` to the\n`/v1/ideogram-v4/generate` family of endpoints.\n\nSupported image formats include JPEG, PNG, and WebP.\n","tags":["vision"],"parameters":[{"name":"Api-Key","in":"header","description":"API key for access control. Use in the header with the name \\\"Api-Key\\\"","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Structured V4 prompt generated successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DescribeResponseV4"}}}},"400":{"description":"Invalid input provided.","content":{"application/json":{"schema":{"description":"Any type"}}}},"422":{"description":"Image failed the safety check.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageSafetyError"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"description":"Any type"}}}},"503":{"description":"Took too long to finish.","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"image_file":{"type":"string","format":"binary","description":"An image binary (max size 10MB); only JPEG, WebP and PNG formats are supported at this time."},"include_bbox":{"type":"boolean","default":true,"description":"When true (default), the response preserves bounding boxes on each\nelement so the prompt can be pasted into `/v1/ideogram-v4/generate`\nas `json_prompt` and reproduce the source layout. Set to false to\ndrop bounding boxes and let the sampler place elements freely.\n"}},"required":["image_file"]}}}}}},"/v1/ideogram-v3/generate":{"post":{"operationId":"post-generate-image-v-3","summary":"Generate with Ideogram 3.0","description":"Generates images synchronously based on a given prompt and optional parameters using the Ideogram 3.0 model.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n","tags":["generate"],"parameters":[{"name":"Api-Key","in":"header","description":"API key for access control. Use in the header with the name \\\"Api-Key\\\"","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Image(s) generated successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageGenerationResponseV3"}}}},"400":{"description":"Invalid input provided.","content":{"application/json":{"schema":{"description":"Any type"}}}},"401":{"description":"Not authorized to generate an image.","content":{"application/json":{"schema":{"description":"Any type"}}}},"422":{"description":"Prompt failed the safety check.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateImageSafetyError"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"description":"A request to generate an image with Ideogram 3.0.","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"prompt":{"type":"string","description":"The prompt to use to generate the image."},"seed":{"type":"integer","description":"Random seed. Set for reproducible generation."},"resolution":{"$ref":"#/components/schemas/ResolutionV3"},"aspect_ratio":{"$ref":"#/components/schemas/AspectRatioV3"},"rendering_speed":{"$ref":"#/components/schemas/RenderingSpeed"},"magic_prompt":{"$ref":"#/components/schemas/MagicPromptOption"},"negative_prompt":{"type":"string","description":"Description of what to exclude from an image. Descriptions in the prompt take precedence\nto descriptions in the negative prompt.\n"},"num_images":{"type":"integer","default":1,"description":"Number of images to generate."},"color_palette":{"$ref":"#/components/schemas/ColorPaletteWithPresetNameOrMembers"},"style_codes":{"type":"array","items":{"$ref":"#/components/schemas/StyleCode"},"description":"A list of 8 character hexadecimal codes representing the style of the image. Cannot be used in conjunction with style_reference_images or style_type."},"style_type":{"$ref":"#/components/schemas/StyleTypeV3"},"style_preset":{"$ref":"#/components/schemas/StylePresetV3"},"custom_model_uri":{"type":"string","description":"A custom model URI in the format model/<model_name>/version/<version_name>. \nWhen provided, the model version and style will be resolved from this URI, and style_type is not required.\n"},"style_reference_images":{"type":"array","items":{"type":"string","format":"binary"},"description":"A set of images to use as style references (maximum total size 10MB across all style references). The images should be in JPEG, PNG or WebP format."},"character_reference_images":{"type":"array","items":{"type":"string","format":"binary"},"description":"Generations with character reference are subject to the character reference pricing. A set of images to use as character references (maximum total size 10MB across all character references), currently only supports 1 character reference image. The images should be in JPEG, PNG or WebP format."},"character_reference_images_mask":{"type":"array","items":{"type":"string","format":"binary"},"description":"Optional masks for character reference images. When provided, must match the number of character_reference_images. Each mask should be a grayscale image of the same dimensions as the corresponding character reference image. The images should be in JPEG, PNG or WebP format."},"enable_copyright_detection":{"type":["boolean","null"],"description":"Optional. Opt this request into post-generation copyright detection (Hive likeness + logo\nchecks). The effective gate is the OR of this field and the organization's\n`copyright_detection_enabled` setting on `/api`: if the org has it on, this is ignored;\nif the org has it off, setting this `true` enables detection for this request only.\nAdds detection latency. Flagged images come back with `is_image_safe: false`.\n"}},"required":["prompt"]}}}}}},"/v1/ideogram-v3/generate-transparent":{"post":{"operationId":"post-generate-image-v-3-transparent","summary":"Generate with Ideogram 3.0 (Transparent Background)","description":"Generates images with transparent background synchronously based on a given prompt and optional parameters using\nthe Ideogram 3.0 model. Images will be generated using maximum supported resolution at the specified aspect ratio\nto allow best results with upscaler. The selected resolution is written to the response, not the upscaled final\nresolution.\n\n`rendering_speed=FLASH` is not supported for transparent-background generation; the request will return a 400.\nUse `TURBO`, `DEFAULT`, or `QUALITY` instead.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n","tags":["generate"],"parameters":[{"name":"Api-Key","in":"header","description":"API key for access control. Use in the header with the name \\\"Api-Key\\\"","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Image(s) generated successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageGenerationResponseV3"}}}},"400":{"description":"Invalid input provided.","content":{"application/json":{"schema":{"description":"Any type"}}}},"401":{"description":"Not authorized to generate an image.","content":{"application/json":{"schema":{"description":"Any type"}}}},"422":{"description":"Prompt failed the safety check.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateImageSafetyError"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"description":"A request to generate an image with transparent background using Ideogram 3.0, with optional upscaling.","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"prompt":{"type":"string","description":"The prompt to use to generate the image."},"seed":{"type":"integer","description":"Random seed. Set for reproducible generation."},"upscale_factor":{"$ref":"#/components/schemas/UpscaleFactor"},"aspect_ratio":{"$ref":"#/components/schemas/AspectRatioV3"},"rendering_speed":{"$ref":"#/components/schemas/V1IdeogramV3GenerateTransparentPostRequestBodyContentMultipartFormDataSchemaRenderingSpeed","description":"The rendering speed to use. FLASH is not supported for transparent-background generation; requests with rendering_speed=FLASH will return a 400."},"magic_prompt":{"$ref":"#/components/schemas/MagicPromptOption"},"negative_prompt":{"type":"string","description":"Description of what to exclude from an image. Descriptions in the prompt take precedence\nto descriptions in the negative prompt.\n"},"num_images":{"type":"integer","default":1,"description":"Number of images to generate."},"enable_copyright_detection":{"type":["boolean","null"],"description":"Optional. Opt this request into post-generation copyright detection (Hive likeness + logo\nchecks). The effective gate is the OR of this field and the organization's\n`copyright_detection_enabled` setting on `/api`: if the org has it on, this is ignored;\nif the org has it off, setting this `true` enables detection for this request only.\nAdds detection latency. Flagged images come back with `is_image_safe: false`.\n"}},"required":["prompt"]}}}}}},"/v1/ideogram-v3/inpaint":{"post":{"operationId":"post-inpaint-image-v-3","summary":"Inpaint with Ideogram 3.0","description":"Inpaint a given image synchronously using the provided mask with Ideogram 3.0. The mask indicates which part of the image\nshould be edited, while the prompt and chosen style can further guide the edit.\n\nSupported image formats include JPEG, PNG, and WebP.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n","tags":["generate"],"parameters":[{"name":"Api-Key","in":"header","description":"API key for access control. Use in the header with the name \\\"Api-Key\\\"","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Image edits generated successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageGenerationResponseV3"}}}},"400":{"description":"Invalid input provided.","content":{"application/json":{"schema":{"description":"Any type"}}}},"401":{"description":"Not authorized to generate an image.","content":{"application/json":{"schema":{"description":"Any type"}}}},"422":{"description":"Prompt or Initial Image failed the safety checks.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateImageSafetyError"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"description":"A request to inpaint an image with Ideogram 3.0.","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"image":{"type":"string","format":"binary","description":"The image being edited (max size 10MB); only JPEG, WebP and PNG formats are supported at this time."},"mask":{"type":"string","format":"binary","description":"A black and white image of the same size as the image being edited (max size 10MB). Black regions in the mask should match up with the regions of the image that you would like to edit; only JPEG, WebP and PNG formats are supported at this time."},"prompt":{"type":"string","description":"The prompt used to describe the edited result."},"magic_prompt":{"$ref":"#/components/schemas/MagicPromptOption"},"num_images":{"$ref":"#/components/schemas/NumImages"},"seed":{"$ref":"#/components/schemas/Seed"},"rendering_speed":{"$ref":"#/components/schemas/RenderingSpeed"},"style_type":{"$ref":"#/components/schemas/StyleTypeV3"},"style_preset":{"$ref":"#/components/schemas/StylePresetV3"},"color_palette":{"$ref":"#/components/schemas/ColorPaletteWithPresetNameOrMembers"},"style_codes":{"$ref":"#/components/schemas/StyleCodes"},"style_reference_images":{"type":"array","items":{"type":"string","format":"binary"},"description":"A set of images to use as style references (maximum total size 10MB across all style references). The images should be in JPEG, PNG or WebP format."},"character_reference_images":{"type":"array","items":{"type":"string","format":"binary"},"description":"Generations with character reference are subject to the character reference pricing. A set of images to use as character references (maximum total size 10MB across all character references), currently only supports 1 character reference image. The images should be in JPEG, PNG or WebP format."},"character_reference_images_mask":{"type":"array","items":{"type":"string","format":"binary"},"description":"Optional masks for character reference images. When provided, must match the number of character_reference_images. Each mask should be a grayscale image of the same dimensions as the corresponding character reference image. The images should be in JPEG, PNG or WebP format."}},"required":["image","mask","prompt"]}}}}}},"/v1/ideogram-v3/remix":{"post":{"operationId":"post-remix-image-v-3","summary":"Remix with Ideogram 3.0","description":"Remix provided images synchronously based on a given prompt and optional parameters with the Ideogram 3.0 model.\n\nInput images are cropped to the chosen aspect ratio before being remixed.\n\nSupported image formats include JPEG, PNG, and WebP.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n","tags":["generate"],"parameters":[{"name":"Api-Key","in":"header","description":"API key for access control. Use in the header with the name \\\"Api-Key\\\"","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Image(s) generated successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageGenerationResponseV3"}}}},"400":{"description":"Invalid input provided.","content":{"application/json":{"schema":{"description":"Any type"}}}},"403":{"description":"Not authorized to generate an image.","content":{"application/json":{"schema":{"description":"Any type"}}}},"422":{"description":"Prompt or provided image failed safety check.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateImageSafetyError"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"description":"A request to remix an image with Ideogram 3.0.","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"image":{"type":"string","format":"binary","description":"The image to remix binary (max size 10MB); only JPEG, WebP and PNG formats are supported at this time."},"prompt":{"type":"string","description":"The prompt to use to generate the image."},"image_weight":{"type":"integer","default":50},"seed":{"$ref":"#/components/schemas/Seed"},"resolution":{"$ref":"#/components/schemas/ResolutionV3"},"aspect_ratio":{"$ref":"#/components/schemas/AspectRatioV3"},"rendering_speed":{"$ref":"#/components/schemas/RenderingSpeed"},"magic_prompt":{"$ref":"#/components/schemas/MagicPromptOption"},"negative_prompt":{"type":"string","description":"Description of what to exclude from an image. Descriptions in the prompt take precedence\nto descriptions in the negative prompt.\n"},"num_images":{"type":"integer","default":1,"description":"Number of images to generate."},"color_palette":{"$ref":"#/components/schemas/ColorPaletteWithPresetNameOrMembers"},"style_codes":{"$ref":"#/components/schemas/StyleCodes"},"style_type":{"$ref":"#/components/schemas/StyleTypeV3"},"style_preset":{"$ref":"#/components/schemas/StylePresetV3"},"style_reference_images":{"type":"array","items":{"type":"string","format":"binary"},"description":"A set of images to use as style references (maximum total size 10MB across all style references). The images should be in JPEG, PNG or WebP format."},"character_reference_images":{"type":"array","items":{"type":"string","format":"binary"},"description":"Generations with character reference are subject to the character reference pricing. A set of images to use as character references (maximum total size 10MB across all character references), currently only supports 1 character reference image. The images should be in JPEG, PNG or WebP format."},"character_reference_images_mask":{"type":"array","items":{"type":"string","format":"binary"},"description":"Optional masks for character reference images. When provided, must match the number of character_reference_images. Each mask should be a grayscale image of the same dimensions as the corresponding character reference image. The images should be in JPEG, PNG or WebP format."}},"required":["image","prompt"]}}}}}},"/v1/ideogram-v3/reframe":{"post":{"operationId":"post-reframe-image-v-3","summary":"Reframe with Ideogram 3.0","description":"Reframe a square image to a chosen resolution with Ideogram 3.0. The supported image formats include JPEG, PNG, and WebP.\n\nImage links are available for a limited period of time; if you would like to keep the image, you must download it.\n","tags":["generate"],"parameters":[{"name":"Api-Key","in":"header","description":"API key for access control. Use in the header with the name \\\"Api-Key\\\"","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Image re-frames generated successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageGenerationResponseV3"}}}},"400":{"description":"Invalid input provided.","content":{"application/json":{"schema":{"description":"Any type"}}}},"401":{"description":"Not authorized to generate an image.","content":{"application/json":{"schema":{"description":"Any type"}}}},"422":{"description":"Prompt or Image failed the safety checks.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateImageSafetyError"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"description":"A request to reframe an image in a new resolution.","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"image":{"type":"string","format":"binary","description":"The image being reframed (max size 10MB); only JPEG, WebP and PNG formats are supported at this time."},"resolution":{"$ref":"#/components/schemas/ResolutionV3"},"num_images":{"$ref":"#/components/schemas/NumImages"},"seed":{"$ref":"#/components/schemas/Seed"},"rendering_speed":{"$ref":"#/components/schemas/RenderingSpeed"},"style_preset":{"$ref":"#/components/schemas/StylePresetV3"},"color_palette":{"$ref":"#/components/schemas/ColorPaletteWithPresetNameOrMembers"},"style_codes":{"$ref":"#/components/schemas/StyleCodes"},"style_reference_images":{"type":"array","items":{"type":"string","format":"binary"},"description":"A set of images to use as style references (maximum total size 10MB across all style references). The images should be in JPEG, PNG or WebP format."}},"required":["image","resolution"]}}}}}},"/v1/ideogram-v3/replace-background":{"post":{"operationId":"post-replace-background-v-3","summary":"Replace Background with Ideogram 3.0","description":"Replace the background of a given image synchronously using a prompt with Ideogram 3.0. The foreground subject\nwill be identified and kept, while the background is replaced based on the prompt and chosen style.\nSupported image formats include JPEG, PNG, and WebP.\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n","tags":["generate"],"parameters":[{"name":"Api-Key","in":"header","description":"API key for access control. Use in the header with the name \\\"Api-Key\\\"","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Background replacement generated successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageGenerationResponseV3"}}}},"400":{"description":"Invalid input provided.","content":{"application/json":{"schema":{"description":"Any type"}}}},"401":{"description":"Not authorized to generate an image.","content":{"application/json":{"schema":{"description":"Any type"}}}},"422":{"description":"Prompt or Initial Image failed the safety checks.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateImageSafetyError"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"description":"A request to replace the background of an image with Ideogram 3.0.","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"image":{"type":"string","format":"binary","description":"The image whose background is being replaced (max size 10MB); only JPEG, WebP and PNG formats are supported at this time."},"prompt":{"type":"string","description":"The prompt describing the desired new background."},"magic_prompt":{"$ref":"#/components/schemas/MagicPromptOption"},"num_images":{"$ref":"#/components/schemas/NumImages"},"seed":{"$ref":"#/components/schemas/Seed"},"rendering_speed":{"$ref":"#/components/schemas/RenderingSpeed"},"style_preset":{"$ref":"#/components/schemas/StylePresetV3"},"color_palette":{"$ref":"#/components/schemas/ColorPaletteWithPresetNameOrMembers"},"style_codes":{"$ref":"#/components/schemas/StyleCodes"},"style_reference_images":{"type":"array","items":{"type":"string","format":"binary"},"description":"A set of images to use as style references (maximum total size 10MB across all style references). The images should be in JPEG, PNG or WebP format."}},"required":["image","prompt"]}}}}}},"/v1/remove-background":{"post":{"operationId":"post-remove-background","summary":"Remove Background","description":"Remove the background of a given image synchronously. The foreground subject\nis identified and returned on a transparent background. Supported image formats include JPEG,\nPNG, and WebP.\nImage links are available for a limited period of time; if you would like to keep the image,\nyou must download it.\n","tags":["generate"],"parameters":[{"name":"Api-Key","in":"header","description":"API key for access control. Use in the header with the name \\\"Api-Key\\\"","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Background removed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveBackgroundResponse"}}}},"400":{"description":"Invalid input provided.","content":{"application/json":{"schema":{"description":"Any type"}}}},"401":{"description":"Not authorized to remove background.","content":{"application/json":{"schema":{"description":"Any type"}}}},"422":{"description":"Initial image failed the safety checks.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateImageSafetyError"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"description":"A request to remove the background of an image.","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"image":{"type":"string","format":"binary","description":"The image whose background is being removed (max size 10MB); only JPEG, WebP and PNG formats are supported at this time."}},"required":["image"]}}}}}},"/v1/remove-object":{"post":{"operationId":"post-remove-object","summary":"Remove Object","description":"Remove a masked object from a given image synchronously. Supply the image and a binary mask marking the region to remove (white = remove); the masked region is regenerated to blend with the surrounding scene. Supported image formats include JPEG, PNG, and WebP. Image links are available for a limited period of time; if you would like to keep the image, you must download it.","tags":["generate"],"parameters":[{"name":"Api-Key","in":"header","description":"API key for access control. Use in the header with the name \\\"Api-Key\\\"","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Object removed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveObjectResponse"}}}},"400":{"description":"Invalid input provided.","content":{"application/json":{"schema":{"description":"Any type"}}}},"401":{"description":"Not authorized to remove object.","content":{"application/json":{"schema":{"description":"Any type"}}}},"422":{"description":"Initial image failed the safety checks.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateImageSafetyError"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"description":"A request to remove a masked object from an image.","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"image":{"type":"string","format":"binary","description":"The image to remove an object from (max size 10MB); only JPEG, WebP and PNG formats are supported at this time."},"mask":{"type":"string","format":"binary","description":"A binary mask the same size as the image; white (>= 128) marks the region to remove. Only JPEG, WebP and PNG formats are supported."},"seed":{"type":["integer","null"],"description":"Optional random seed for reproducible output. When omitted, a random seed is chosen."},"num_inference_steps":{"type":["integer","null"],"description":"Optional number of diffusion steps. Higher is slower but can improve quality; values are clamped to [1, 128]. When omitted, the model default is used."},"guidance_scale":{"type":["number","null"],"format":"double","description":"Optional classifier-free guidance (CFG) scale. Higher follows the removal instruction more strongly; values are clamped to [1, 10]. When omitted, the model default is used."},"rendering_speed":{"$ref":"#/components/schemas/RenderingSpeed"}},"required":["image","mask"]}}}}}},"/v1/ideogram-v3/layerize-text":{"post":{"operationId":"post-layerize-text-v-3","summary":"Layerize Text","description":"Analyzes an image to detect text regions, then returns each detected text block with its position, content, font information, and styling.\n\nThe response includes a text-erased base image (background with all text removed) and a flat list of detected text blocks.\n\nSupported image formats include JPEG, PNG, and WebP (max size 10MB).\n\nImage links are available for a limited period of time; if you would like to keep the image, you must download it.\n","tags":["generate"],"parameters":[{"name":"Api-Key","in":"header","description":"API key for access control. Use in the header with the name \\\"Api-Key\\\"","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Text layers detected and extracted successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerizeTextResponse"}}}},"400":{"description":"Invalid input provided.","content":{"application/json":{"schema":{"description":"Any type"}}}},"401":{"description":"Not authorized.","content":{"application/json":{"schema":{"description":"Any type"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"description":"A request to detect and extract text layers from an image.","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"image":{"type":"string","format":"binary","description":"The image to analyze for text detection. The image should be in JPEG, PNG, or WebP format (max size 10MB)."},"prompt":{"type":"string","description":"An optional text description of the image. If not provided, a description will be auto-generated from the image."},"seed":{"$ref":"#/components/schemas/Seed"}},"required":["image"]}}}}}},"/v1/edit":{"post":{"operationId":"post-v-1-edit-image","summary":"Edit images with a prompt","description":"Edit one or more images using a text prompt. Provide images via file upload\nor Ideogram image URLs, and describe the desired edit in your prompt.\n\nSupported image formats include JPEG, PNG, and WebP.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n","tags":["generate"],"parameters":[{"name":"Api-Key","in":"header","description":"API key for access control. Use in the header with the name \\\"Api-Key\\\"","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Image edits generated successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V1EditImagesResponse"}}}},"400":{"description":"Invalid input provided.","content":{"application/json":{"schema":{"description":"Any type"}}}},"401":{"description":"Not authorized to generate an image.","content":{"application/json":{"schema":{"description":"Any type"}}}},"402":{"description":"Insufficient credits or quota.","content":{"application/json":{"schema":{"description":"Any type"}}}},"422":{"description":"Prompt or provided image failed safety checks.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateImageSafetyError"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"description":"Any type"}}}},"503":{"description":"Image generation service temporarily unavailable.","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"description":"A request to edit images.","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"prompt":{"type":"string","description":"The prompt describing the desired edit."},"images":{"type":"array","items":{"type":"string","format":"binary"},"description":"Images to edit (max 10 images, max size 10MB each); JPEG, WebP and PNG formats are supported."},"image_urls":{"type":"array","items":{"type":"string"},"description":"URLs to Ideogram images to use as references (max 10). Supports URLs from generation responses and image uploads. Alternative to uploading via the images field."},"num_images":{"$ref":"#/components/schemas/NumImages"},"seed":{"$ref":"#/components/schemas/Seed"},"magic_prompt":{"$ref":"#/components/schemas/MagicPromptOption"},"resolution":{"$ref":"#/components/schemas/ResolutionV3"},"aspect_ratio":{"$ref":"#/components/schemas/AspectRatioV3"},"transparent_background":{"type":"boolean","default":false,"description":"Whether the output should have a transparent background. Default false.\n\nWhen more than one image is supplied, the first image is treated as\nthe image being edited and drives the transparency decision.\n"}},"required":["prompt"]}}}}}},"/upscale":{"post":{"operationId":"post-upscale-image","summary":"Upscale","description":"Upscale provided images synchronously with an optional prompt.\n\nSupported image formats include JPEG, PNG, and WebP.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n","tags":["generate"],"parameters":[{"name":"Api-Key","in":"header","description":"API key for access control. Use in the header with the name \\\"Api-Key\\\"","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Image(s) generated successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateImageResponse"}}}},"400":{"description":"Invalid input provided.","content":{"application/json":{"schema":{"description":"Any type"}}}},"403":{"description":"Not authorized to generate an image.","content":{"application/json":{"schema":{"description":"Any type"}}}},"422":{"description":"Prompt or provided image failed safety check.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateImageSafetyError"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"description":"A request to upscale a provided image with Ideogram.","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"image_request":{"$ref":"#/components/schemas/UpscaleInitialImageRequest"},"image_file":{"type":"string","format":"binary","description":"An image binary (max size 10MB); only JPEG, WebP and PNG formats are supported at this time."}},"required":["image_request","image_file"]}}}}}},"/describe":{"post":{"operationId":"post-describe","summary":"Describe","description":"Describe an image.\n\nSupported image formats include JPEG, PNG, and WebP.\n","tags":["vision"],"parameters":[{"name":"Api-Key","in":"header","description":"API key for access control. Use in the header with the name \\\"Api-Key\\\"","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Description(s) created successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DescribeResponse"}}}},"400":{"description":"Invalid input provided.","content":{"application/json":{"schema":{"description":"Any type"}}}},"422":{"description":"Image failed the safety check.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageSafetyError"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"image_file":{"type":"string","format":"binary","description":"An image binary (max size 10MB); only JPEG, WebP and PNG formats are supported at this time."},"describe_model_version":{"$ref":"#/components/schemas/DescribeModelVersion"}},"required":["image_file"]}}}}}},"/generate":{"post":{"operationId":"post-generate-image","summary":"Generate (legacy)","description":"Generates images synchronously based on a given prompt and optional parameters.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n","tags":["generate"],"parameters":[{"name":"Api-Key","in":"header","description":"API key for access control. Use in the header with the name \\\"Api-Key\\\"","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Image(s) generated successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateImageResponse"}}}},"400":{"description":"Invalid input provided.","content":{"application/json":{"schema":{"description":"Any type"}}}},"401":{"description":"Not authorized to generate an image.","content":{"application/json":{"schema":{"description":"Any type"}}}},"422":{"description":"Prompt failed the safety check.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateImageSafetyError"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"description":"A request to generate an image with Ideogram.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateImageRequest"}}}}}},"/v1/ideogram-v3/edit":{"post":{"operationId":"post-edit-image-v-3","summary":"Edit with Ideogram 3.0 (legacy)","description":"Legacy: use [`POST /v1/ideogram-v3/inpaint`](/api-reference/api-reference/inpaint-v3) instead. This endpoint will be removed in a future release.\n\nEdit a given image synchronously using the provided mask with Ideogram 3.0. The mask indicates which part of the image\nshould be edited, while the prompt and chosen style can further guide the edit.\n\nSupported image formats include JPEG, PNG, and WebP.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n","tags":["generate"],"parameters":[{"name":"Api-Key","in":"header","description":"API key for access control. Use in the header with the name \\\"Api-Key\\\"","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Image edits generated successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageGenerationResponseV3"}}}},"400":{"description":"Invalid input provided.","content":{"application/json":{"schema":{"description":"Any type"}}}},"401":{"description":"Not authorized to generate an image.","content":{"application/json":{"schema":{"description":"Any type"}}}},"422":{"description":"Prompt or Initial Image failed the safety checks.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateImageSafetyError"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"description":"A request to edit an image with Ideogram 3.0.","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"image":{"type":"string","format":"binary","description":"The image being edited (max size 10MB); only JPEG, WebP and PNG formats are supported at this time."},"mask":{"type":"string","format":"binary","description":"A black and white image of the same size as the image being edited (max size 10MB). Black regions in the mask should match up with the regions of the image that you would like to edit; only JPEG, WebP and PNG formats are supported at this time."},"prompt":{"type":"string","description":"The prompt used to describe the edited result."},"magic_prompt":{"$ref":"#/components/schemas/MagicPromptOption"},"num_images":{"$ref":"#/components/schemas/NumImages"},"seed":{"$ref":"#/components/schemas/Seed"},"rendering_speed":{"$ref":"#/components/schemas/RenderingSpeed"},"style_type":{"$ref":"#/components/schemas/StyleTypeV3"},"style_preset":{"$ref":"#/components/schemas/StylePresetV3"},"color_palette":{"$ref":"#/components/schemas/ColorPaletteWithPresetNameOrMembers"},"style_codes":{"$ref":"#/components/schemas/StyleCodes"},"style_reference_images":{"type":"array","items":{"type":"string","format":"binary"},"description":"A set of images to use as style references (maximum total size 10MB across all style references). The images should be in JPEG, PNG or WebP format."},"character_reference_images":{"type":"array","items":{"type":"string","format":"binary"},"description":"Generations with character reference are subject to the character reference pricing. A set of images to use as character references (maximum total size 10MB across all character references), currently only supports 1 character reference image. The images should be in JPEG, PNG or WebP format."},"character_reference_images_mask":{"type":"array","items":{"type":"string","format":"binary"},"description":"Optional masks for character reference images. When provided, must match the number of character_reference_images. Each mask should be a grayscale image of the same dimensions as the corresponding character reference image. The images should be in JPEG, PNG or WebP format."}},"required":["image","mask","prompt"]}}}}}},"/edit":{"post":{"operationId":"post-edit-image","summary":"Edit (legacy)","description":"Edit a given image synchronously using the provided mask. The mask indicates which part of the image\nshould be edited, while the prompt and chosen style type can further guide the edit.\n\nSupported image formats include JPEG, PNG, and WebP.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n","tags":["generate"],"parameters":[{"name":"Api-Key","in":"header","description":"API key for access control. Use in the header with the name \\\"Api-Key\\\"","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Image edits generated successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateImageResponse"}}}},"400":{"description":"Invalid input provided.","content":{"application/json":{"schema":{"description":"Any type"}}}},"401":{"description":"Not authorized to generate an image.","content":{"application/json":{"schema":{"description":"Any type"}}}},"422":{"description":"Prompt or Initial Image failed the safety checks.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateImageSafetyError"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"description":"A request to edit an image with Ideogram.","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"image_file":{"type":"string","format":"binary","description":"An image binary (max size 10MB); only JPEG, WebP and PNG formats are supported at this time."},"mask":{"type":"string","format":"binary","description":"A black and white image of the same size as the image being edited (max size 10MB). Black regions in the mask should match up with the regions of the image that you would like to edit; only JPEG, WebP and PNG formats are supported at this time."},"prompt":{"type":"string","description":"The prompt used to describe the edited result."},"model":{"$ref":"#/components/schemas/ModelEnum"},"magic_prompt_option":{"$ref":"#/components/schemas/MagicPromptOption"},"num_images":{"$ref":"#/components/schemas/NumImages"},"seed":{"$ref":"#/components/schemas/Seed"},"style_type":{"$ref":"#/components/schemas/StyleType"}},"required":["image_file","mask","prompt","model"]}}}}}},"/remix":{"post":{"operationId":"post-remix-image","summary":"Remix (legacy)","description":"Remix provided images synchronously based on a given prompt and optional parameters.\n\nInput images are cropped to the chosen aspect ratio before being remixed.\n\nSupported image formats include JPEG, PNG, and WebP.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.\n","tags":["generate"],"parameters":[{"name":"Api-Key","in":"header","description":"API key for access control. Use in the header with the name \\\"Api-Key\\\"","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Image(s) generated successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateImageResponse"}}}},"400":{"description":"Invalid input provided.","content":{"application/json":{"schema":{"description":"Any type"}}}},"403":{"description":"Not authorized to generate an image.","content":{"application/json":{"schema":{"description":"Any type"}}}},"422":{"description":"Prompt or provided image failed safety check.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateImageSafetyError"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"description":"A request to remix a provided image with Ideogram. Input images are cropped to the chosen aspect ratio before being remixed.","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"image_request":{"$ref":"#/components/schemas/InitialImageRequest"},"image_file":{"type":"string","format":"binary","description":"An image binary (max size 10MB); only JPEG, WebP and PNG formats are supported at this time."}},"required":["image_request","image_file"]}}}}}},"/reframe":{"post":{"operationId":"post-reframe-image","summary":"Reframe (legacy)","description":"Reframe a square image to a chosen resolution. The supported image formats include JPEG, PNG, and WebP.\n\nImage links are available for a limited period of time; if you would like to keep the image, you must download it.\n","tags":["generate"],"parameters":[{"name":"Api-Key","in":"header","description":"API key for access control. Use in the header with the name \\\"Api-Key\\\"","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Image re-frames generated successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateImageResponse"}}}},"400":{"description":"Invalid input provided.","content":{"application/json":{"schema":{"description":"Any type"}}}},"401":{"description":"Not authorized to generate an image.","content":{"application/json":{"schema":{"description":"Any type"}}}},"422":{"description":"Prompt or Image failed the safety checks.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateImageSafetyError"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"description":"A request to reframe an image in a new resolution.","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"image_file":{"type":"string","format":"binary","description":"The image being reframed (max size 10MB); only JPEG, WebP and PNG formats are supported at this time."},"resolution":{"$ref":"#/components/schemas/Resolution"},"model":{"$ref":"#/components/schemas/ModelEnum"},"num_images":{"$ref":"#/components/schemas/NumImages"},"seed":{"$ref":"#/components/schemas/Seed"},"style_type":{"$ref":"#/components/schemas/StyleType"}},"required":["image_file","resolution","model"]}}}}}},"/datasets":{"get":{"operationId":"list-datasets","summary":"List datasets","description":"Lists datasets for the authenticated user, most recently updated first. Supports an optional case-insensitive name search.\n","tags":["datasets"],"parameters":[{"name":"search","in":"query","description":"Case-insensitive substring to match against dataset names. When omitted, datasets are not filtered by name.\n","required":false,"schema":{"type":"string"}},{"name":"Api-Key","in":"header","description":"API key for access control. Use in the header with the name \\\"Api-Key\\\"","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Datasets retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListDatasetsResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"description":"Any type"}}}}}},"post":{"operationId":"create-dataset","summary":"Create a new dataset","description":"Creates a new dataset","tags":["datasets"],"parameters":[{"name":"Api-Key","in":"header","description":"API key for access control. Use in the header with the name \\\"Api-Key\\\"","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Dataset created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dataset"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"description":"Any type"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"description":"Request to create a new dataset","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDatasetRequest"}}}}}},"/datasets/{dataset_id}":{"get":{"operationId":"get-dataset","summary":"Get a dataset","description":"Returns a dataset by ID, including the total number of files and a list of each file's name and size in bytes.\n","tags":["datasets"],"parameters":[{"name":"dataset_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Api-Key","in":"header","description":"API key for access control. Use in the header with the name \\\"Api-Key\\\"","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Dataset retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetDatasetResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"description":"Any type"}}}},"404":{"description":"Dataset not found","content":{"application/json":{"schema":{"description":"Any type"}}}}}}},"/datasets/{dataset_id}/upload_assets":{"post":{"operationId":"upload-dataset-assets","summary":"Upload assets to a dataset","description":"Upload image assets to a dataset for model training. Accepts individual images (JPEG, PNG, WebP), optional .txt caption sidecar files, and/or ZIP archives containing images and captions. A dataset can contain up to 100 images.\n","tags":["datasets"],"parameters":[{"name":"dataset_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Api-Key","in":"header","description":"API key for access control. Use in the header with the name \\\"Api-Key\\\"","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Upload summary","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadDatasetAssetsResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"description":"Any type"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"description":"Any type"}}}},"404":{"description":"Dataset not found","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"files":{"type":"array","items":{"type":"string","format":"binary"},"description":"Image files (JPEG, PNG, WebP), .txt caption sidecar files, and/or ZIP archives containing images and captions. Caption .txt files are matched to images by filename stem (e.g. sunset.txt provides the caption for sunset.jpg). Captions are optional!\n"}},"required":["files"]}}}}}},"/v1/ideogram-v3/train-model":{"post":{"operationId":"train-model-v-3","summary":"Train a custom Ideogram v3 model","description":"Start training a custom Ideogram v3 model from a dataset using default hyperparameters. The dataset must contain at least 15 images and a maximum of 100 images.\n","tags":["models"],"parameters":[{"name":"Api-Key","in":"header","description":"API key for access control. Use in the header with the name \\\"Api-Key\\\"","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Training started successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrainDatasetModelResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"description":"Any type"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"description":"Any type"}}}},"404":{"description":"Dataset not found","content":{"application/json":{"schema":{"description":"Any type"}}}}},"requestBody":{"description":"Training configuration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrainModelV3Request"}}}}}},"/models":{"get":{"operationId":"list-custom-models","summary":"List models","description":"Lists custom models for the authenticated user. Use the `scope` parameter to control which models are returned. If omitted, returns both owned models and models shared with the user's organization via the model registry. `owned` returns only models created by the user. `shared` returns only models shared via the model registry, excluding the user's own models.\n","tags":["models"],"parameters":[{"name":"scope","in":"query","description":"Controls which models are returned. Omit to return both owned and shared models combined. `owned` returns only models created by the authenticated user. `shared` returns only models shared with the user's organization via the model registry.\n","required":false,"schema":{"$ref":"#/components/schemas/ModelsGetParametersScope"}},{"name":"status","in":"query","description":"Filter by model status. Applied to owned models only; shared models in the model registry are already filtered to available versions. Example: `?status=TRAINING&status=COMPLETED`\n","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/ModelStatus"}}},{"name":"Api-Key","in":"header","description":"API key for access control. Use in the header with the name \\\"Api-Key\\\"","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Models retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListModelsResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"description":"Any type"}}}}}}},"/models/{model_id}":{"get":{"operationId":"get-custom-model","summary":"Get model details","description":"Get detailed information about a specific custom model. The user must either own the model or the model must be shared with the user's organization via the model registry. Returns 404 if the model is not found or not accessible.\n","tags":["models"],"parameters":[{"name":"model_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"Api-Key","in":"header","description":"API key for access control. Use in the header with the name \\\"Api-Key\\\"","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Model retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetModelResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"description":"Any type"}}}},"404":{"description":"Model not found","content":{"application/json":{"schema":{"description":"Any type"}}}}}}}},"servers":[{"url":"https://api.ideogram.ai","description":"https://api.ideogram.ai"}],"components":{"schemas":{"V4StyleDescription":{"type":"object","properties":{"aesthetics":{"type":"string","description":"Aesthetic notes (mood, vibe, references)."},"art_style":{"type":"string","description":"Optional art-style hint (e.g., illustration, oil painting)."},"lighting":{"type":"string","description":"Lighting description."},"medium":{"type":"string","description":"Medium description (e.g., photograph, digital art)."},"photo":{"type":"string","description":"Optional photographic style notes (e.g., lens, film stock)."},"color_palette":{"type":"array","items":{"type":"string"},"description":"Optional list of hex color strings (e.g. \"#FFD700\") that bias the\nIdeogram 4.0 output toward this palette. Applied as a soft color bias,\nnot an exact per-pixel lock.\n"}},"description":"Optional style description supplied alongside a V4 JSON prompt.","title":"V4StyleDescription"},"V4ObjPromptElementType":{"type":"string","enum":["obj"],"description":"Discriminator. Must be `obj`.","title":"V4ObjPromptElementType"},"V4ObjPromptElement":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/V4ObjPromptElementType","description":"Discriminator. Must be `obj`."},"bbox":{"type":"array","items":{"type":"integer"},"description":"Bounding box for an element, expressed as four integers in `[0, 1000]`\nwith `[y_min, x_min, y_max, x_max]` semantics (row-first). Values are\nnormalized so the canvas is `1000 x 1000` regardless of the final\nresolution.\n"},"desc":{"type":"string","description":"Description of the object element."},"color_palette":{"type":"array","items":{"type":"string"},"description":"Optional list of hex color strings (e.g. \"#FFD700\") that bias the\nIdeogram 4.0 output toward this palette. Applied as a soft color bias,\nnot an exact per-pixel lock.\n"}},"required":["type","desc"],"description":"A non-text element (object, character, background detail) in the V4 prompt layout.","title":"V4ObjPromptElement"},"V4TextPromptElementType":{"type":"string","enum":["text"],"description":"Discriminator. Must be `text`.","title":"V4TextPromptElementType"},"V4TextPromptElement":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/V4TextPromptElementType","description":"Discriminator. Must be `text`."},"bbox":{"type":"array","items":{"type":"integer"},"description":"Bounding box for an element, expressed as four integers in `[0, 1000]`\nwith `[y_min, x_min, y_max, x_max]` semantics (row-first). Values are\nnormalized so the canvas is `1000 x 1000` regardless of the final\nresolution.\n"},"text":{"type":"string","description":"The literal text to render in the image."},"desc":{"type":"string","description":"Description of the text element (style, role, placement notes)."},"color_palette":{"type":"array","items":{"type":"string"},"description":"Optional list of hex color strings (e.g. \"#FFD700\") that bias the\nIdeogram 4.0 output toward this palette. Applied as a soft color bias,\nnot an exact per-pixel lock.\n"}},"required":["type","text","desc"],"description":"A text element to render in the V4 prompt layout.","title":"V4TextPromptElement"},"V4PromptElement":{"oneOf":[{"$ref":"#/components/schemas/V4ObjPromptElement"},{"$ref":"#/components/schemas/V4TextPromptElement"}],"description":"A single element in the V4 prompt's compositional deconstruction.\nDiscriminated by the `type` field.\n","title":"V4PromptElement"},"V4CompositionalDeconstruction":{"type":"object","properties":{"background":{"type":"string","description":"Description of the background of the scene."},"elements":{"type":"array","items":{"$ref":"#/components/schemas/V4PromptElement"},"description":"Ordered list of elements (objects and text) composing the scene."}},"required":["background","elements"],"description":"The compositional breakdown of a V4 prompt — background plus an ordered list of elements.","title":"V4CompositionalDeconstruction"},"V4JsonPrompt":{"type":"object","properties":{"high_level_description":{"type":"string","description":"One- or two-sentence overall description of the desired image."},"style_description":{"$ref":"#/components/schemas/V4StyleDescription"},"compositional_deconstruction":{"$ref":"#/components/schemas/V4CompositionalDeconstruction"}},"required":["high_level_description","compositional_deconstruction"],"description":"Structured prompt for Ideogram 4.0 generation. When `json_prompt` is\nsupplied, magic-prompt is disabled and the diffusion model consumes\nthe JSON contract directly. Mutually exclusive with `text_prompt`\nand the legacy `prompt` field.\n","title":"V4JsonPrompt"},"ResolutionV4":{"type":"string","enum":["2048x2048","1440x2880","2880x1440","1664x2496","2496x1664","1792x2240","2240x1792","1440x2560","2560x1440","1600x2560","2560x1600","1728x2304","2304x1728","1296x3168","3168x1296","1152x2944","2944x1152","1248x3328","3328x1248","1280x3072","3072x1280","1024x3072","3072x1024","1024x1024","896x1120","1120x896","864x1152","1152x864","832x1248","1248x832","800x1280","1280x800","720x1280","1280x720","720x1440","1440x720","512x1536","1536x512"],"description":"The 1K and 2K resolutions supported for Ideogram 4.0 image generation.","title":"ResolutionV4"},"RenderingSpeed":{"type":"string","enum":["FLASH","TURBO","DEFAULT","QUALITY"],"default":"DEFAULT","description":"The rendering speed to use.","title":"RenderingSpeed"},"ImageGenerationResponseV4ResponseType":{"type":"string","enum":["url"],"description":"Discriminator for the postGenerateDesignV4 oneOf response. Always \"url\" for this shape.","title":"ImageGenerationResponseV4ResponseType"},"ImageGenerationObjectV4":{"type":"object","properties":{"url":{"type":["string","null"],"format":"uri","description":"The direct link to the image generated."},"prompt":{"type":"string","description":"The prompt used for the generation. This may be different from the original prompt."},"resolution":{"type":"string","description":"The output resolution of the image, in the format\nWIDTHxHEIGHT (e.g. 1024x1024). Not limited to the request\nresolution presets, since some endpoints accept custom output\nsizes.\n"},"is_image_safe":{"type":"boolean","description":"Whether this request passes safety checks. If false, the url field will be empty."},"seed":{"type":"integer","description":"Random seed. Set for reproducible generation."}},"required":["prompt","resolution","is_image_safe","seed"],"title":"ImageGenerationObjectV4"},"ImageGenerationResponseV4":{"type":"object","properties":{"response_type":{"$ref":"#/components/schemas/ImageGenerationResponseV4ResponseType","description":"Discriminator for the postGenerateDesignV4 oneOf response. Always \"url\" for this shape."},"created":{"type":"string","format":"date-time","description":"The time the request was created."},"data":{"type":"array","items":{"$ref":"#/components/schemas/ImageGenerationObjectV4"},"description":"A list of ImageObjects that contain the generated image(s)."}},"required":["created","data"],"description":"The response which contains information about the generated image, including the download link.\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.","title":"ImageGenerationResponseV4"},"GenerateImageSafetyError":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"title":"GenerateImageSafetyError"},"MagicPromptOption":{"type":"string","enum":["AUTO","ON","OFF"],"description":"Determine if MagicPrompt should be used in generating the request or not.","title":"MagicPromptOption"},"Quality":{"type":"string","enum":["VERY_LOW","LOW","MEDIUM","HIGH"],"description":"The generation quality level. Higher levels may use more inference steps\nor additional prompt processing.\n","title":"Quality"},"PImageResolution":{"type":"string","enum":["1K","2K"],"description":"The output-size tier for P-Image Ideogram.","title":"PImageResolution"},"AspectRatioV3":{"type":"string","enum":["1x3","3x1","1x2","2x1","9x16","16x9","10x16","16x10","2x3","3x2","3x4","4x3","4x5","5x4","1x1"],"description":"The aspect ratio to use for image generation, which determines the image's resolution. Cannot be used in conjunction with resolution. Defaults to 1x1.","title":"AspectRatioV3"},"WebhookUrl":{"type":"string","format":"uri","description":"HTTPS URL that Ideogram delivers the generated result to. Ideogram sends a\nJSON POST to this URL once all images for the request have finished\ngenerating. The body mirrors the synchronous generate response:\n`request_id`, `created`, and a `data` array\ncontaining every generated image (`url`, `prompt`, `resolution`, `seed`,\n`is_image_safe`). Each delivery is signed with Ed25519 and verifiable\nagainst the public keys at `https://api.ideogram.ai/v1/.well-known/jwks.json`. Must be HTTPS;\nprivate and loopback hosts and the cloud metadata service are rejected.\n","title":"WebhookUrl"},"AsyncImageGenerationResponseV4":{"type":"object","properties":{"generation_id":{"type":"string","description":"URL-safe base64 ID of the accepted generation. Matches the\n`generation_id` field delivered in the webhook payload, and the\n`generation_id` accepted by the generation polling endpoint.\n"}},"required":["generation_id"],"description":"Acknowledgement returned by the async (webhook) generation endpoints. The\nrequest is accepted for asynchronous processing and the generated images\nare POSTed to the supplied `webhook_url` once ready; this body carries only\nthe generation_id so the caller can correlate the eventual webhook delivery.\n","title":"AsyncImageGenerationResponseV4"},"GenerationResponseStatus":{"type":"string","enum":["pending","completed","failed"],"description":"Current status of the generation. `pending`: still in progress; the response contains only `generation_id`, `status`, and `created`. `completed`: finished successfully; the response also includes `response_type` and `data`. `failed`: generation did not succeed; the response contains only `generation_id`, `status`, and `created`.","title":"GenerationResponseStatus"},"GenerationResponseResponseType":{"type":"string","enum":["url"],"description":"Present when `status` is `completed`; always \"url\" for this shape.","title":"GenerationResponseResponseType"},"GenerationResponse":{"type":"object","properties":{"generation_id":{"type":"string","description":"URL-safe base64 ID of the generation."},"status":{"$ref":"#/components/schemas/GenerationResponseStatus","description":"Current status of the generation. `pending`: still in progress; the response contains only `generation_id`, `status`, and `created`. `completed`: finished successfully; the response also includes `response_type` and `data`. `failed`: generation did not succeed; the response contains only `generation_id`, `status`, and `created`."},"created":{"type":"string","format":"date-time","description":"The time the generation was created."},"response_type":{"$ref":"#/components/schemas/GenerationResponseResponseType","description":"Present when `status` is `completed`; always \"url\" for this shape."},"failure_reason":{"type":"string","description":"A short machine-readable reason the generation failed, for example\n`content_policy_violation`. Present only when `status` is `failed`.\n"}},"required":["generation_id","status","created"],"description":"The current status and, when complete, result data for an asynchronous generation.","title":"GenerationResponse"},"AspectRatioV4":{"type":"string","enum":["AUTO","1x4","1x3","1x2","9x16","10x16","2x3","3x4","4x5","1x1","5x4","4x3","3x2","16x10","16x9","2x1","3x1","4x1"],"default":"AUTO","description":"The aspect ratio for an Ideogram 4.0 magic prompt. `AUTO` lets the\nmodel select the most suitable ratio from the prompt; any other value\npins the ratio. The non-AUTO values are the buckets the 4.0 model\nsupports.\n","title":"AspectRatioV4"},"MagicPromptV4Request":{"type":"object","properties":{"text_prompt":{"type":"string","description":"The natural-language prompt to enhance into an Ideogram 4.0 magic\nprompt. Named `text_prompt` to match the Ideogram 4.0 generate\nrequest surface.\n"},"aspect_ratio":{"$ref":"#/components/schemas/AspectRatioV4","description":"Target aspect ratio. Defaults to `AUTO`, which lets the model\nselect the most suitable ratio and return it in the response.\n"}},"required":["text_prompt"],"description":"A request to generate an Ideogram 4.0 magic prompt.","title":"MagicPromptV4Request"},"MagicPromptV4Response":{"type":"object","properties":{"json_prompt":{"$ref":"#/components/schemas/V4JsonPrompt","description":"The enhanced prompt as an Ideogram 4.0 structured JSON prompt. This\nconforms to the same contract as `json_prompt` on\n`/v1/ideogram-v4/generate`, so it can be passed straight back to\nthat endpoint.\n"},"aspect_ratio":{"$ref":"#/components/schemas/AspectRatioV4","description":"The resolved aspect ratio. When the request used `AUTO`, this is\nthe ratio the model selected; otherwise it echoes the request.\n"}},"required":["json_prompt","aspect_ratio"],"description":"The response containing the generated Ideogram 4.0 magic prompt.","title":"MagicPromptV4Response"},"DescribeResponseV4":{"type":"object","properties":{"json_prompt":{"$ref":"#/components/schemas/V4JsonPrompt"}},"required":["json_prompt"],"description":"The response for an Ideogram 4.0 describe request. The `json_prompt`\nfield is a structured `V4JsonPrompt` that can be passed back as\n`json_prompt` to the `/v1/ideogram-v4/generate` family of endpoints.\n","title":"DescribeResponseV4"},"ImageSafetyError":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"title":"ImageSafetyError"},"ResolutionV3":{"type":"string","enum":["512x1536","576x1408","576x1472","576x1536","640x1344","640x1408","640x1472","640x1536","704x1152","704x1216","704x1280","704x1344","704x1408","704x1472","736x1312","768x1088","768x1216","768x1280","768x1344","800x1280","832x960","832x1024","832x1088","832x1152","832x1216","832x1248","864x1152","896x960","896x1024","896x1088","896x1120","896x1152","960x832","960x896","960x1024","960x1088","1024x832","1024x896","1024x960","1024x1024","1088x768","1088x832","1088x896","1088x960","1120x896","1152x704","1152x832","1152x864","1152x896","1216x704","1216x768","1216x832","1248x832","1280x704","1280x768","1280x800","1312x736","1344x640","1344x704","1344x768","1408x576","1408x640","1408x704","1472x576","1472x640","1472x704","1536x512","1536x576","1536x640"],"description":"The resolutions supported for Ideogram 3.0.","title":"ResolutionV3"},"ColorPalettePresetName":{"type":"string","enum":["EMBER","FRESH","JUNGLE","MAGIC","MELON","MOSAIC","PASTEL","ULTRAMARINE"],"description":"A color palette preset value.","title":"ColorPalettePresetName"},"ColorPaletteWithPresetName":{"type":"object","properties":{"name":{"$ref":"#/components/schemas/ColorPalettePresetName"}},"required":["name"],"title":"ColorPaletteWithPresetName"},"ColorPaletteMember":{"type":"object","properties":{"color_hex":{"type":"string","description":"The hexadecimal representation of the color with an optional chosen weight."},"color_weight":{"type":"number","format":"double","description":"The weight of the color in the color palette."}},"required":["color_hex"],"description":"A member of a color palette.","title":"ColorPaletteMember"},"ColorPaletteWithMembers":{"type":"object","properties":{"members":{"type":"array","items":{"$ref":"#/components/schemas/ColorPaletteMember"},"description":"A list of ColorPaletteMembers that define the color palette. Each color palette member\nconsists of a required color hex and an optional weight between 0.05 and 1.0 (inclusive).\nIt is recommended that these weights descend from highest to lowest for the color hexes provided.\n"}},"required":["members"],"description":"A color palette represented only via its members. Cannot be used in conjunction with preset name.","title":"ColorPaletteWithMembers"},"ColorPaletteWithPresetNameOrMembers":{"oneOf":[{"$ref":"#/components/schemas/ColorPaletteWithPresetName"},{"$ref":"#/components/schemas/ColorPaletteWithMembers"}],"description":"A color palette for generation, must EITHER be specified via one of the presets (name) or explicitly via hexadecimal representations of the color with optional weights (members). Not supported by V_1, V_1_TURBO, V_2A and V_2A_TURBO models.","title":"ColorPaletteWithPresetNameOrMembers"},"StyleCode":{"type":"string","description":"The 8 character hexadecimal representation of the style code.","title":"StyleCode"},"StyleTypeV3":{"type":"string","enum":["AUTO","GENERAL","REALISTIC","DESIGN","FICTION"],"default":"GENERAL","description":"The style type to generate with.","title":"StyleTypeV3"},"StylePresetV3":{"type":"string","enum":["80S_ILLUSTRATION","90S_NOSTALGIA","ABSTRACT_ORGANIC","ANALOG_NOSTALGIA","ART_BRUT","ART_DECO","ART_POSTER","AURA","AVANT_GARDE","BAUHAUS","BLUEPRINT","BLURRY_MOTION","BRIGHT_ART","C4D_CARTOON","CHILDRENS_BOOK","COLLAGE","COLORING_BOOK_I","COLORING_BOOK_II","CUBISM","DARK_AURA","DOODLE","DOUBLE_EXPOSURE","DRAMATIC_CINEMA","EDITORIAL","EMOTIONAL_MINIMAL","ETHEREAL_PARTY","EXPIRED_FILM","FLAT_ART","FLAT_VECTOR","FOREST_REVERIE","GEO_MINIMALIST","GLASS_PRISM","GOLDEN_HOUR","GRAFFITI_I","GRAFFITI_II","HALFTONE_PRINT","HIGH_CONTRAST","HIPPIE_ERA","ICONIC","JAPANDI_FUSION","JAZZY","LONG_EXPOSURE","MAGAZINE_EDITORIAL","MINIMAL_ILLUSTRATION","MIXED_MEDIA","MONOCHROME","NIGHTLIFE","OIL_PAINTING","OLD_CARTOONS","PAINT_GESTURE","POP_ART","RETRO_ETCHING","RIVIERA_POP","SPOTLIGHT_80S","STYLIZED_RED","SURREAL_COLLAGE","TRAVEL_POSTER","VINTAGE_GEO","VINTAGE_POSTER","WATERCOLOR","WEIRD","WOODBLOCK_PRINT"],"description":"A predefined style preset that applies a specific artistic style to the generated image.","title":"StylePresetV3"},"ImageGenerationObjectV3":{"type":"object","properties":{"url":{"type":["string","null"],"format":"uri","description":"The direct link to the image generated."},"prompt":{"type":"string","description":"The prompt used for the generation. This may be different from the original prompt."},"resolution":{"$ref":"#/components/schemas/ResolutionV3"},"upscaled_resolution":{"type":"string","description":"Output resolution, only used if operations alters image dimensions, such as upscale, crop etc."},"is_image_safe":{"type":"boolean","description":"Whether this request passes safety checks. If false, the url field will be empty."},"seed":{"type":"integer","description":"Random seed. Set for reproducible generation."},"style_type":{"$ref":"#/components/schemas/StyleTypeV3"}},"required":["prompt","resolution","is_image_safe","seed"],"title":"ImageGenerationObjectV3"},"ImageGenerationResponseV3":{"type":"object","properties":{"created":{"type":"string","format":"date-time","description":"The time the request was created."},"data":{"type":"array","items":{"$ref":"#/components/schemas/ImageGenerationObjectV3"},"description":"A list of ImageObjects that contain the generated image(s)."}},"required":["created","data"],"description":"The response which contains information about the generated image, including the download link.\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.","title":"ImageGenerationResponseV3"},"UpscaleFactor":{"type":"string","enum":["X1","X2","X4"],"default":"X1","description":"Upscale the initially generated image by the given factor. Upscale factors other than X1 will incur additional cost.","title":"UpscaleFactor"},"V1IdeogramV3GenerateTransparentPostRequestBodyContentMultipartFormDataSchemaRenderingSpeed":{"type":"string","enum":["TURBO","DEFAULT","QUALITY"],"default":"DEFAULT","description":"The rendering speed to use. FLASH is not supported for transparent-background generation; requests with rendering_speed=FLASH will return a 400.","title":"V1IdeogramV3GenerateTransparentPostRequestBodyContentMultipartFormDataSchemaRenderingSpeed"},"NumImages":{"type":"integer","default":1,"description":"The number of images to generate.","title":"NumImages"},"Seed":{"type":"integer","description":"Random seed. Set for reproducible generation.","title":"Seed"},"StyleCodes":{"type":"array","items":{"$ref":"#/components/schemas/StyleCode"},"description":"A list of 8 character hexadecimal codes representing the style of the image. Cannot be used in conjunction with style_reference_images or style_type.","title":"StyleCodes"},"RemoveBackgroundImageObject":{"type":"object","properties":{"url":{"type":["string","null"],"format":"uri","description":"The direct link to the foreground image. Empty when the image fails safety checks."},"is_image_safe":{"type":"boolean","description":"Whether the foreground image passes safety checks. If false, the url field will be empty."}},"required":["is_image_safe"],"title":"RemoveBackgroundImageObject"},"RemoveBackgroundResponse":{"type":"object","properties":{"created":{"type":"string","format":"date-time","description":"The time the request was created."},"data":{"type":"array","items":{"$ref":"#/components/schemas/RemoveBackgroundImageObject"},"description":"A list containing the single foreground image. The endpoint always returns exactly one entry."}},"required":["created","data"],"description":"The response containing the foreground image with the background removed.\nImage links are available for a limited period of time; if you would like to keep the image, you must download it.","title":"RemoveBackgroundResponse"},"RemoveObjectImageObject":{"type":"object","properties":{"url":{"type":["string","null"],"format":"uri","description":"The direct link to the edited image. Empty when the image fails safety checks."},"is_image_safe":{"type":"boolean","description":"Whether the edited image passes safety checks. If false, the url field will be empty."}},"required":["is_image_safe"],"title":"RemoveObjectImageObject"},"RemoveObjectResponse":{"type":"object","properties":{"created":{"type":"string","format":"date-time","description":"The time the request was created."},"data":{"type":"array","items":{"$ref":"#/components/schemas/RemoveObjectImageObject"},"description":"A list containing the single edited image. The endpoint always returns exactly one entry."}},"required":["created","data"],"description":"The response containing the image with the masked object removed.\nImage links are available for a limited period of time; if you would like to keep the image, you must download it.","title":"RemoveObjectResponse"},"LayerizeTextResponse":{"type":"object","properties":{"base_image_url":{"type":"string","format":"uri","description":"URL of the image with all detected text removed."},"original_image_url":{"type":["string","null"],"format":"uri","description":"URL of the original image with text intact."},"seed":{"type":"integer","description":"Random seed. Set for reproducible generation."}},"required":["base_image_url","seed"],"description":"The response containing detected text blocks and a text-erased base image.\n\nImage links are available for a limited period of time; if you would like to keep the image, you must download it.\n","title":"LayerizeTextResponse"},"V1EditImageObject":{"type":"object","properties":{"url":{"type":["string","null"],"format":"uri","description":"The direct link to the image generated."},"prompt":{"type":"string","description":"The prompt used for the generation. This may be different from the original prompt."},"resolution":{"type":"string","description":"Output resolution, only used if operations alters image dimensions, such as upscale, crop etc."},"upscaled_resolution":{"type":"string","description":"Output resolution, only used if operations alters image dimensions, such as upscale, crop etc."},"is_image_safe":{"type":"boolean","description":"Whether this request passes safety checks. If false, the url field will be empty."},"seed":{"type":"integer","description":"Random seed. Set for reproducible generation."},"style_type":{"$ref":"#/components/schemas/StyleTypeV3"}},"required":["prompt","resolution","is_image_safe","seed"],"title":"V1EditImageObject"},"V1EditImagesResponse":{"type":"object","properties":{"created":{"type":"string","format":"date-time","description":"The time the request was created."},"data":{"type":"array","items":{"$ref":"#/components/schemas/V1EditImageObject"},"description":"A list of ImageObjects that contain the edited image(s)."}},"required":["created","data"],"description":"The response which contains information about the edited image, including the download link.\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.","title":"V1EditImagesResponse"},"UpscaleInitialImageRequest":{"type":"object","properties":{"prompt":{"type":"string","description":"An optional prompt to guide the upscale"},"resemblance":{"type":"integer","default":50},"detail":{"type":"integer","default":50},"magic_prompt_option":{"$ref":"#/components/schemas/MagicPromptOption"},"num_images":{"type":"integer","default":1,"description":"The number of images to generate."},"seed":{"type":"integer","description":"Random seed. Set for reproducible generation."}},"description":"A request to upscale a provided image with the help of an optional prompt.","title":"UpscaleInitialImageRequest"},"StyleType":{"type":"string","enum":["AUTO","GENERAL","FICTION","REALISTIC","DESIGN","RENDER_3D","ANIME"],"description":"The style type to generate with; this is only applicable for models V_2 and above and should not be specified for model versions V_1.","title":"StyleType"},"ImageObject":{"type":"object","properties":{"url":{"type":["string","null"],"format":"uri","description":"The direct link to the image generated."},"prompt":{"type":"string","description":"The prompt used for the generation. This may be different from the original prompt."},"resolution":{"type":"string","description":"The resolution of the final image."},"upscaled_resolution":{"type":"string","description":"Output resolution, only used if operations alters image dimensions, such as upscale, crop etc."},"is_image_safe":{"type":"boolean","description":"Whether this request passes safety checks. If false, the url field will be empty."},"seed":{"type":"integer","description":"Random seed. Set for reproducible generation."},"style_type":{"$ref":"#/components/schemas/StyleType"}},"required":["prompt","resolution","is_image_safe","seed"],"title":"ImageObject"},"GenerateImageResponse":{"type":"object","properties":{"request_id":{"type":"string","description":"URL-safe base64 ID of the sampling request. Present when the caller\nsupplied `webhook_url` and the request was accepted for async\ndelivery; in that case `data` is omitted and the generated images\nwill be POSTed to the customer's `webhook_url` when ready.\n"},"created":{"type":"string","format":"date-time","description":"The time the request was created."},"data":{"type":"array","items":{"$ref":"#/components/schemas/ImageObject"},"description":"A list of ImageObjects that contain the generated image(s)."}},"required":["created"],"description":"The response which contains information about the generated image, including the download link.\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.","title":"GenerateImageResponse"},"DescribeModelVersion":{"type":"string","enum":["V_2","V_3","V_4"],"default":"V_3","description":"The model version to use for describing images. Defaults to V_3.","title":"DescribeModelVersion"},"Description":{"type":"object","properties":{"text":{"type":"string","description":"The generated description for the provided image."}},"title":"Description"},"DescribeResponse":{"type":"object","properties":{"descriptions":{"type":"array","items":{"$ref":"#/components/schemas/Description"},"description":"A collection of descriptions for given content."}},"description":"The response for a describe request encapsulates a list of descriptions.","title":"DescribeResponse"},"AspectRatio":{"type":"string","enum":["ASPECT_10_16","ASPECT_16_10","ASPECT_9_16","ASPECT_16_9","ASPECT_3_2","ASPECT_2_3","ASPECT_4_3","ASPECT_3_4","ASPECT_1_1","ASPECT_1_3","ASPECT_3_1"],"description":"(Cannot be used in conjunction with resolution) The aspect ratio to use for image generation, which determines the image's resolution. Defaults to ASPECT_1_1.","title":"AspectRatio"},"ModelEnum":{"type":"string","enum":["V_1","V_1_TURBO","V_2","V_2_TURBO","V_2A","V_2A_TURBO","AUTO"],"default":"V_2","description":"The model used to generate an image or edit one. /generate and /remix supports all model types, however, /edit is only supported for V_2 and V_2_TURBO.","title":"ModelEnum"},"Resolution":{"type":"string","enum":["RESOLUTION_512_1536","RESOLUTION_576_1408","RESOLUTION_576_1472","RESOLUTION_576_1536","RESOLUTION_640_1024","RESOLUTION_640_1344","RESOLUTION_640_1408","RESOLUTION_640_1472","RESOLUTION_640_1536","RESOLUTION_704_1152","RESOLUTION_704_1216","RESOLUTION_704_1280","RESOLUTION_704_1344","RESOLUTION_704_1408","RESOLUTION_704_1472","RESOLUTION_720_1280","RESOLUTION_736_1312","RESOLUTION_768_1024","RESOLUTION_768_1088","RESOLUTION_768_1152","RESOLUTION_768_1216","RESOLUTION_768_1232","RESOLUTION_768_1280","RESOLUTION_768_1344","RESOLUTION_832_960","RESOLUTION_832_1024","RESOLUTION_832_1088","RESOLUTION_832_1152","RESOLUTION_832_1216","RESOLUTION_832_1248","RESOLUTION_864_1152","RESOLUTION_896_960","RESOLUTION_896_1024","RESOLUTION_896_1088","RESOLUTION_896_1120","RESOLUTION_896_1152","RESOLUTION_960_832","RESOLUTION_960_896","RESOLUTION_960_1024","RESOLUTION_960_1088","RESOLUTION_1024_640","RESOLUTION_1024_768","RESOLUTION_1024_832","RESOLUTION_1024_896","RESOLUTION_1024_960","RESOLUTION_1024_1024","RESOLUTION_1088_768","RESOLUTION_1088_832","RESOLUTION_1088_896","RESOLUTION_1088_960","RESOLUTION_1120_896","RESOLUTION_1152_704","RESOLUTION_1152_768","RESOLUTION_1152_832","RESOLUTION_1152_864","RESOLUTION_1152_896","RESOLUTION_1216_704","RESOLUTION_1216_768","RESOLUTION_1216_832","RESOLUTION_1232_768","RESOLUTION_1248_832","RESOLUTION_1280_704","RESOLUTION_1280_720","RESOLUTION_1280_768","RESOLUTION_1280_800","RESOLUTION_1312_736","RESOLUTION_1344_640","RESOLUTION_1344_704","RESOLUTION_1344_768","RESOLUTION_1408_576","RESOLUTION_1408_640","RESOLUTION_1408_704","RESOLUTION_1472_576","RESOLUTION_1472_640","RESOLUTION_1472_704","RESOLUTION_1536_512","RESOLUTION_1536_576","RESOLUTION_1536_640"],"description":"(For model_version for 2.0 only, cannot be used in conjunction with aspect_ratio) The resolution to use for image generation, represented in width x height. If not specified, defaults to using aspect_ratio.","title":"Resolution"},"ImageRequest":{"type":"object","properties":{"prompt":{"type":"string","description":"The prompt to use to generate the image."},"aspect_ratio":{"$ref":"#/components/schemas/AspectRatio"},"model":{"$ref":"#/components/schemas/ModelEnum"},"magic_prompt_option":{"$ref":"#/components/schemas/MagicPromptOption"},"seed":{"type":"integer","description":"Random seed. Set for reproducible generation."},"style_type":{"$ref":"#/components/schemas/StyleType"},"negative_prompt":{"type":"string","description":"Only available for model versions V_1, V_1_TURBO, V_2 and V_2_TURBO. Description of what to exclude from an image. Descriptions in the prompt take precedence to descriptions in the negative prompt."},"num_images":{"type":"integer","default":1,"description":"The number of images to generate."},"resolution":{"$ref":"#/components/schemas/Resolution"},"color_palette":{"$ref":"#/components/schemas/ColorPaletteWithPresetNameOrMembers"}},"required":["prompt"],"title":"ImageRequest"},"GenerateImageRequest":{"type":"object","properties":{"image_request":{"$ref":"#/components/schemas/ImageRequest"}},"required":["image_request"],"title":"GenerateImageRequest"},"InitialImageRequest":{"type":"object","properties":{"prompt":{"type":"string","description":"The prompt to use to generate the image."},"aspect_ratio":{"$ref":"#/components/schemas/AspectRatio"},"model":{"$ref":"#/components/schemas/ModelEnum"},"magic_prompt_option":{"$ref":"#/components/schemas/MagicPromptOption"},"seed":{"type":"integer","description":"Random seed. Set for reproducible generation."},"style_type":{"$ref":"#/components/schemas/StyleType"},"negative_prompt":{"type":"string","description":"Only available for model versions V_1, V_1_TURBO, V_2 and V_2_TURBO. Description of what to exclude from an image. Descriptions in the prompt take precedence to descriptions in the negative prompt."},"num_images":{"type":"integer","default":1,"description":"The number of images to generate."},"resolution":{"$ref":"#/components/schemas/Resolution"},"color_palette":{"$ref":"#/components/schemas/ColorPaletteWithPresetNameOrMembers"},"image_weight":{"type":"integer","default":50}},"required":["prompt"],"description":"A request to generate a new image using a provided image and a prompt.","title":"InitialImageRequest"},"AssetType":{"type":"string","enum":["ASSET","CANVAS_ASSET","LAYERED_ASSET","RESPONSE","UPLOAD"],"title":"AssetType"},"AssetIdentifier":{"type":"object","properties":{"asset_type":{"$ref":"#/components/schemas/AssetType"},"asset_id":{"type":"string"}},"required":["asset_type","asset_id"],"description":"An identifier for an ideogram asset.","title":"AssetIdentifier"},"Dataset":{"type":"object","properties":{"dataset_id":{"type":"string","description":"Unique identifier for the dataset."},"name":{"type":"string","description":"Display name of the dataset."},"user_id":{"type":"string","description":"ID of the user who owns this dataset."},"creation_time":{"type":"string","format":"date-time","description":"When the dataset was created."},"cover_asset_identifier":{"$ref":"#/components/schemas/AssetIdentifier"}},"required":["dataset_id","name","user_id","creation_time"],"description":"A dataset for organizing training images.","title":"Dataset"},"ListDatasetsResponse":{"type":"object","properties":{"datasets":{"type":"array","items":{"$ref":"#/components/schemas/Dataset"},"description":"Matching datasets, most recently updated first.\n"}},"required":["datasets"],"title":"ListDatasetsResponse"},"CreateDatasetRequest":{"type":"object","properties":{"name":{"type":"string","description":"Name of the dataset."}},"required":["name"],"title":"CreateDatasetRequest"},"DatasetFile":{"type":"object","properties":{"file_name":{"type":["string","null"],"description":"Filename of the file in the dataset."},"file_size_bytes":{"type":["integer","null"],"description":"Size of the file in bytes, if available."},"caption":{"type":["string","null"],"description":"Caption applied to the file, if any. A v4 structured caption is returned as a JSON-encoded string; a plain-text caption (from a .txt sidecar) is returned unchanged. Only present when the file has a caption.\n"}},"required":["file_name"],"description":"A file in a dataset.","title":"DatasetFile"},"GetDatasetResponse":{"type":"object","properties":{"dataset":{"$ref":"#/components/schemas/Dataset"},"file_count":{"type":"integer","description":"Total number of files in the dataset."},"files":{"type":"array","items":{"$ref":"#/components/schemas/DatasetFile"},"description":"List of files in the dataset."},"custom_model_ids":{"type":"array","items":{"type":"string"},"description":"IDs of all custom models trained from this dataset. Empty array if no model has been trained yet.\n"}},"required":["dataset","file_count","files","custom_model_ids"],"description":"Detailed view of a dataset, including its files.","title":"GetDatasetResponse"},"DatasetUploadSucceededAsset":{"type":"object","properties":{"asset_identifier":{"$ref":"#/components/schemas/AssetIdentifier"},"file_name":{"type":["string","null"],"description":"Original filename of the uploaded file. For a caption sidecar (.txt or .json) this is the sidecar's filename, and asset_identifier points to the image the caption was applied to. A single image therefore yields one entry for the image plus one per caption file.\n"}},"required":["asset_identifier"],"title":"DatasetUploadSucceededAsset"},"DatasetAssetFailureReason":{"type":"string","enum":["FAILED_SAFETY_CHECK","FILE_TOO_LARGE","INTERNAL_ERROR","INVALID_CAPTION","INVALID_CAPTION_JSON","INVALID_IMAGE","INVALID_ZIP","TOO_MANY_IMAGES"],"description":"Reason why an asset failed to upload.","title":"DatasetAssetFailureReason"},"DatasetUploadFailedAsset":{"type":"object","properties":{"file_name":{"type":["string","null"],"description":"Original filename of the failed image."},"failure_reason":{"$ref":"#/components/schemas/DatasetAssetFailureReason"}},"required":["failure_reason"],"title":"DatasetUploadFailedAsset"},"UploadDatasetAssetsResponse":{"type":"object","properties":{"total_count":{"type":"integer","description":"Total number of images processed."},"success_count":{"type":"integer","description":"Number of images successfully uploaded."},"failure_count":{"type":"integer","description":"Number of images that failed to upload."},"successful_assets":{"type":"array","items":{"$ref":"#/components/schemas/DatasetUploadSucceededAsset"},"description":"Details of successfully uploaded assets."},"failed_assets":{"type":"array","items":{"$ref":"#/components/schemas/DatasetUploadFailedAsset"},"description":"Details of assets that failed to upload."}},"required":["total_count","success_count","failure_count"],"title":"UploadDatasetAssetsResponse"},"TrainModelV3Request":{"type":"object","properties":{"dataset_id":{"type":"string","description":"ID of the dataset to train the model from."},"model_name":{"type":"string","description":"Name for the trained model. Must be 5-30 characters, alphanumeric with spaces and hyphens allowed.\n"}},"required":["dataset_id","model_name"],"description":"Training request for a custom Ideogram v3 model using default hyperparameters.\n","title":"TrainModelV3Request"},"TrainDatasetModelResponse":{"type":"object","properties":{"model_id":{"type":"string","description":"Unique identifier of the created model."},"dataset_id":{"type":"string","description":"Identifier of the dataset used for training."},"training_status":{"type":"string","description":"Current training status of the model."},"model_name":{"type":"string","description":"Name of the model."}},"required":["model_id","dataset_id","training_status","model_name"],"title":"TrainDatasetModelResponse"},"ModelsGetParametersScope":{"type":"string","enum":["owned","shared"],"title":"ModelsGetParametersScope"},"ModelStatus":{"type":"string","enum":["CREATING","DRAFT","TRAINING","COMPLETED","ERRORED","ARCHIVED"],"description":"The status of a custom model.","title":"ModelStatus"},"CustomModel":{"type":"object","properties":{"model_id":{"type":"string","description":"Unique identifier for the model (base64 URL-safe encoded UUID)."},"custom_model_uri":{"type":["string","null"],"description":"A custom model URI in the format model/<model_name>/version/<version_name>.\nUse this URI when generating images with this model. Only present for models\nthat have been registered in the model registry.\n"},"name":{"type":"string","description":"Display name of the model."},"status":{"$ref":"#/components/schemas/ModelStatus"},"dataset_id":{"type":["string","null"],"description":"ID of the dataset (collection) the model was trained from."},"creation_time":{"type":"string","format":"date-time","description":"When the model was created."},"last_update_time":{"type":["string","null"],"format":"date-time","description":"When the model was last updated."},"is_available_for_generation":{"type":"boolean","description":"Whether the model is available for image generation."},"is_owned":{"type":"boolean","description":"Whether the authenticated user owns this model."}},"required":["model_id","name","status","creation_time","is_available_for_generation","is_owned"],"description":"A custom model.","title":"CustomModel"},"ListModelsResponse":{"type":"object","properties":{"models":{"type":"array","items":{"$ref":"#/components/schemas/CustomModel"},"description":"List of models."}},"required":["models"],"title":"ListModelsResponse"},"GetModelResponse":{"type":"object","properties":{"model":{"$ref":"#/components/schemas/CustomModel"}},"required":["model"],"title":"GetModelResponse"}},"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Api-Key","description":"API key for access control. Use in the header with the name \\\"Api-Key\\\""}}}}