{
  "description": "Generates one image from a text prompt",
  "type": "object",
  "required": [
    "model",
    "prompt"
  ],
  "properties": {
    "model": {
      "type": "string",
      "description": "Model identifier from the model catalog (query-models). An unknown model is rejected."
    },
    "prompt": {
      "type": "string",
      "description": "Text describing the image to generate"
    },
    "aspectRatio": {
      "type": "string",
      "description": "Aspect ratio as width:height, for example 16:9. Must be one the model lists in the model catalog."
    },
    "resolution": {
      "type": "string",
      "description": "Output resolution tier of a generated image. STANDARD is about 1 megapixel (a 1K tier), HIGH is about 2K and ULTRA is about 4K. A model lists the tiers it supports in the model catalog.",
      "enum": [
        "STANDARD",
        "HIGH",
        "ULTRA"
      ]
    },
    "responseFormat": {
      "type": "string",
      "description": "How a request wants binary media (audio or image) returned. URL returns a short-lived signed URL hosted by Port OS (at most 10 minutes), never the vendor's own link. BASE64 returns the bytes inline as base64 and fails with a typed error above 10 MiB, in which case use URL.",
      "enum": [
        "URL",
        "BASE64"
      ],
      "default": "URL"
    }
  },
  "additionalProperties": false
}
