{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/finevoice/main/json-schema/finevoice-music-cover-request-schema.json",
  "title": "MusicCoverRequest",
  "description": "The music cover request payload.",
  "x-generated": "2026-10-22",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_original/finevoice-openapi-openapi.json#/components/schemas/MusicCoverRequest",
  "type": "object",
  "properties": {
    "voice": {
      "type": "string",
      "description": "The primary target voice model name."
    },
    "pitch": {
      "type": "number",
      "format": "float",
      "minimum": -12,
      "maximum": 12,
      "description": "Vocal pitch offset in semitones.",
      "default": 0
    },
    "outputFormat": {
      "type": "string",
      "description": "The desired output format."
    },
    "audioName": {
      "type": "string",
      "description": "The output audio name."
    },
    "audioCover": {
      "type": "string",
      "description": "The cover image URL."
    },
    "way": {
      "type": "string",
      "description": "Processing mode. Must be `m2`."
    },
    "cut": {
      "type": "integer",
      "format": "int32",
      "description": "The cut mode."
    },
    "engine": {
      "type": "string",
      "description": "Voice conversion engine. `v5`: great for singing (rich vibrato, more noise). `v7`: great for speech (clean, stable).",
      "enum": [
        "v5",
        "v7"
      ]
    },
    "sourceUrl": {
      "type": "string",
      "description": "The source audio URL."
    },
    "singers": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/MusicCoverSingerRequest"
      },
      "description": "Singer configurations for a multi-singer cover."
    },
    "instrument_pitch": {
      "type": "number",
      "format": "float",
      "description": "Instrumental pitch offset in semitones."
    },
    "pitch_control": {
      "type": "string",
      "description": "Pitch control mode. Must be `rmvpe`."
    },
    "diffusion_steps": {
      "type": "integer",
      "format": "int32",
      "description": "Number of diffusion steps."
    },
    "auto_f0_adjust": {
      "type": "boolean",
      "description": "Whether to enable automatic F0 adjustment."
    },
    "vocal_types": {
      "type": "string",
      "description": "Vocal type configuration.",
      "default": "solo",
      "enum": [
        "solo",
        "chorus",
        "duets"
      ]
    }
  },
  "$defs": {
    "MusicCoverSingerRequest": {
      "type": "object",
      "description": "A singer configuration for a multi-singer music cover task.",
      "properties": {
        "voice": {
          "type": "string",
          "description": "The singer voice model name."
        },
        "pitch": {
          "type": "number",
          "format": "float",
          "description": "Pitch offset for this singer in semitones."
        },
        "engine": {
          "type": "string",
          "description": "Voice conversion engine. `v5`: great for singing. `v7`: great for speech.",
          "enum": [
            "v5",
            "v7"
          ]
        },
        "diffusion_steps": {
          "type": "integer",
          "format": "int32",
          "description": "Number of diffusion steps."
        },
        "auto_f0_adjust": {
          "type": "boolean",
          "description": "Whether to enable automatic F0 adjustment."
        }
      }
    }
  }
}