基于火山引擎 PodcastTTS API,输入主题文本,AI 自动生成双人对话播客音频(含片头音乐、多轮对话、片尾结束)。
websockets>=14.0bash
export VOLC_APPID="your_appid"
export VOLC_ACCESS_TOKEN="your_access_token"
export VOLC_APP_KEY="your_app_key" # 可选,默认 aGjiRDfUWi
bash
python scripts/generate_podcast.py "Hermes和OpenClaw怎么选"
python
import asyncio
from scripts.generate_podcast import PodcastGenerator
async def main():
gen = PodcastGenerator(
appid="3398567544",
access_token="your_token",
)
result = await gen.generate(
text="今天来聊聊AI编程助手",
output_dir="./output",
encoding="mp3",
use_head_music=True,
)
print(result["final_files"]) # 输出音频路径列表
asyncio.run(main())
参数类型必填默认值说明appidstr是-应用 IDaccess_tokenstr是-Access Tokenapp_keystr否aGjiRDfUWiApp Keyresource_idstr否volc.service_type.10050资源 IDendpointstr否wss://openspeech...WebSocket 端点
参数类型默认说明textstr必填输入主题文本output_dirstroutput输出目录encodingstrmp3音频格式: mp3/wav/pcmuse_head_musicboolTrue是否加片头音乐use_tail_musicboolFalse是否加片尾音乐only_nlp_textboolFalse只生成文本不生成音频return_audio_urlboolFalse返回音频URL而非流式speaker_infodict{"random_order":False}说话人配置speech_rateint0语速skip_round_audio_saveboolFalse跳过分段保存voice_typestrNone音色类型: zh_male / zh_female / multinormalize_audioboolFalse是否对音频进行音量归一化fade_in_outboolFalse是否添加淡入淡出效果
值说明None默认,AI 自动分配zh_male中文男声zh_female中文女声multi多人对话模式
python
{
"success": True,
"output_dir": "/abs/path/to/output",
"segment_files": ["output/head_music_-1.mp3", "output/zh_female_0.mp3", ...],
"final_files": ["output/podcast_final_1234567890.mp3"],
"duration": 164.51,
"texts": [
{"text": "今天这期...", "speaker": "zh_female_mizaitongxue_v2_saturn_bigtts"},
...
],
"usage": {"input_text_tokens": 0, "output_audio_tokens": 2800, "total_tokens": 2800}
}
bash
python scripts/generate_podcast.py "主题文本" \
-o ./output \
-f mp3 \
--no-head-music \
--tail-music \
--only-text \
--voice-type zh_female \
--normalize \
--fade \
--appid YOUR_APPID \
--token YOUR_TOKEN \
-v
voice_type 为提示性参数,最终音色由服务端根据内容智能匹配