{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/kreatorflow-ai/json-schema/kreatorflow-ai-image-request-schema.json",
  "title": "ImageRequest",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/kreatorflow-ai-openapi.json#/components/schemas/ImageRequest",
  "type": "object",
  "properties": {
    "model": {
      "type": "string",
      "description": "string optional, defaults to kreator-image-pro"
    },
    "prompt": {
      "type": "string",
      "description": "string required"
    },
    "response_format": {
      "type": "string",
      "description": "url optional; defaults to url"
    },
    "watermark": {
      "type": "boolean",
      "description": "boolean optional, defaults to false"
    },
    "seed": {
      "type": "integer",
      "description": "integer optional"
    },
    "aspect_ratio": {
      "type": "string",
      "description": "string optional"
    },
    "ratio": {
      "type": "string",
      "description": "alias for aspect_ratio"
    },
    "resolution": {
      "type": "string",
      "description": "string optional"
    },
    "references": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Reference"
      },
      "description": "array optional; supports url or upload_id"
    },
    "reference_upload_ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "array optional; image upload_id values"
    },
    "reference_image_upload_ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "array optional; image upload_id values"
    },
    "character_ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "array optional; reusable character ids/slugs from POST /v1/characters mode=register"
    },
    "safety_identifier": {
      "type": "string",
      "description": "string optional, max 64 chars"
    },
    "webhook_url": {
      "type": "string",
      "format": "uri",
      "description": "https url optional; receives terminal job callbacks"
    },
    "callback_url": {
      "type": "string",
      "description": "alias for webhook_url"
    },
    "idempotency_key": {
      "type": "string",
      "description": "string optional body fallback; prefer Idempotency-Key header"
    }
  },
  "required": [
    "prompt"
  ],
  "additionalProperties": true,
  "$defs": {
    "Reference": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "image_url",
            "video_url",
            "audio_url"
          ]
        },
        "url": {
          "type": "string",
          "description": "public https url"
        },
        "upload_id": {
          "type": "string",
          "description": "workspace-scoped upload_id returned by POST /v1/uploads"
        },
        "role": {
          "type": "string",
          "description": "optional content role such as first_frame, last_frame, reference_image, reference_video, reference_audio"
        }
      },
      "additionalProperties": true
    }
  }
}