{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/distribea-com/json-schema/distribea-com-generate-image-request-schema.json",
  "title": "GenerateImageRequest",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/distribea-com-openapi.json#/components/schemas/GenerateImageRequest",
  "type": "object",
  "required": [
    "prompt"
  ],
  "properties": {
    "prompt": {
      "type": "string",
      "description": "What the image shows."
    },
    "model": {
      "type": "string",
      "description": "A model id from GET /api/v1/models?type=image.",
      "default": "nano-banana-pro"
    },
    "quality": {
      "type": "string",
      "description": "One of the model's `qualities`. Default 2K when `model` is omitted."
    },
    "aspect_ratio": {
      "type": "string",
      "description": "One of the model's `aspect_ratios`."
    },
    "count": {
      "type": "integer",
      "minimum": 1,
      "description": "Number of images, up to the model's `max_images`.",
      "default": 1
    },
    "file_type": {
      "type": "string",
      "enum": [
        "png",
        "jpg"
      ],
      "default": "png"
    },
    "image_urls": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uri"
      },
      "minItems": 1,
      "description": "Public URLs of reference images (image-to-image), one or more. A model that takes fewer answers 400 with the limit."
    },
    "image_url": {
      "type": "string",
      "format": "uri",
      "deprecated": true,
      "description": "Same as `image_urls` with one URL. Prefer `image_urls`."
    },
    "dry_run": {
      "type": "boolean",
      "default": false,
      "description": "true returns the exact price only, with or without a key. Nothing is generated or charged."
    }
  }
}