Send native voice bubble messages in Feishu using Edge TTS + opus format.
Feishu bot API only renders voice bubbles for audio message type with opus format.
Standard TTS outputs mp3 → Feishu shows it as a file attachment, not a voice bubble.
This skill: Edge TTS → opus → Feishu audio → native voice bubble.
bash
npm install node-edge-tts
No API keys required. Edge TTS is free.
bash
node scripts/gen_voice.js "你好世界" output.opus
bash
node scripts/gen_voice.js "播报内容" output.opus --voice zh-CN-YunxiNeural --rate +15% --pitch -5%
bash
node scripts/gen_voice.js "很长的文本..." output.opus --split 500
Produces output_1.opus, output_2.opus, etc. Split at sentence boundaries.
json
{ "action": "send", "filePath": "output.opus" }
The .opus extension triggers Feishu's native audio message type automatically.
ArgDescriptionDefault<text>Text to convertrequired<output>Output .opus pathrequired--voiceEdge TTS voice namezh-CN-XiaoxiaoNeural--rateSpeech rate (+20%, -10%)+0%--pitchPitch adjust (+5%, -5%)+0%--splitAuto-split at N chars0 (disabled)
VoiceGenderStylezh-CN-XiaoxiaoNeuralFWarm, versatile (default)zh-CN-XiaoyiNeuralFGentle, storytellingzh-CN-YunxiNeuralMYoung, energeticzh-CN-YunjianNeuralMBroadcast, professionalzh-CN-YunyangNeuralMNews anchor, authoritativezh-CN-liaoning-XiaobeiNeuralFNortheastern dialectzh-CN-shaanxi-XiaoniNeuralFShaanxi dialect
webm-24khz-16bit-mono-opus.opus file.opus → uploads as opus type → sends as audio messagenode-edge-tts must be installed in the working directory or globally