{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/samautomation-work/json-schema/samautomation-work-post-api-ai-generate-request-schema.json",
  "title": "PostApiAiGenerateRequest",
  "x-generated": "2026-10-31",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_ae-authored/samautomation-work-openapi-generated.yml#/components/schemas/PostApiAiGenerateRequest",
  "type": "object",
  "properties": {
    "model_id": {
      "type": "string",
      "description": "Must match an active catalog ID from /api/ai/models."
    },
    "prompt": {
      "type": "string",
      "description": "Sanitized server-side (max 2000 chars in the unified flow)."
    },
    "image_urls": {
      "type": "string",
      "description": "Reference image(s) for image-to-video (i2v) and image models."
    },
    "video_urls": {
      "type": "string",
      "description": "Source video for editing, video-to-video and lip-sync models."
    },
    "audio_urls": {
      "type": "string",
      "description": "Target speech/voice audio for lip-sync and avatar models."
    },
    "options": {
      "type": "string",
      "description": "Per-model params — see options reference below."
    },
    "input": {
      "type": "string",
      "description": "Raw provider payload passthrough."
    }
  },
  "required": [
    "model_id"
  ]
}