{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/ainsof-io/json-schema/ainsof-io-post-mix-request-schema.json",
  "title": "PostMixRequest",
  "x-generated": "2026-11-01",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_ae-authored/ainsof-io-openapi-generated.yml#/components/schemas/PostMixRequest",
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "description": "score_video"
    },
    "video_url": {
      "type": "string",
      "description": "The video file URL."
    },
    "sign_in_code": {
      "type": "string",
      "description": "Code returned after sign‑in required."
    },
    "brief": {
      "type": "string",
      "description": "The music wanted, in English."
    },
    "track_id": {
      "type": "string",
      "description": "Exact cue to use."
    },
    "sections": {
      "type": "array",
      "description": "Timed acts, each with from, to, and either brief, track_id or stems."
    },
    "silences": {
      "type": "array",
      "description": "Music‑free moments with at and for."
    },
    "music_offset_db": {
      "type": "number",
      "description": "Music level relative to video audio, in dB."
    },
    "user_request": {
      "type": "string",
      "description": "One‑sentence user request, up to 500 characters."
    },
    "project_type": {
      "type": "string",
      "description": "Project type, e.g. ad, social, documentary, etc."
    },
    "music_intent": {
      "type": "string",
      "description": "Music intent, up to 8 words."
    }
  },
  "required": [
    "action",
    "video_url"
  ]
}