{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/finevoice/main/json-schema/finevoice-speech-to-text-request-schema.json",
  "title": "SpeechToTextRequest",
  "description": "The speech-to-text 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/SpeechToTextRequest",
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The source audio or video URL."
    },
    "language": {
      "type": "string",
      "description": "The source language code (e.g. `en`, `zh`, `ja`)."
    },
    "title": {
      "type": "string",
      "description": "An optional task title for reference."
    },
    "format": {
      "type": "string",
      "description": "Expected transcript output format: `srt`, `vtt`, `json`, `txt`."
    },
    "engine": {
      "type": "string",
      "description": "The transcription engine to use. Supported: `whisper`, `funasr`."
    },
    "useAsync": {
      "type": "boolean",
      "description": "Set to `true` to process asynchronously."
    },
    "word_level_timestamp_alignment": {
      "type": "boolean",
      "description": "Whether to include word-level timestamp alignment."
    },
    "speaker_diarization": {
      "type": "boolean",
      "description": "Whether to enable speaker diarization (identify multiple speakers)."
    },
    "min_speakers": {
      "type": "integer",
      "format": "int32",
      "description": "Minimum number of speakers for diarization."
    },
    "max_speakers": {
      "type": "integer",
      "format": "int32",
      "description": "Maximum number of speakers for diarization."
    },
    "batch_size": {
      "type": "integer",
      "format": "int32",
      "description": "The transcription batch size."
    },
    "script_target": {
      "type": "string",
      "description": "The target output script style or format."
    }
  }
}