{ "id": "qwen3_asr_subtitles_batch", "description": "Generate transcript, word timestamp, and SRT files for each WAV file in a directory using Qwen3 ASR with model-side audio chunking.", "inputs": { "source_audio_dir": "", "language": "en", "qwen3_asr_model": "", "qwen3_forced_aligner_model": "" }, "steps": [ { "id": "inputs", "type": "batch_inputs", "audio_dir": "${source_audio_dir}" }, { "id": "prepare_source", "type": "convert_audio", "foreach": "${inputs.items}", "input": "${item.audio_path}", "output": "${out_dir}/source/${item.id}_16k.wav", "sample_rate": 16000, "channels": 1 }, { "id": "transcribe", "type": "model", "foreach": "${prepare_source.items}", "family": "qwen3_asr", "model": "${qwen3_asr_model}", "task": "asr", "mode": "offline", "text_out": "${out_dir}/transcripts/${item.id}.txt", "words_out": "${out_dir}/words/${item.id}.json", "session_options": { "qwen3_asr.forced_aligner_model_path": "${qwen3_forced_aligner_model}" }, "request": { "id": "transcribe", "audio": "${item.audio_path}", "language": "${language}", "text": "Transcribe the speech exactly.", "audio_chunk_mode": "auto" } }, { "id": "format_srt", "type": "format_subtitles", "foreach": "${transcribe.items}", "format": "srt", "words": "${item.words_path}", "output": "${out_dir}/srt/${item.id}.srt", "sample_rate": 16000 } ] }