{
  "cases": [
    {
      "id": "ace_step_turbo_text2music_long_chunk",
      "coverage": "ACE-Step turbo text2music, planner, DiT, long VAE decode chunking, then shorter request in the same session",
      "family": "ace_step",
      "model": "models/Ace-Step1.5",
      "task": "gen",
      "mode": "offline",
      "session_options": {
        "ace_step.weight_type": "f32"
      },
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "long_160s",
          "text": "expansive synth pop with bright vocals and steady drums",
          "language": "en",
          "task_route": "text2music",
          "lyrics": "[verse]\nNeon rivers cross the sky\n[chorus]\nWe keep dancing through the night",
          "duration_seconds": 160,
          "options": {
            "lm_temperature": 0.0,
            "lm_top_k": 0,
            "lm_top_p": 1.0
          },
          "seed": 1234,
          "guidance_scale": 1.0,
          "num_inference_steps": 8
        },
        {
          "id": "short_20s",
          "text": "gentle piano pop with intimate vocals",
          "language": "en",
          "task_route": "text2music",
          "lyrics": "[verse]\nSoft rain taps the window\n[chorus]\nHold the morning close",
          "duration_seconds": 20,
          "options": {
            "lm_temperature": 0.0,
            "lm_top_k": 0,
            "lm_top_p": 1.0
          },
          "seed": 1234,
          "guidance_scale": 1.0,
          "num_inference_steps": 8
        }
      ]
    },
    {
      "id": "ace_step_base_cfg_text2music",
      "coverage": "ACE-Step base CFG text2music route",
      "family": "ace_step",
      "model": "models/Ace-Step1.5",
      "task": "gen",
      "mode": "offline",
      "load_options": {
        "ace_step.dit_model_path": "acestep-v15-base",
        "ace_step.lm_model_path": "acestep-5Hz-lm-1.7B"
      },
      "session_options": {
        "ace_step.weight_type": "f32"
      },
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "base_cfg_text2music",
          "text": "energetic chiptune J-pop with a bright female vocal",
          "language": "ja",
          "task_route": "text2music",
          "lyrics": "[verse]\n\u68ee\u306e\u5965\u3067\u5149\u308b\u58f0\n[chorus]\n\u6708\u591c\u306b\u97ff\u304f\u541b\u306e\u6b4c",
          "duration_seconds": 20,
          "options": {
            "lm_cfg_scale": 2.0,
            "lm_temperature": 0.0,
            "lm_top_k": 0,
            "lm_top_p": 1.0
          },
          "seed": 1234,
          "guidance_scale": 7.0,
          "num_inference_steps": 50
        }
      ]
    },
    {
      "id": "ace_step_complete_source_audio",
      "coverage": "ACE-Step base complete route with source audio",
      "family": "ace_step",
      "model": "models/Ace-Step1.5",
      "task": "gen",
      "mode": "offline",
      "load_options": {
        "ace_step.dit_model_path": "acestep-v15-base",
        "ace_step.lm_model_path": "acestep-5Hz-lm-1.7B"
      },
      "session_options": {
        "ace_step.weight_type": "f32"
      },
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "complete_source_audio",
          "text": "complete this song with clear vocals and a fuller pop arrangement",
          "language": "en",
          "audio": "resources/mel_roformer_test_10s.wav",
          "task_route": "complete",
          "duration_seconds": 10,
          "options": {
            "lm_cfg_scale": 2.0,
            "lm_temperature": 0.0
          },
          "seed": 5701,
          "guidance_scale": 7.0,
          "num_inference_steps": 30
        }
      ]
    },
    {
      "id": "ace_step_lego_guitar_from_piano",
      "coverage": "ACE-Step base lego route with piano source audio",
      "family": "ace_step",
      "model": "models/Ace-Step1.5",
      "task": "gen",
      "mode": "offline",
      "load_options": {
        "ace_step.dit_model_path": "acestep-v15-base",
        "ace_step.lm_model_path": "acestep-5Hz-lm-1.7B"
      },
      "session_options": {
        "ace_step.weight_type": "f32"
      },
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "lego_guitar_from_piano",
          "text": "add a clean guitar track that follows the source piano",
          "language": "en",
          "audio": "resources/ace_step_lego_piano_10s.wav",
          "task_route": "lego",
          "track_name": "guitar",
          "duration_seconds": 10,
          "options": {
            "lm_cfg_scale": 2.0,
            "lm_temperature": 0.0
          },
          "seed": 5702,
          "guidance_scale": 7.0,
          "num_inference_steps": 50
        }
      ]
    },
    {
      "id": "ace_step_extract_vocals",
      "coverage": "ACE-Step base extract vocal route",
      "family": "ace_step",
      "model": "models/Ace-Step1.5",
      "task": "gen",
      "mode": "offline",
      "load_options": {
        "ace_step.dit_model_path": "acestep-v15-base",
        "ace_step.lm_model_path": "acestep-5Hz-lm-1.7B"
      },
      "session_options": {
        "ace_step.weight_type": "f32"
      },
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "extract_vocals",
          "text": "vocals",
          "language": "en",
          "audio": "resources/mel_roformer_test_15s.wav",
          "task_route": "extract",
          "track_name": "vocals",
          "duration_seconds": 15,
          "options": {
            "lm_cfg_scale": 2.0,
            "lm_temperature": 0.0,
            "lm_top_k": 0,
            "lm_top_p": 1.0
          },
          "seed": 1234,
          "num_inference_steps": 50
        }
      ]
    },
    {
      "id": "ace_step_cover_nofsq",
      "coverage": "ACE-Step base cover-nofsq route",
      "family": "ace_step",
      "model": "models/Ace-Step1.5",
      "task": "gen",
      "mode": "offline",
      "load_options": {
        "ace_step.dit_model_path": "acestep-v15-base",
        "ace_step.lm_model_path": "acestep-5Hz-lm-1.7B"
      },
      "session_options": {
        "ace_step.weight_type": "f32"
      },
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "cover_nofsq",
          "text": "make a bright pop cover with a new vocal tone",
          "language": "en",
          "audio": "resources/mel_roformer_test_10s.wav",
          "task_route": "cover-nofsq",
          "duration_seconds": 10,
          "options": {
            "lm_cfg_scale": 2.0,
            "lm_temperature": 0.0
          },
          "seed": 5704,
          "guidance_scale": 7.0,
          "num_inference_steps": 50
        }
      ]
    },
    {
      "id": "ace_step_repaint_middle",
      "coverage": "ACE-Step base repaint route with source audio splice",
      "family": "ace_step",
      "model": "models/Ace-Step1.5",
      "task": "gen",
      "mode": "offline",
      "load_options": {
        "ace_step.dit_model_path": "acestep-v15-base",
        "ace_step.lm_model_path": "acestep-5Hz-lm-1.7B"
      },
      "session_options": {
        "ace_step.weight_type": "f32"
      },
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "repaint_middle",
          "text": "replace the middle section with a stronger vocal phrase",
          "language": "en",
          "audio": "resources/mel_roformer_test_15s.wav",
          "task_route": "repaint",
          "duration_seconds": 15,
          "repaint_start": 3.0,
          "repaint_end": 8.0,
          "repaint_mode": "balanced",
          "repaint_strength": 0.6,
          "options": {
            "lm_cfg_scale": 2.0,
            "lm_temperature": 0.0
          },
          "seed": 5705,
          "guidance_scale": 7.0,
          "num_inference_steps": 50
        }
      ]
    },
    {
      "id": "qwen3_tts_base_voice_clone_reuse",
      "coverage": "Qwen3 TTS base text generation, voice clone prompt encoding, talker/decoder reuse across long-short-long requests",
      "family": "qwen3_tts",
      "model": "models/Qwen3-TTS-12Hz-1.7B-Base",
      "task": "tts",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "long",
          "text": "The lighthouse keeper records a detailed morning report about the tide, the lantern, and the ships crossing the horizon.",
          "language": "English",
          "voice_ref": "resources/a.wav",
          "reference_text": "This little work was finished in the year eighteen o three, and intended for immediate publication.",
          "seed": 1234,
          "max_tokens": 256,
          "do_sample": false
        },
        {
          "id": "short",
          "text": "The shorter line should keep the same speaker.",
          "language": "English",
          "voice_ref": "resources/a.wav",
          "reference_text": "This little work was finished in the year eighteen o three, and intended for immediate publication.",
          "seed": 1234,
          "max_tokens": 128,
          "do_sample": false
        },
        {
          "id": "long_again",
          "text": "After the short request, the same voice describes the harbor again in a longer passage so graph reuse and capacity behavior stay visible.",
          "language": "English",
          "voice_ref": "resources/a.wav",
          "reference_text": "This little work was finished in the year eighteen o three, and intended for immediate publication.",
          "seed": 1234,
          "max_tokens": 256,
          "do_sample": false
        }
      ]
    },
    {
      "id": "qwen3_tts_voice_design",
      "coverage": "Qwen3 TTS voice-design variant and instruction path",
      "family": "qwen3_tts",
      "model": "models/Qwen3-TTS-12Hz-1.7B-VoiceDesign",
      "task": "vdes",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "design",
          "text": "This designed voice should sound cheerful and clear while keeping every word easy to recognize.",
          "language": "English",
          "instruct": "A cheerful young woman with a bright studio voice.",
          "seed": 1234,
          "max_tokens": 192,
          "do_sample": false
        },
        {
          "id": "design_short_reuse",
          "text": "A shorter line should reuse the same designed voice cleanly.",
          "language": "English",
          "instruct": "A cheerful young woman with a bright studio voice.",
          "seed": 1234,
          "max_tokens": 96,
          "do_sample": false
        },
        {
          "id": "design_spanish_instruction",
          "text": "La voz disenada debe sonar tranquila, clara y natural durante esta frase.",
          "language": "Spanish",
          "instruct": "A calm bilingual narrator with warm pacing and precise pronunciation.",
          "seed": 1234,
          "max_tokens": 160,
          "do_sample": false
        }
      ]
    },
    {
      "id": "qwen3_tts_custom_voice",
      "coverage": "Qwen3 TTS custom voice variant speaker selection path",
      "family": "qwen3_tts",
      "model": "models/Qwen3-TTS-12Hz-1.7B-CustomVoice",
      "task": "tts",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "custom",
          "text": "The custom voice request should remain stable for a medium length sentence.",
          "language": "English",
          "speaker": "Vivian",
          "seed": 1234,
          "max_tokens": 192,
          "do_sample": false
        },
        {
          "id": "custom_short_reuse",
          "text": "This shorter custom voice request should keep Vivian consistent.",
          "language": "English",
          "speaker": "Vivian",
          "seed": 1234,
          "max_tokens": 96,
          "do_sample": false
        },
        {
          "id": "custom_dialect_speaker",
          "text": "\u8fd9\u4e2a\u81ea\u5b9a\u4e49\u58f0\u97f3\u5e94\u8be5\u4fdd\u6301\u6e05\u6670, \u8bed\u6c14\u81ea\u7136, \u5e76\u4e14\u5728\u77ed\u53e5\u4e2d\u7a33\u5b9a\u3002",
          "language": "Chinese",
          "speaker": "Dylan",
          "seed": 1234,
          "max_tokens": 160,
          "do_sample": false
        }
      ]
    },
    {
      "id": "chatterbox_en_long_cfg",
      "coverage": "Chatterbox English voice clone, T3, S3 tokenizer, CFM/HiFT, CFG two-batch path, long text",
      "family": "chatterbox",
      "model": "models/chatterbox",
      "task": "clon",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "en_long",
          "text": "The archivist unlocks the reading room and describes the maps, the weathered journals, and the quiet harbor outside in one steady natural voice.",
          "language": "en",
          "voice_ref": "resources/sample.wav",
          "options": {
            "s3gen_cfg_rate": 0.7
          },
          "seed": 1234,
          "max_tokens": 384,
          "guidance_scale": 0.5
        }
      ]
    },
    {
      "id": "chatterbox_de_multilingual",
      "coverage": "Chatterbox multilingual component selection and non-English frontend path",
      "family": "chatterbox",
      "model": "models/chatterbox",
      "task": "clon",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "de",
          "text": "Der Leuchtturmwaerter beschreibt den ruhigen Morgen und die Schiffe am Horizont.",
          "language": "de",
          "voice_ref": "resources/sample.wav",
          "options": {
            "s3gen_cfg_rate": 0.7
          },
          "seed": 1234,
          "max_tokens": 256,
          "guidance_scale": 0.5
        }
      ]
    },
    {
      "id": "confucius4_tts_multi_request_logic_paths",
      "coverage": "Confucius4-TTS multi-request session with same-language clone, cross-language clone, and reference voice switching",
      "family": "confucius4_tts",
      "model": "models/Confucius4-TTS-GGUF/confucius4-tts-orig.gguf",
      "task": "clon",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "session_same_language_sample_reference",
          "language": "en",
          "voice_ref": "resources/sample.wav",
          "text": "The narrator should keep a steady pace while explaining that the archive was checked twice, the missing labels were restored, and the final audio report now matches the production notes exactly.",
          "seed": 4301
        },
        {
          "id": "session_cross_language_male_reference",
          "language": "zh",
          "voice_ref": "reference/HiggsAudioV3TTS/sglang-omni/docs/_static/audio/male-voice.wav",
          "text": "请用清晰自然的语气朗读这段内容：实验室已经完成新的压力测试，服务器日志显示缓存命中率稳定提高，负责人要求在交付之前再次确认长文本合成和跨语言克隆路径都没有退化，并记录不同参考声音在同一会话中的切换情况。",
          "seed": 4302
        },
        {
          "id": "session_cross_language_female_reference",
          "language": "ja",
          "voice_ref": "reference/HiggsAudioV3TTS/sglang-omni/docs/_static/audio/female-voice.wav",
          "text": "今朝の確認では、音声クローニングの品質、長い文章の区切り処理、そして別の言語で話す場合の声の安定性を順番に確認しました。担当者は結果を記録し、参考音声を切り替えた後も出力が自然に続くかを確認してから、次の検証に進みます。",
          "seed": 4303
        }
      ]
    },
    {
      "id": "confucius4_tts_multi_request_logic_paths_single_beam",
      "coverage": "Confucius4-TTS deterministic single-beam multi-request session with same-language clone, cross-language clone, and reference voice switching",
      "family": "confucius4_tts",
      "model": "models/Confucius4-TTS-GGUF/confucius4-tts-orig.gguf",
      "task": "clon",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "session_same_language_sample_reference_single_beam",
          "language": "en",
          "voice_ref": "resources/sample.wav",
          "text": "The narrator should keep a steady pace while explaining that the archive was checked twice, the missing labels were restored, and the final audio report now matches the production notes exactly.",
          "seed": 4301,
          "top_k": 1,
          "top_p": 1.0,
          "temperature": 1.0,
          "options": {
            "num_beams": 1
          }
        },
        {
          "id": "session_cross_language_male_reference_single_beam",
          "language": "zh",
          "voice_ref": "reference/HiggsAudioV3TTS/sglang-omni/docs/_static/audio/male-voice.wav",
          "text": "请用清晰自然的语气朗读这段内容：实验室已经完成新的压力测试，服务器日志显示缓存命中率稳定提高，负责人要求在交付之前再次确认长文本合成和跨语言克隆路径都没有退化，并记录不同参考声音在同一会话中的切换情况。",
          "seed": 4302,
          "top_k": 1,
          "top_p": 1.0,
          "temperature": 1.0,
          "options": {
            "num_beams": 1
          }
        },
        {
          "id": "session_cross_language_female_reference_single_beam",
          "language": "ja",
          "voice_ref": "reference/HiggsAudioV3TTS/sglang-omni/docs/_static/audio/female-voice.wav",
          "text": "今朝の確認では、音声クローニングの品質、長い文章の区切り処理、そして別の言語で話す場合の声の安定性を順番に確認しました。担当者は結果を記録し、参考音声を切り替えた後も出力が自然に続くかを確認してから、次の検証に進みます。",
          "seed": 4303,
          "top_k": 1,
          "top_p": 1.0,
          "temperature": 1.0,
          "options": {
            "num_beams": 1
          }
        }
      ]
    },
    {
      "id": "miocodec_voice_conversion",
      "coverage": "MioCodec voice conversion path, WavLM feature extraction, content/global encoders, wave decoder, and waveform reconstruction",
      "family": "miocodec",
      "model": "models/MioCodec-25Hz-44.1kHz-v2",
      "task": "vc",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "design_to_sample",
          "audio": "resources/design.wav",
          "voice_ref": "resources/sample.wav"
        }
      ]
    },
    {
      "id": "miotts_long_text_voice_clone",
      "coverage": "MioTTS voice clone path, long text chunking, causal LM sampling, MioCodec token decode, and waveform reconstruction",
      "family": "miotts",
      "model": "models/MioTTS-1.7B",
      "task": "tts",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "long_clone",
          "text": "For audit, this MioTTS path test uses a passage that is longer than the default chunk size but still easy to verify. The first sentence checks that the opening words are spoken clearly. The second sentence says that green clocks measure quiet rivers while silver lanterns mark the path home. The final sentence confirms that the ending phrase is present and easy to hear.",
          "voice_ref": "resources/sample.wav",
          "seed": 1234,
          "max_tokens": 1400,
          "do_sample": true
        }
      ]
    },
    {
      "id": "voxcpm2_tts_voice_design",
      "coverage": "VoxCPM2 text-to-speech path with text-embedded voice design, MiniCPM generation, diffusion feature generation, and AudioVAE decode",
      "family": "voxcpm2",
      "model": "models/VoxCPM2",
      "task": "tts",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "voice_design",
          "text": "(A calm studio narrator with clear articulation) This VoxCPM2 path test checks the text-to-speech interface through AudioCPP CLI.",
          "seed": 1234,
          "max_tokens": 0,
          "guidance_scale": 2.0,
          "num_inference_steps": 10
        }
      ]
    },
    {
      "id": "voxcpm2_voice_clone",
      "coverage": "VoxCPM2 voice clone path with reference audio encoding, MiniCPM generation, diffusion feature generation, and AudioVAE decode",
      "family": "voxcpm2",
      "model": "models/VoxCPM2",
      "task": "tts",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "clone",
          "text": "This VoxCPM2 path test clones the reference speaker for a short review sentence.",
          "voice_ref": "resources/sample.wav",
          "seed": 1234,
          "max_tokens": 0,
          "guidance_scale": 2.0,
          "num_inference_steps": 10
        }
      ]
    },
    {
      "id": "voxcpm2_streaming_voice_design",
      "coverage": "VoxCPM2 streaming text-to-speech path with text-embedded voice design, MiniCPM streaming generation, diffusion feature generation, and AudioVAE chunk decode",
      "family": "voxcpm2",
      "model": "models/VoxCPM2",
      "task": "tts",
      "mode": "streaming",
      "chunk_size": 512,
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "streaming_voice_design",
          "text": "(A calm studio narrator with clear articulation) This VoxCPM2 streaming path test checks that the CLI can emit audio chunks for a longer voice design request while preserving a steady speaking style.",
          "seed": 1234,
          "max_tokens": 160,
          "guidance_scale": 2.0,
          "num_inference_steps": 10,
          "options": {
            "retry_badcase": false
          }
        }
      ]
    },
    {
      "id": "higgs_audio_tts_voice_clone_chunked",
      "coverage": "Higgs Audio v3 voice clone path with framework text chunking, AR generation, and codec decode",
      "family": "higgs_audio_tts",
      "model": "models/higgs-audio-v3-tts-4b",
      "task": "tts",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "clone_chunked",
          "text": "The first Higgs chunk checks that the reference voice remains stable through a normal sentence. The second chunk confirms that the framework splitter can continue the same request without changing the speaker. The final chunk gives the reviewer an easy ending phrase to inspect in the merged audio.",
          "voice_ref": "resources/sample.wav",
          "reference_text": "Some call me nature. Others call me Mother Nature. I've been here for over 4.5 billion years. 22,500 times longer than you.",
          "seed": 1234,
          "temperature": 1.0,
          "top_p": 0.95,
          "top_k": 50
        }
      ]
    },
    {
      "id": "higgs_audio_tts_voice_clone_cache_pollution",
      "coverage": "Higgs Audio v3 long-lived session cache pollution check with short, long, medium, and long requests",
      "family": "higgs_audio_tts",
      "model": "models/higgs-audio-v3-tts-4b",
      "task": "tts",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "warmup_short",
          "text": "A short warmup checks the cloned voice before the run.",
          "voice_ref": "resources/sample.wav",
          "reference_text": "This little work was finished in the year eighteen o three, and intended for immediate publication.",
          "seed": 1234
        },
        {
          "id": "long_first",
          "text": "The harbor archive opened before sunrise while the night watchman still carried his lantern across the wet stone courtyard. A clerk in a green coat unlocked the east room, counted the incoming ledgers, and read aloud the schedule for boats arriving from the orchard towns. Near the fountain, two painters argued gently about the color of the morning clouds, a baker delivered rye bread to the station kitchen, and a violin teacher asked three students to repeat a bright phrase until every note sounded steady. By midmorning the telegraph operator copied a report about calm weather, the ferry captain checked the brass bell, and a group of travelers compared tickets beside a stack of blue trunks. The clerk wrote that the town remained orderly, the river moved slowly under the bridge, and every worker seemed ready for another careful day of letters, freight, music, maps, and patient conversation.",
          "voice_ref": "resources/sample.wav",
          "reference_text": "This little work was finished in the year eighteen o three, and intended for immediate publication.",
          "seed": 1234
        },
        {
          "id": "medium_after_long",
          "text": "At noon the same clerk closed one ledger and opened another. She recorded a basket of pears, a silver watch, two parcels of glass, and a folded map that had been returned by a quiet traveler. Outside the station, children crossed the square in pairs while the tram driver polished the handle of the door. The short report ended with a note that the tide was low, the west platform was clean, and the lighthouse keeper had sent no warning for the afternoon crossing.",
          "voice_ref": "resources/sample.wav",
          "reference_text": "This little work was finished in the year eighteen o three, and intended for immediate publication.",
          "seed": 1234
        },
        {
          "id": "long_second",
          "text": "Evening brought a different rhythm to the harbor station as lamps brightened along the quay and the last sunlight slid from the warehouse roofs. A customs officer inspected a crate of painted cups, a mechanic tightened a tram hinge, and a florist carried pale lilies toward the hotel veranda. The clerk listened to the bell tower, then added a final page describing the sound of boots on the platform, ropes moving against wooden posts, and distant engines beyond the river bend. Travelers gathered under the awning to ask about the morning ferry, while a choir director folded sheet music beside the ticket window and promised to return after breakfast. Before midnight the watchman tested each lock, the baker collected empty trays from the kitchen, and the clerk wrote that the town had kept its balance through another day of weather, errands, careful voices, and small dependable signs of work.",
          "voice_ref": "resources/sample.wav",
          "reference_text": "This little work was finished in the year eighteen o three, and intended for immediate publication.",
          "seed": 1234
        }
      ]
    },
    {
      "id": "fish_audio_s2_pro_paths",
      "coverage": "Fish Audio S2-Pro path coverage for default voice, reference voice clone, inline control tag, AR generation, and codec decode in one offline session",
      "family": "fish_audio",
      "model": "models/s2-pro",
      "task": "tts",
      "mode": "offline",
      "session_options": {
        "fish_audio.weight_type": "native",
        "fish_audio.codec_weight_type": "native",
        "fish_audio.reference_cache_slots": "1"
      },
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "official_auto_voice_english",
          "text": "The field recorder captured a clean reference take, and the operator confirmed that every timestamp matched the written production notes.",
          "text_chunk_size": 200,
          "top_p": 0.8,
          "repetition_penalty": 1.1,
          "temperature": 0.8,
          "seed": 1234
        },
        {
          "id": "official_reference_voice_clone",
          "text": "The studio engineer checked the short voice prompt, confirmed the take was clear, and started the final render.",
          "voice_ref": "resources/sample.wav",
          "reference_text": "Some call me nature. Others call me Mother Nature. I've been here for over 4.5 billion years. 22,500 times longer than you.",
          "text_chunk_size": 200,
          "top_p": 0.8,
          "repetition_penalty": 1.1,
          "temperature": 0.8,
          "seed": 2234
        },
        {
          "id": "official_inline_control_tag",
          "text": "[whisper in small voice] The prototype actually worked after the last reset, and the control room stayed quiet until every green light appeared.",
          "text_chunk_size": 200,
          "top_p": 0.8,
          "repetition_penalty": 1.1,
          "temperature": 0.8,
          "seed": 3234
        }
      ]
    },
    {
      "id": "heartmula_music_generation",
      "coverage": "HeartMuLa text-to-music generation using native model weight types and the warmbench reference request",
      "family": "heartmula",
      "model": "models/HeartMuLa",
      "task": "gen",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "warmbench_default",
          "text": "[Intro]\n\n[Verse]\nThe sun creeps in across the floor\nI hear the traffic outside the door\nThe coffee pot begins to hiss\nIt is another morning just like this\n\n[Prechorus]\nThe world keeps spinning round and round\nFeet are planted on the ground\nI find my rhythm in the sound\n\n[Chorus]\nEvery day the light returns\nEvery day the fire burns\nWe keep on walking down this street\nMoving to the same steady beat\nIt is the ordinary magic that we meet\n\n[Verse]\nThe hours tick deeply into noon\nChasing shadows, chasing the moon\nWork is done and the lights go low\nWatching the city start to glow\n\n[Bridge]\nIt is not always easy, not always bright\nSometimes we wrestle with the night\nBut we make it to the morning light\n\n[Chorus]\nEvery day the light returns\nEvery day the fire burns\nWe keep on walking down this street\nMoving to the same steady beat\n\n[Outro]\nJust another day\nEvery single day\n",
          "duration_seconds": 60,
          "temperature": 1.0,
          "top_k": 50,
          "guidance_scale": 1.5,
          "num_inference_steps": 10,
          "seed": 1234,
          "options": {
            "tags": "piano,happy,pop,indie-pop,warm,female-vocal,medium-tempo",
            "codec_duration": 29.76,
            "codec_guidance_scale": 1.25
          }
        }
      ]
    },
    {
      "id": "irodori_tts_500m_emoji_style_clone",
      "coverage": "Irodori-TTS 500M no-reference emoji/style requests and reference clone path in one session",
      "family": "irodori_tts",
      "model": "models/Irodori-TTS-500M-v3",
      "task": "tts",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "short_emoji",
          "text": "\u4eca\u65e5\u306f\u77ed\u3044\u78ba\u8a8d\u3067\u3059\u3002\ud83d\ude0a\u3084\u3055\u3057\u304f\u3001\u805e\u304d\u53d6\u308a\u3084\u3059\u3044\u58f0\u3067\u304a\u9858\u3044\u3057\u307e\u3059\u3002",
          "language": "ja",
          "seed": 1234,
          "num_inference_steps": 40,
          "options": {
            "no_ref": true
          }
        },
        {
          "id": "style_sound",
          "text": "\ud83d\udcde\u304a\u96fb\u8a71\u3042\u308a\u304c\u3068\u3046\u3054\u3056\u3044\u307e\u3059\u3002\u5c11\u3057\u304a\u5f85\u3061\u304f\u3060\u3055\u3044\u3002\u23f8\ufe0f\u305f\u3060\u3044\u307e\u62c5\u5f53\u8005\u3078\u304a\u3064\u306a\u304e\u3057\u307e\u3059\u3002",
          "language": "ja",
          "seed": 1234,
          "num_inference_steps": 40,
          "options": {
            "no_ref": true
          }
        },
        {
          "id": "clone_reference",
          "text": "\u3053\u306e\u58f0\u306e\u96f0\u56f2\u6c17\u3092\u4fdd\u3063\u305f\u307e\u307e\u3001\u843d\u3061\u7740\u3044\u3066\u81ea\u7136\u306b\u8aad\u307f\u4e0a\u3052\u307e\u3059\u3002",
          "language": "ja",
          "voice_ref": "resources/sample.wav",
          "seed": 1234,
          "num_inference_steps": 40,
          "options": {
            "no_ref": false
          }
        }
      ]
    },
    {
      "id": "irodori_tts_600m_voice_design_caption",
      "coverage": "Irodori-TTS 600M voice-design caption conditioning with no-reference and reference-conditioned emoji requests",
      "family": "irodori_tts",
      "model": "models/Irodori-TTS-600M-v3-VoiceDesign",
      "task": "vdes",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "voice_design_caption",
          "text": "\u672c\u65e5\u306f\u304a\u8d8a\u3057\u3044\u305f\u3060\u304d\u3001\u8aa0\u306b\u3042\u308a\u304c\u3068\u3046\u3054\u3056\u3044\u307e\u3059\u3002\u3069\u3046\u305e\u3054\u3086\u3063\u304f\u308a\u304a\u904e\u3054\u3057\u304f\u3060\u3055\u3044\u3002",
          "language": "ja",
          "seed": 1234,
          "num_inference_steps": 40,
          "options": {
            "caption": "\u843d\u3061\u7740\u3044\u305f\u5927\u4eba\u306e\u7537\u6027\u3002\u30d5\u30a9\u30fc\u30de\u30eb\u306a\u5834\u3067\u3001\u6df1\u304f\u97ff\u304f\u58f0\u3067\u4e01\u5be7\u304b\u3064\u6b53\u8fce\u306e\u610f\u3092\u8fbc\u3081\u3066\u8a71\u3057\u3066\u3044\u308b\u3002",
            "no_ref": true
          }
        },
        {
          "id": "voice_design_ref_caption_emoji",
          "text": "\u3042\u306f\u306f\u3063\ud83e\udd2d\u3001\u305d\u308c\u672c\u5f53\u306b\u8a00\u3063\u3066\u308b\u306e\uff1f\u2026\ud83d\ude2e\u200d\ud83d\udca8\u307e\u3041\u3001\u541b\u3089\u3057\u3044\u3051\u3069\u306d\u3002",
          "language": "ja",
          "voice_ref": "models/Irodori-TTS-600M-v3-VoiceDesign/samples/clone_ref2.wav",
          "seed": 1234,
          "num_inference_steps": 40,
          "options": {
            "caption": "\u4f59\u88d5\u306e\u3042\u308b\u5927\u4eba\u306e\u7537\u6027\u3002\u89aa\u3057\u3044\u76f8\u624b\u306b\u5bfe\u3057\u3066\u3001\u304f\u3060\u3051\u305f\u96f0\u56f2\u6c17\u3067\u5446\u308c\u306a\u304c\u3089\u3082\u697d\u3057\u305d\u3046\u306b\u8a71\u3057\u3066\u3044\u308b\u3002",
            "no_ref": false
          }
        }
      ]
    },
    {
      "id": "stable_audio_music_text",
      "coverage": "Stable Audio 3 small-music text-to-music path",
      "family": "stable_audio",
      "model": "models/stable-audio-3-small-music",
      "task": "gen",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "music_text",
          "text": "House music that encapsulates the feeling of being at a festival in the sunny weather with all your friends 124 BPM",
          "language": "en",
          "duration_seconds": 120.0,
          "num_inference_steps": 8,
          "guidance_scale": 1.0,
          "seed": 1234
        }
      ]
    },
    {
      "id": "stable_audio_music_init_audio",
      "coverage": "Stable Audio 3 small-music init-audio path",
      "family": "stable_audio",
      "model": "models/stable-audio-3-small-music",
      "task": "gen",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "music_init_audio",
          "text": "Transform the reference into a mellow downtempo track with deeper bass, brushed hats, and wide room ambience",
          "language": "en",
          "audio": "resources/mel_roformer_test_10s.wav",
          "duration_seconds": 10.0,
          "num_inference_steps": 8,
          "guidance_scale": 1.0,
          "seed": 1246,
          "options": {
            "negative_prompt": "poor quality, distorted, clipped, noisy",
            "audio_input_kind": "init_audio",
            "init_noise_level": 0.45
          }
        }
      ]
    },
    {
      "id": "stable_audio_music_inpaint_audio",
      "coverage": "Stable Audio 3 small-music inpaint-audio path with mask regions",
      "family": "stable_audio",
      "model": "models/stable-audio-3-small-music",
      "task": "gen",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "music_inpaint_audio",
          "text": "Replace only the masked sections with a tight snare fill and bright guitar swell while preserving the surrounding acoustic verse",
          "language": "en",
          "audio": "resources/mel_roformer_test_10s.wav",
          "duration_seconds": 10.0,
          "num_inference_steps": 8,
          "guidance_scale": 1.0,
          "seed": 1248,
          "options": {
            "negative_prompt": "poor quality, distorted, clipped, noisy",
            "audio_input_kind": "inpaint_audio",
            "inpaint_mask_start_seconds": "2.5,6.5",
            "inpaint_mask_end_seconds": "3.5,8.0"
          }
        }
      ]
    },
    {
      "id": "stable_audio_sfx_text",
      "coverage": "Stable Audio 3 small-sfx text-to-sound path",
      "family": "stable_audio",
      "model": "models/stable-audio-3-small-sfx",
      "task": "gen",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "sfx_text",
          "text": "Footsteps on gravel, steady walking pace, close perspective, crisp natural stone texture. Length: 8 seconds",
          "language": "en",
          "duration_seconds": 8.0,
          "num_inference_steps": 8,
          "guidance_scale": 1.0,
          "seed": 1235
        }
      ]
    },
    {
      "id": "stable_audio_medium_text",
      "coverage": "Stable Audio 3 medium text-to-music path with chunked decode",
      "family": "stable_audio",
      "model": "models/stable-audio-3-medium",
      "task": "gen",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "medium_text",
          "text": "An anthemic Pop Rock instrumental that fills your head with nostalgic thoughtfulness",
          "language": "en",
          "duration_seconds": 30.0,
          "num_inference_steps": 8,
          "guidance_scale": 1.0,
          "seed": 1236,
          "options": {
            "negative_prompt": "poor quality",
            "chunked_decode": true
          }
        }
      ]
    },
    {
      "id": "supertonic_tts_voice_presets",
      "coverage": "Supertonic TTS preset voice styles and shared generation options in one session",
      "family": "supertonic",
      "model": "models/supertonic-3",
      "task": "tts",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "male_voice",
          "text": "Supertonic path testing confirms the male preset voice with stable timing and clear speech.",
          "language": "en",
          "voice_id": "M1",
          "speaking_rate": 1.05,
          "seed": 1234,
          "num_inference_steps": 10
        },
        {
          "id": "female_voice",
          "text": "The second request keeps the same session alive while switching to the female preset voice.",
          "language": "en",
          "voice_id": "F1",
          "speaking_rate": 1.05,
          "seed": 1234,
          "num_inference_steps": 10
        }
      ]
    },
    {
      "id": "rvc_packaged_voice_vc",
      "coverage": "RVC native voice conversion with packaged voices, HuBERT, RMVPE, and packaged retrieval vectors",
      "family": "rvc",
      "model": "models/RVC/inference/safetensors",
      "task": "vc",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "default_no_index",
          "audio": "resources/sample_16k.wav",
          "options": {
            "voice_id": "default",
            "retrieval_blend": 0.0
          }
        },
        {
          "id": "default_indexed",
          "audio": "resources/sample_16k.wav",
          "options": {
            "voice_id": "default",
            "retrieval_blend": 0.5
          }
        }
      ]
    },
    {
      "id": "seed_vc_v2_vc_long_bigvgan",
      "coverage": "SeedVC V2 voice conversion, AR, CFM, CampPlus, BigVGAN chunked vocoder",
      "family": "seed_vc",
      "model": "models/SeedVC-MLX",
      "task": "vc",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "v2_long",
          "audio": "resources/seed_vc/source/see_you_again_vocals_cut_28sec.wav",
          "voice_ref": "resources/seed_vc/voice_ref/s2p1.wav",
          "route": "v2_vc",
          "options": {
            "length_adjust": 1.0,
            "intelligibility_cfg_rate": 0.7,
            "similarity_cfg_rate": 0.7
          },
          "seed": 1234,
          "num_inference_steps": 30
        }
      ]
    },
    {
      "id": "seed_vc_v1_svc_long_rmvpe_bigvgan",
      "coverage": "SeedVC V1 SVC, Whisper content, RMVPE F0, length adjust, BigVGAN long chunking",
      "family": "seed_vc",
      "model": "models/SeedVC-MLX",
      "task": "svc",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "v1_svc_180s",
          "audio": "resources/mel_roformer_test_180s.wav",
          "voice_ref": "resources/seed_vc/voice_ref/s2p1.wav",
          "route": "v1_svc",
          "options": {
            "length_adjust": 1.0,
            "inference_cfg_rate": 0.7,
            "f0_condition": true,
            "auto_f0_adjust": true,
            "semi_tone_shift": 0,
            "fp16": false
          },
          "seed": 1234,
          "num_inference_steps": 30
        }
      ]
    },
    {
      "id": "seed_vc_v1_whisper_bigvgan_vc",
      "coverage": "SeedVC V1 whisper-small BigVGAN voice-conversion route",
      "family": "seed_vc",
      "model": "models/SeedVC-MLX",
      "task": "vc",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "v1_whisper_bigvgan",
          "audio": "resources/seed_vc/source/source_s1.wav",
          "voice_ref": "resources/seed_vc/voice_ref/s2p1.wav",
          "route": "v1_whisper_bigvgan_vc",
          "options": {
            "length_adjust": 1.0,
            "inference_cfg_rate": 0.7,
            "fp16": false
          },
          "seed": 1234,
          "num_inference_steps": 30
        }
      ]
    },
    {
      "id": "seed_vc_v1_xlsr_hift_vc",
      "coverage": "SeedVC V1 XLSR/HuBERT-style content encoder and HiFT vocoder route",
      "family": "seed_vc",
      "model": "models/SeedVC-MLX",
      "task": "vc",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "v1_xlsr_hift",
          "audio": "resources/seed_vc/source/source_s1.wav",
          "voice_ref": "resources/seed_vc/voice_ref/s2p1.wav",
          "route": "v1_xlsr_hift_vc",
          "options": {
            "length_adjust": 1.0,
            "inference_cfg_rate": 0.7,
            "fp16": false
          },
          "seed": 1234,
          "num_inference_steps": 30
        }
      ]
    },
    {
      "id": "vevo2_tts_routes",
      "coverage": "VeVo2 text-to-speech task routes: zero-shot speech, text-to-singing, and singing voice synthesis",
      "family": "vevo2",
      "model": "models/Vevo2",
      "task": "tts",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "zero_shot_tts",
          "route": "zero_shot_tts",
          "target_text": "This is a zero shot speech request using the unified VeVo2 command line interface.",
          "style_ref": "resources/vevo2_official_gallery/tts_ref.wav",
          "style_ref_text": "This reference describes the target speaking voice.",
          "target_voice": "resources/vevo2_official_gallery/tts_ref.wav",
          "seed": 1234,
          "temperature": 1.0,
          "top_k": 25,
          "top_p": 0.8,
          "num_inference_steps": 32
        },
        {
          "id": "text_to_singing",
          "route": "text_to_singing",
          "target_text": "A simple melody carries the words through the evening light.",
          "style_ref": "resources/vevo2_official_gallery/adele_raw.wav",
          "style_ref_text": "This reference describes the target singing voice.",
          "target_voice": "resources/vevo2_official_gallery/adele_raw.wav",
          "seed": 1234,
          "temperature": 1.0,
          "top_k": 25,
          "top_p": 0.8,
          "num_inference_steps": 32
        },
        {
          "id": "svs",
          "route": "svs",
          "target_text": "The chorus rises softly and returns with a brighter tone.",
          "style_ref": "resources/vevo2_official_gallery/svs_melody.wav",
          "style_ref_text": "This reference describes the target melody and singing style.",
          "target_voice": "resources/vevo2_official_gallery/adele_raw.wav",
          "seed": 1234,
          "temperature": 1.0,
          "top_k": 25,
          "top_p": 0.8,
          "num_inference_steps": 32
        }
      ]
    },
    {
      "id": "vevo2_vc_routes",
      "coverage": "VeVo2 voice-conversion task routes: style-preserved and style-converted voice conversion",
      "family": "vevo2",
      "model": "models/Vevo2",
      "task": "vc",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "style_preserved_vc",
          "route": "style_preserved_vc",
          "source_audio": "resources/vevo2_official_gallery/style_whisper2normal_input.wav",
          "target_voice": "resources/vevo2_official_gallery/tts_ref.wav",
          "use_pitch_shift": false,
          "seed": 1234,
          "num_inference_steps": 32
        },
        {
          "id": "style_converted_vc",
          "route": "style_converted_vc",
          "target_text": "The converted voice follows the source content while adopting the requested style.",
          "source_audio": "resources/vevo2_official_gallery/style_whisper2normal_input.wav",
          "style_ref": "resources/vevo2_official_gallery/style_whisper2normal_ref.wav",
          "style_ref_text": "This reference carries the converted vocal style.",
          "use_pitch_shift": false,
          "seed": 1234,
          "temperature": 1.0,
          "top_k": 25,
          "top_p": 0.8,
          "num_inference_steps": 32
        }
      ]
    },
    {
      "id": "vevo2_s2s_routes",
      "coverage": "VeVo2 speech-to-speech editing route",
      "family": "vevo2",
      "model": "models/Vevo2",
      "task": "s2s",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "editing",
          "route": "editing",
          "target_text": "Please replace the spoken phrase with this edited sentence.",
          "source_audio": "resources/vevo2_official_gallery/editing_child_gen.wav",
          "style_ref_text": "This reference preserves the original speaker style.",
          "use_pitch_shift": false,
          "seed": 1234,
          "temperature": 1.0,
          "top_k": 25,
          "top_p": 0.8,
          "num_inference_steps": 32
        }
      ]
    },
    {
      "id": "vevo2_svc_routes",
      "coverage": "VeVo2 singing voice conversion task routes including style conversion and melody control",
      "family": "vevo2",
      "model": "models/Vevo2",
      "task": "svc",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "style_preserved_svc",
          "route": "style_preserved_svc",
          "source_audio": "resources/vevo2_official_gallery/mj.wav",
          "target_voice": "resources/vevo2_official_gallery/adele_raw.wav",
          "use_pitch_shift": false,
          "seed": 1234,
          "num_inference_steps": 32
        },
        {
          "id": "style_converted_svc",
          "route": "style_converted_svc",
          "target_text": "A steady phrase follows the converted singing style.",
          "source_audio": "resources/vevo2_official_gallery/style_singing_input.wav",
          "style_ref": "resources/vevo2_official_gallery/style_singing_ref.wav",
          "style_ref_text": "This reference carries the target singing style.",
          "use_pitch_shift": false,
          "seed": 1234,
          "temperature": 1.0,
          "top_k": 25,
          "top_p": 0.8,
          "num_inference_steps": 32
        },
        {
          "id": "singing_style_conversion",
          "route": "singing_style_conversion",
          "target_text": "The same singer changes style while keeping the melody stable.",
          "source_audio": "resources/vevo2_official_gallery/style_singing_input.wav",
          "style_ref": "resources/vevo2_official_gallery/style_singing_ref.wav",
          "style_ref_text": "This reference carries the target singing style.",
          "use_pitch_shift": false,
          "seed": 1234,
          "temperature": 1.0,
          "top_k": 25,
          "top_p": 0.8,
          "num_inference_steps": 32
        },
        {
          "id": "humming_to_singing",
          "route": "humming_to_singing",
          "target_text": "The melody becomes a sung line with clear words.",
          "prosody_ref": "resources/vevo2_official_gallery/humming_melody_ref.wav",
          "style_ref": "resources/vevo2_official_gallery/taiyizhenren.wav",
          "style_ref_text": "This reference carries the target singing voice.",
          "target_voice": "resources/vevo2_official_gallery/taiyizhenren.wav",
          "use_pitch_shift": false,
          "seed": 1234,
          "temperature": 1.0,
          "top_k": 25,
          "top_p": 0.8,
          "num_inference_steps": 32
        },
        {
          "id": "instrument_to_singing",
          "route": "instrument_to_singing",
          "target_text": "The piano melody becomes a sung line with matching phrasing.",
          "prosody_ref": "resources/vevo2_official_gallery/piano_melody_ref.wav",
          "style_ref": "resources/vevo2_official_gallery/taiyizhenren.wav",
          "style_ref_text": "This reference carries the target singing voice.",
          "target_voice": "resources/vevo2_official_gallery/taiyizhenren.wav",
          "use_pitch_shift": false,
          "seed": 1234,
          "temperature": 1.0,
          "top_k": 25,
          "top_p": 0.8,
          "num_inference_steps": 32
        }
      ]
    },
    {
      "id": "kokoro_near_cap_reuse",
      "coverage": "Kokoro long-short-long request sizes, frontend, predictor, decoder graph reuse",
      "family": "kokoro_tts",
      "model": "models/kokoro-82m-v1_0-ggml",
      "task": "tts",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "near_cap",
          "text": "At the museum dinner, the last plates were cleared away before a game began, and the final play was a strange word that everyone debated with good humor for several minutes before agreeing to write it down.",
          "language": "a",
          "seed": 1234
        },
        {
          "id": "short",
          "text": "Silver carts wait by the pier.",
          "language": "a",
          "seed": 1234
        },
        {
          "id": "near_cap_again",
          "text": "Morning barges drifted past the bridge as the clerk reread the notice, tucked the blue envelope into her coat, and described the quiet station in a calm clear voice.",
          "language": "a",
          "seed": 1234
        }
      ]
    },
    {
      "id": "omnivoice_clone_long",
      "coverage": "OmniVoice reference clone path, generator chunking, audio tokenizer conditioning",
      "family": "omnivoice",
      "model": "models/OmniVoice",
      "task": "tts",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "clone_long",
          "text": "OmniVoice should keep its reference speaker stable while generating a longer paragraph that exercises prompt building and audio tokenizer reuse.",
          "language": "en",
          "voice_ref": "resources/a.wav",
          "reference_text": "This little work was finished in the year eighteen o three, and intended for immediate publication.",
          "options": {
            "audio_chunk_duration": 15.0
          },
          "seed": 1234,
          "guidance_scale": 2.0,
          "num_inference_steps": 16
        }
      ]
    },
    {
      "id": "omnivoice_voice_design",
      "coverage": "OmniVoice instruction-only voice design path without reference-audio defaults",
      "family": "omnivoice",
      "model": "models/OmniVoice",
      "task": "tts",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "design",
          "text": "This second request uses an instruction instead of a reference voice.",
          "language": "en",
          "instruct": "female, low pitch, british accent",
          "seed": 1234,
          "guidance_scale": 2.0,
          "num_inference_steps": 16
        }
      ]
    },
    {
      "id": "omnivoice_streaming_voice_clone",
      "coverage": "OmniVoice pseudo-streaming TTS path with text chunk events, reference clone conditioning, generator chunking, and final merged audio",
      "family": "omnivoice",
      "model": "models/OmniVoice",
      "task": "tts",
      "mode": "streaming",
      "outputs": [
        "audio",
        "named_audio"
      ],
      "requests": [
        {
          "id": "streaming_clone",
          "text": "OmniVoice pseudo streaming should emit one audio event per text chunk while preserving the same reference speaker and final merged result.",
          "language": "en",
          "voice_ref": "resources/a.wav",
          "reference_text": "This little work was finished in the year eighteen o three, and intended for immediate publication.",
          "options": {
            "text_chunk_size": 48,
            "text_chunk_mode": "tag_aware",
            "audio_chunk_duration": 15.0
          },
          "seed": 1234,
          "guidance_scale": 2.0,
          "num_inference_steps": 16
        }
      ]
    },
    {
      "id": "pocket_tts_long_short_long",
      "coverage": "PocketTTS text conditioner, voice conditioner, flow LM, Mimi decoder chunk/reuse path",
      "family": "pocket_tts",
      "model": "models/pocket-tts",
      "task": "tts",
      "mode": "offline",
      "session_options": {
        "language": "english"
      },
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "long",
          "text": "The museum guide paused at the bronze clock so the children could hear its careful chime echo through the hall while visitors moved toward the river doors.",
          "voice_ref": "resources/a.wav",
          "seed": 1234,
          "max_tokens": 160
        },
        {
          "id": "short",
          "text": "Rain taps softly on the glass roof.",
          "voice_ref": "resources/a.wav",
          "seed": 1234,
          "max_tokens": 96
        },
        {
          "id": "long_again",
          "text": "Another longer request checks that PocketTTS keeps its session state stable after a shorter sentence and does not rebuild more than needed.",
          "voice_ref": "resources/a.wav",
          "seed": 1234,
          "max_tokens": 160
        }
      ]
    },
    {
      "id": "moss_tts_nano_voice_clone_long",
      "coverage": "MOSS-TTS-Nano voice clone, text/audio token generation, MOSS-Audio-Tokenizer-Nano decode",
      "family": "moss_tts_nano",
      "model": "models/MOSS-TTS-Nano-100M",
      "task": "tts",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "long",
          "text": "The studio lights clicked on before the first phrase began, and the cloned voice should stay steady through this medium length request.",
          "voice_ref": "resources/a.wav",
          "seed": 1234,
          "max_tokens": 120
        }
      ]
    },
    {
      "id": "moss_tts_nano_sampled_multi_request",
      "coverage": "MOSS-TTS-Nano seeded sampled voice clone across varied request lengths in one session",
      "family": "moss_tts_nano",
      "model": "models/MOSS-TTS-Nano-100M",
      "task": "tts",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "sampled_medium",
          "text": "This sampled Nano request exercises temperature, top-k, top-p, and repetition penalty while keeping the cloned speaker steady.",
          "voice_ref": "resources/a.wav",
          "seed": 1234,
          "max_tokens": 180,
          "do_sample": true,
          "temperature": 1.7,
          "top_p": 0.8,
          "top_k": 25
        },
        {
          "id": "sampled_longer",
          "text": "The second sampled request is longer, because the path test should cover a realistic session where the same reference voice is reused after the first request and the generator must keep the speaker identity stable while producing another complete sentence with different wording.",
          "voice_ref": "resources/a.wav",
          "seed": 1234,
          "max_tokens": 220,
          "do_sample": true,
          "temperature": 1.7,
          "top_p": 0.8,
          "top_k": 25
        }
      ]
    },
    {
      "id": "moss_tts_nano_text_chunk_mode",
      "coverage": "MOSS-TTS-Nano framework text chunk mode override through request options",
      "family": "moss_tts_nano",
      "model": "models/MOSS-TTS-Nano-100M",
      "task": "tts",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "endline_chunks",
          "text": "The first Nano chunk should stay clear and natural.\nThe second Nano chunk should keep the same cloned voice.",
          "voice_ref": "resources/a.wav",
          "seed": 1234,
          "max_tokens": 80,
          "text_chunk_size": 64,
          "options": {
            "text_chunk_mode": "endline"
          }
        }
      ]
    },
    {
      "id": "moss_tts_nano_continuation_text_chunk",
      "coverage": "MOSS-TTS-Nano continuation mode without reference audio, including framework text chunking",
      "family": "moss_tts_nano",
      "model": "models/MOSS-TTS-Nano-100M",
      "task": "tts",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "continuation_chunked",
          "text": "The first Nano continuation chunk should be generated without a reference voice.\nThe second Nano continuation chunk should also be generated without a reference voice.",
          "seed": 1234,
          "max_tokens": 80,
          "text_chunk_size": 64,
          "options": {
            "text_chunk_mode": "endline"
          }
        }
      ]
    },
    {
      "id": "moss_tts_local_text_only_greedy",
      "coverage": "MOSS-TTS-Local text-only generation: Qwen3 backbone prefill, GPT-2 depth transformer, binary audio-end gate, 12-codebook sampling, MOSS-Audio-Tokenizer-v2 decode to 48 kHz stereo",
      "family": "moss_tts_local",
      "model": "models/MOSS-TTS-Local-Transformer-v1.5",
      "task": "tts",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "text_only_greedy",
          "text": "The studio lights clicked on before the first phrase began, and the narrator kept a steady, natural tone.",
          "seed": 1234,
          "do_sample": false
        }
      ]
    },
    {
      "id": "moss_tts_local_voice_clone_sampled",
      "coverage": "MOSS-TTS-Local voice clone: reference resample and loudness normalization, MOSS-Audio-Tokenizer-v2 encode to codes, clone-prefix build, generation, codec decode",
      "family": "moss_tts_local",
      "model": "models/MOSS-TTS-Local-Transformer-v1.5",
      "task": "tts",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "clone_sampled",
          "text": "The cloned voice should stay steady and clear through this medium length request.",
          "voice_ref": "resources/a.wav",
          "reference_text": "This little work was finished in the year eighteen o three, and intended for immediate publication.",
          "seed": 1234
        }
      ]
    },
    {
      "id": "moss_tts_local_sampled_language",
      "coverage": "MOSS-TTS-Local default sampled generation path with an explicit language template slot",
      "family": "moss_tts_local",
      "model": "models/MOSS-TTS-Local-Transformer-v1.5",
      "task": "tts",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "sampled_en",
          "text": "This sampled request exercises temperature, top-k, top-p, and repetition penalty together.",
          "language": "English",
          "seed": 1234
        }
      ]
    },
    {
      "id": "moss_tts_local_long_lived_session",
      "coverage": "MOSS-TTS-Local long-lived session: long text-only, short clone, then long clone requests in one session to exercise backbone/depth/codec graph reuse, lazy encoder build, and stable memory after warmup",
      "family": "moss_tts_local",
      "model": "models/MOSS-TTS-Local-Transformer-v1.5",
      "task": "tts",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "long_text_only",
          "text": "The harbor clerk opened the tall windows and began a careful morning report about the tide, the lantern, and the ships crossing the horizon.",
          "seed": 1234
        },
        {
          "id": "short_clone",
          "text": "The shorter line should keep the same cloned speaker.",
          "voice_ref": "resources/a.wav",
          "reference_text": "This little work was finished in the year eighteen o three, and intended for immediate publication.",
          "seed": 1234
        },
        {
          "id": "long_clone_again",
          "text": "After the short request, the same cloned voice describes the quiet station again in a longer passage so graph reuse and memory behavior stay visible.",
          "voice_ref": "resources/a.wav",
          "reference_text": "This little work was finished in the year eighteen o three, and intended for immediate publication.",
          "seed": 1234
        }
      ]
    },
    {
      "id": "vibevoice_two_speaker_long",
      "coverage": "VibeVoice 1.5B longer two-speaker TTS path with reference voices",
      "family": "vibevoice",
      "model": "models/VibeVoice-1.5B",
      "task": "tts",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "long_two_speaker_dialogue",
          "text": "Speaker 1: Hi Frank. The first buoy is online, the harbor link is clean, and the overnight packet loss finally dropped below one percent.\nSpeaker 2: Great. I hear you clearly, and my voice should stay separate while we walk through the checklist.\nSpeaker 1: The north pier microphone was noisy yesterday, but after the firmware update it is reporting steady levels and no clipped frames.\nSpeaker 2: I will mark that as verified. The backup radio is still on battery power, though, so we should not call the site healthy yet.\nSpeaker 1: Agreed. I also want to test the alert path with a realistic message instead of a single sentence, because the old run was too short to catch turn changes.\nSpeaker 2: That makes sense. Let us keep alternating speakers for a little longer, confirm the same two voices remain stable, and then save this audio as the baseline.",
          "num_inference_steps": 8,
          "guidance_scale": 1.3,
          "seed": 1234,
          "options": {
            "voice_samples": "reference/VibeVoiceCommunity/demo/voices/en-Alice_woman.wav,reference/VibeVoiceCommunity/demo/voices/en-Frank_man.wav"
          }
        }
      ]
    },
    {
      "id": "qwen3_asr_offline",
      "coverage": "Qwen3 ASR offline audio encoder and thinker decode",
      "family": "qwen3_asr",
      "model": "models/Qwen3-ASR-0.6B",
      "task": "asr",
      "mode": "offline",
      "outputs": [
        "text"
      ],
      "requests": [
        {
          "id": "sample",
          "audio": "resources/sample.wav",
          "language": "English",
          "text": "Transcribe the speech exactly. Preserve numeric values."
        }
      ]
    },
    {
      "id": "qwen3_asr_streaming",
      "coverage": "Qwen3 ASR buffered streaming chunk ingestion, transcript deltas, and finalize",
      "family": "qwen3_asr",
      "model": "models/Qwen3-ASR-0.6B",
      "task": "asr",
      "mode": "streaming",
      "outputs": [
        "text"
      ],
      "chunk_size": 16000,
      "requests": [
        {
          "id": "sample_streaming",
          "audio": "resources/sample.wav",
          "language": "English",
          "text": "Transcribe the speech exactly. Preserve numeric values.",
          "options": {
            "audio_chunk_seconds": "5"
          }
        }
      ]
    },
    {
      "id": "qwen3_asr_with_forced_aligner_words",
      "coverage": "Qwen3 ASR integrated transcript decode followed by forced aligner word timestamps",
      "family": "qwen3_asr",
      "model": "models/Qwen3-ASR-0.6B",
      "task": "asr",
      "mode": "offline",
      "session_options": {
        "qwen3_asr.forced_aligner_model_path": "models/Qwen3-ForcedAligner-0.6B"
      },
      "outputs": [
        "text",
        "words"
      ],
      "requests": [
        {
          "id": "sample_words",
          "audio": "resources/sample_16k.wav",
          "language": "English",
          "text": "Transcribe the speech exactly. Preserve numeric values."
        }
      ]
    },
    {
      "id": "kroko_asr_en_q8_offline_words",
      "coverage": "Kroko ASR English Q8 GGUF offline RNN-T decode with word timestamps",
      "family": "kroko_asr",
      "model": "models/Kroko-ASR-GGUF/kroko-en-community-64-l-q8_0.gguf",
      "task": "asr",
      "mode": "offline",
      "outputs": [
        "text",
        "words"
      ],
      "requests": [
        {
          "id": "sample_en_words",
          "audio": "resources/sample_16k.wav",
          "language": "en"
        }
      ]
    },
    {
      "id": "fun_asr_nano_offline",
      "coverage": "Fun-ASR-Nano Q8 GGUF offline English ASR warm-session path",
      "family": "fun_asr_nano",
      "model": "models/Fun-ASR-Nano-2512-GGUF/fun-asr-nano-2512-q8_0.gguf",
      "task": "asr",
      "mode": "offline",
      "outputs": [
        "text"
      ],
      "requests": [
        {
          "id": "warmup_design_short",
          "audio": "resources/design.wav"
        },
        {
          "id": "nature_sample_16k_en_itn_off",
          "audio": "resources/sample_16k.wav",
          "language": "en",
          "options": {
            "enable_itn": false,
            "max_tokens": 128
          }
        }
      ]
    },
    {
      "id": "parakeet_tdt_offline_long",
      "coverage": "Parakeet offline pre-encode, long-context encoder, TDT decoder",
      "family": "parakeet_tdt",
      "model": "models/parakeet-tdt-0.6b-v3",
      "task": "asr",
      "mode": "offline",
      "session_options": {
        "parakeet_tdt.offline_mode": "long_form"
      },
      "outputs": [
        "text"
      ],
      "requests": [
        {
          "id": "sample",
          "audio": "resources/sample_16k.wav"
        }
      ]
    },
    {
      "id": "parakeet_tdt_streaming",
      "coverage": "Parakeet streaming chunk ingestion, buffered context, streaming finalize",
      "family": "parakeet_tdt",
      "model": "models/parakeet-tdt-0.6b-v3",
      "task": "asr",
      "mode": "streaming",
      "session_options": {
        "parakeet_tdt.audio_chunk_duration_sec": "2",
        "parakeet_tdt.left_context_sec": "10",
        "parakeet_tdt.right_context_sec": "2"
      },
      "outputs": [
        "text"
      ],
      "chunk_size": 16000,
      "requests": [
        {
          "id": "stream",
          "audio": "resources/sample_16k.wav"
        }
      ]
    },
    {
      "id": "qwen3_forced_aligner_words",
      "coverage": "Qwen3 forced aligner transcript conditioning and word timestamp output",
      "family": "qwen3_forced_aligner",
      "model": "models/Qwen3-ForcedAligner-0.6B",
      "task": "align",
      "mode": "offline",
      "outputs": [
        "words"
      ],
      "requests": [
        {
          "id": "align",
          "audio": "resources/sample.wav",
          "language": "English",
          "text": "Some call me nature. Others call me Mother Nature. I've been here for over 4.5 billion years. Twenty-two thousand five hundred times longer than you."
        }
      ]
    },
    {
      "id": "citrinet_asr_offline",
      "coverage": "Citrinet ASR frontend and CTC decode",
      "family": "citrinet_asr",
      "model": "models/citrinet",
      "task": "asr",
      "mode": "offline",
      "outputs": [
        "text"
      ],
      "requests": [
        {
          "id": "sample",
          "audio": "resources/a.wav"
        }
      ]
    },
    {
      "id": "vibevoice_asr_paths",
      "coverage": "VibeVoice-ASR offline prompt/context, greedy, beam, sampling, and decoder cache reuse paths",
      "family": "vibevoice_asr",
      "model": "models/VibeVoice-ASR",
      "task": "asr",
      "mode": "offline",
      "outputs": [
        "text"
      ],
      "requests": [
        {
          "id": "greedy_no_context",
          "audio": "resources/sample_16k.wav",
          "options": {
            "max_tokens": 512,
            "temperature": 0.0,
            "top_p": 1.0,
            "top_k": 50,
            "num_beams": 1,
            "seed": 1234
          }
        },
        {
          "id": "greedy_with_context",
          "audio": "resources/sample_16k.wav",
          "text": "The recording is an English narration about nature.",
          "options": {
            "max_tokens": 512,
            "temperature": 0.0,
            "top_p": 1.0,
            "top_k": 50,
            "num_beams": 1,
            "seed": 1234
          }
        },
        {
          "id": "beam_decode",
          "audio": "resources/sample_16k.wav",
          "options": {
            "max_tokens": 512,
            "temperature": 0.0,
            "top_p": 1.0,
            "top_k": 50,
            "num_beams": 2,
            "seed": 1234
          }
        },
        {
          "id": "sampling_decode",
          "audio": "resources/sample_16k.wav",
          "options": {
            "max_tokens": 512,
            "temperature": 0.7,
            "top_p": 0.9,
            "top_k": 50,
            "num_beams": 1,
            "seed": 1234
          }
        }
      ]
    },
    {
      "id": "vibevoice_asr_structured_segments",
      "coverage": "VibeVoice-ASR four-speaker structured transcription with segment timestamps and speaker turns",
      "family": "vibevoice_asr",
      "model": "models/VibeVoice-ASR",
      "task": "asr",
      "mode": "offline",
      "outputs": [
        "text",
        "segments",
        "turns"
      ],
      "requests": [
        {
          "id": "four_speaker_timestamps",
          "audio": "resources/vibevoice_asr/four_speaker_short.wav",
          "text": "The recording is a short four-speaker studio planning conversation.",
          "options": {
            "max_tokens": 1024,
            "temperature": 0.0,
            "top_p": 1.0,
            "top_k": 50,
            "num_beams": 1,
            "seed": 1234
          }
        }
      ]
    },
    {
      "id": "higgs_audio_stt_paths",
      "coverage": "Higgs Audio STT default prompt, custom prompt, enable_thinking on/off, max-token variation, and session reuse paths",
      "family": "higgs_audio_stt",
      "model": "models/higgs-audio-v3-stt",
      "task": "asr",
      "mode": "offline",
      "outputs": [
        "text"
      ],
      "requests": [
        {
          "id": "default_prompt_no_thinking",
          "audio": "resources/sample_16k.wav",
          "text": "Transcribe the speech. Output only the spoken words in lowercase with no punctuation.",
          "options": {
            "max_tokens": 256,
            "enable_thinking": false
          }
        },
        {
          "id": "custom_prompt_thinking",
          "audio": "resources/sample_16k.wav",
          "text": "Transcribe the speech carefully. The recording is an English narration about nature.",
          "options": {
            "max_tokens": 512,
            "enable_thinking": true
          }
        },
        {
          "id": "short_token_budget_no_thinking",
          "audio": "resources/sample_16k.wav",
          "text": "Transcribe the speech. Output only the spoken words in lowercase with no punctuation.",
          "options": {
            "max_tokens": 128,
            "enable_thinking": false
          }
        }
      ]
    },
    {
      "id": "hviske_asr_paths",
      "coverage": "Hviske ASR Danish prompt, punctuation on/off, greedy, sampling, beam decode, and decoder graph reuse paths",
      "family": "hviske_asr",
      "model": "models/hviske-v5.3",
      "task": "asr",
      "mode": "offline",
      "outputs": [
        "text"
      ],
      "requests": [
        {
          "id": "greedy_punctuation",
          "audio": "resources/hviske_asr/danish_unified_00.wav",
          "language": "da",
          "options": {
            "language": "da",
            "punctuation": true,
            "max_tokens": 256,
            "num_beams": 1,
            "do_sample": false
          }
        },
        {
          "id": "greedy_no_punctuation",
          "audio": "resources/hviske_asr/danish_unified_01.wav",
          "language": "da",
          "options": {
            "language": "da",
            "punctuation": false,
            "max_tokens": 256,
            "num_beams": 1,
            "do_sample": false
          }
        },
        {
          "id": "sampling_decode",
          "audio": "resources/hviske_asr/danish_unified_02.wav",
          "language": "da",
          "options": {
            "language": "da",
            "punctuation": true,
            "max_tokens": 256,
            "num_beams": 1,
            "do_sample": true,
            "temperature": 1.0,
            "top_k": 50,
            "top_p": 1.0,
            "seed": 1234
          }
        },
        {
          "id": "beam_decode",
          "audio": "resources/hviske_asr/danish_unified_00.wav",
          "language": "da",
          "options": {
            "language": "da",
            "punctuation": true,
            "max_tokens": 256,
            "num_beams": 5,
            "length_penalty": 1.0,
            "do_sample": false
          }
        }
      ]
    },
    {
      "id": "nemotron_asr_offline_paths",
      "coverage": "Nemotron ASR offline encoder, language prompts, lookahead variation, keep-language-tags decode, and session reuse paths",
      "family": "nemotron_asr",
      "model": "models/nemotron-3.5-asr-streaming-0.6b",
      "task": "asr",
      "mode": "offline",
      "outputs": [
        "text"
      ],
      "requests": [
        {
          "id": "english_lookahead_3",
          "audio": "resources/nemotron_asr/bcn_weather_16k.wav",
          "language": "en-US",
          "options": {
            "language": "en-US",
            "lookahead_tokens": 3,
            "max_tokens": 256,
            "streaming": false
          }
        },
        {
          "id": "english_no_lookahead_tags",
          "audio": "resources/nemotron_asr/bcn_weather_16k.wav",
          "language": "en-US",
          "options": {
            "language": "en-US",
            "lookahead_tokens": 0,
            "max_tokens": 256,
            "streaming": false,
            "keep_language_tags": true
          }
        },
        {
          "id": "chinese_lookahead_3",
          "audio": "resources/nemotron_asr/zh_man_sichuan.wav",
          "language": "zh-CN",
          "options": {
            "language": "zh-CN",
            "lookahead_tokens": 3,
            "max_tokens": 256,
            "streaming": false
          }
        }
      ]
    },
    {
      "id": "nemotron_asr_streaming_paths",
      "coverage": "Nemotron ASR streaming run mode, streaming encoder/cache path, and chunked input finalization",
      "family": "nemotron_asr",
      "model": "models/nemotron-3.5-asr-streaming-0.6b",
      "task": "asr",
      "mode": "streaming",
      "outputs": [
        "text"
      ],
      "chunk_size": 5120,
      "requests": [
        {
          "id": "english_streaming_320ms",
          "audio": "resources/nemotron_asr/bcn_weather_16k.wav",
          "language": "en-US",
          "options": {
            "language": "en-US",
            "lookahead_tokens": 6,
            "max_tokens": 256,
            "keep_language_tags": false
          }
        }
      ]
    },
    {
      "id": "silero_vad_streaming",
      "coverage": "Silero VAD streaming chunk state and final speech segments",
      "family": "silero_vad",
      "model": "assets/framework/models/silero_vad",
      "task": "vad",
      "mode": "streaming",
      "outputs": [
        "segments"
      ],
      "chunk_size": 512,
      "requests": [
        {
          "id": "stream",
          "audio": "resources/sample_16k.wav"
        }
      ]
    },
    {
      "id": "marblenet_vad_offline",
      "coverage": "MarbleNet VAD offline frontend and segment postprocess",
      "family": "marblenet_vad",
      "model": "assets/framework/models/marblenet_vad",
      "task": "vad",
      "mode": "offline",
      "outputs": [
        "segments"
      ],
      "requests": [
        {
          "id": "sample",
          "audio": "resources/sample_16k.wav"
        }
      ]
    },
    {
      "id": "sortformer_diar_offline",
      "coverage": "Sortformer diarization frontend, encoder graph, speaker-turn postprocess",
      "family": "sortformer_diar",
      "model": "models/diar_sortformer_4spk-v1",
      "task": "diar",
      "mode": "offline",
      "outputs": [
        "turns"
      ],
      "requests": [
        {
          "id": "sample",
          "audio": "resources/sample_16k.wav"
        }
      ]
    },
    {
      "id": "htdemucs_long_source_separation",
      "coverage": "HTDemucs long input chunking and multi-stem output",
      "family": "htdemucs",
      "model": "models/htdemucs",
      "task": "sep",
      "mode": "offline",
      "outputs": [
        "named_audio"
      ],
      "requests": [
        {
          "id": "long_180s",
          "audio": "resources/mel_roformer_test_180s.wav"
        }
      ]
    },
    {
      "id": "mel_band_roformer_vocal",
      "coverage": "Mel-band RoFormer source separation graph and mixture-minus-vocals output",
      "family": "mel_band_roformer",
      "model": "models/mel-roformer-mlx",
      "task": "sep",
      "mode": "offline",
      "outputs": [
        "named_audio"
      ],
      "requests": [
        {
          "id": "vocal",
          "audio": "resources/mel_roformer_test_15s.wav"
        }
      ]
    },
    {
      "id": "voxtral_realtime_offline_paths",
      "coverage": "VoxTral Realtime offline ASR with greedy decode, varied audio lengths, and long-lived session request reuse",
      "family": "voxtral_realtime",
      "model": "models/Voxtral-Mini-4B-Realtime-2602",
      "task": "asr",
      "mode": "offline",
      "outputs": [
        "text"
      ],
      "requests": [
        {
          "id": "male_voice_short",
          "audio": "reference/HiggsAudioV3TTS/sglang-omni/docs/_static/audio/male-voice.wav",
          "do_sample": false,
          "temperature": 1.0,
          "top_p": 1.0,
          "top_k": 50,
          "seed": 1234
        },
        {
          "id": "female_voice_medium",
          "audio": "reference/HiggsAudioV3TTS/sglang-omni/docs/_static/audio/female-voice.wav",
          "do_sample": false,
          "temperature": 1.0,
          "top_p": 1.0,
          "top_k": 50,
          "seed": 1234
        },
        {
          "id": "nature_longer",
          "audio": "resources/sample.wav",
          "do_sample": false,
          "temperature": 1.0,
          "top_p": 1.0,
          "top_k": 50,
          "seed": 1234
        }
      ]
    },
    {
      "id": "voxtral_realtime_streaming_path",
      "coverage": "VoxTral Realtime streaming ASR with chunk ingestion, streaming audio encoder cache, bounded decoder KV cache, and finalize",
      "family": "voxtral_realtime",
      "model": "models/Voxtral-Mini-4B-Realtime-2602",
      "task": "asr",
      "mode": "streaming",
      "outputs": [
        "text"
      ],
      "chunk_size": 16000,
      "requests": [
        {
          "id": "nature_streaming",
          "audio": "resources/sample.wav",
          "do_sample": false,
          "temperature": 1.0,
          "top_p": 1.0,
          "top_k": 50,
          "seed": 1234
        }
      ]
    },
    {
      "id": "voxtral_realtime_non_greedy_path",
      "coverage": "VoxTral Realtime offline ASR non-greedy sampling path with top-k, top-p, temperature, and seeded Torch-compatible sampling",
      "family": "voxtral_realtime",
      "model": "models/Voxtral-Mini-4B-Realtime-2602",
      "task": "asr",
      "mode": "offline",
      "outputs": [
        "text"
      ],
      "requests": [
        {
          "id": "nature_sampled",
          "audio": "resources/sample.wav",
          "do_sample": true,
          "temperature": 0.7,
          "top_p": 0.95,
          "top_k": 50,
          "seed": 1234
        }
      ]
    },
    {
      "id": "index_tts2_chinese_voice_clone",
      "coverage": "IndexTTS2 Chinese voice clone path with CJK tokenizer normalization",
      "family": "index_tts2",
      "model": "models/IndexTTS-2",
      "task": "tts",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "chinese_voice_clone",
          "text": "\u8fd9\u4e2a\u5440\uff0c\u5c31\u662f\u6211\u4eec\u7cbe\u5fc3\u5236\u4f5c\u51c6\u5907\u7684\u7eaa\u5ff5\u54c1\uff0c\u5927\u5bb6\u53ef\u4ee5\u770b\u5230\u8fd9\u4e2a\u8272\u6cfd\u548c\u8fd9\u4e2a\u6750\u8d28\u554a\uff0c\u54ce\u5440\u591a\u4e48\u7684\u5149\u5f69\u7167\u4eba\u3002",
          "language": "zh",
          "voice_ref": "resources/index_tts2/official_examples/voice_03.wav",
          "seed": 1245
        }
      ]
    },
    {
      "id": "index_tts2_chinese_emotion_text",
      "coverage": "IndexTTS2 Chinese voice clone with Chinese emotion-text conditioning",
      "family": "index_tts2",
      "model": "models/IndexTTS-2",
      "task": "tts",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "chinese_emotion_text",
          "text": "\u5feb\u8eb2\u8d77\u6765\uff01\u662f\u4ed6\u8981\u6765\u4e86\uff01\u4ed6\u8981\u6765\u6293\u6211\u4eec\u4e86\uff01",
          "language": "zh",
          "voice_ref": "resources/index_tts2/official_examples/voice_12.wav",
          "options": {
            "use_emotion_text": true,
            "emotion_text": "\u4f60\u5413\u6b7b\u6211\u4e86\uff01\u4f60\u662f\u9b3c\u5417\uff1f",
            "emotion_alpha": 0.6,
            "use_random_emotion": false
          },
          "seed": 1246
        }
      ]
    },
    {
      "id": "dramabox_voice_ref_cfg_stg_cold",
      "coverage": "DramaBox single cold voice-reference TTS request with CFG and STG enabled",
      "family": "dramabox",
      "model": "models/Dramabox",
      "task": "tts",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "voice_ref_cfg_stg",
          "text": "A woman speaks warmly, \"Hello, how are you today?\" She laughs softly, \"Hahaha, it is so good to see you again.\"",
          "voice_ref": "reference/DramaBox/assets/voices/female_american.wav",
          "options": {
            "guidance_scale": 2.5,
            "spatio_temporal_guidance_scale": 1.5,
            "duration_scale": 1.1,
            "reference_duration_sec": 10.0,
            "guidance_rescale": "auto"
          },
          "seed": 52
        }
      ]
    },
    {
      "id": "dramabox_voice_ref_cfg_stg_warmed",
      "coverage": "DramaBox two-request voice-reference TTS session with short warmup then full CFG/STG voice-reference request",
      "family": "dramabox",
      "model": "models/Dramabox",
      "task": "tts",
      "mode": "offline",
      "outputs": [
        "audio"
      ],
      "requests": [
        {
          "id": "warmup_voice_ref_cfg_stg",
          "text": "A woman says warmly, \"Hello.\"",
          "voice_ref": "reference/DramaBox/assets/voices/female_american.wav",
          "options": {
            "guidance_scale": 2.5,
            "spatio_temporal_guidance_scale": 1.5,
            "duration_scale": 1.1,
            "reference_duration_sec": 10.0,
            "guidance_rescale": "auto"
          },
          "seed": 52
        },
        {
          "id": "voice_ref_cfg_stg",
          "text": "A woman speaks warmly, \"Hello, how are you today?\" She laughs softly, \"Hahaha, it is so good to see you again.\"",
          "voice_ref": "reference/DramaBox/assets/voices/female_american.wav",
          "options": {
            "guidance_scale": 2.5,
            "spatio_temporal_guidance_scale": 1.5,
            "duration_scale": 1.1,
            "reference_duration_sec": 10.0,
            "guidance_rescale": "auto"
          },
          "seed": 52
        }
      ]
    }
  ],
  "audit_gaps": [
    {
      "family": "band_split_roformer",
      "model": "models/roformer-models/bs_roformer/multistem",
      "reason": "audiocpp_cli --inspect rejects this reference root; only vocals_viperx is currently detectable under the band_split_roformer checkpoint family"
    },
    {
      "family": "band_split_roformer",
      "model": "models/roformer-models/bs_roformer/vocals_viperx",
      "reason": "native audiocpp_cli inference runtime is not implemented yet for the band_split_roformer checkpoint family"
    }
  ]
}
