← 返回
效率工具 Key 中文

tencent-tts-podcast

Convert text to podcast audio using Tencent Cloud TTS. Supports both short and long text processing, generates up to 30-minute long audio with automatic chun...
使用腾讯云TTS将文本转换为播客音频,支持短文本和长文本处理,最长可生成30分钟音频,支持自动...
islinxu
效率工具 clawhub v1.0.0 1 版本 99871.8 Key: 需要
★ 0
Stars
📥 779
下载
💾 75
安装
1
版本
#latest

概述

Tencent TTS Podcast Generator

Convert text content to podcast audio files using Tencent Cloud TTS service.

Capabilities

What This Skill Can Do

  • Short & Long Text Compatible: Intelligently detects text length, processes short text directly, auto-chunks long text
  • Long Text to Speech: Supports generating podcasts up to 30 minutes long (~7200 characters)
  • Concurrent Processing: Long texts are automatically split and processed in parallel for faster generation
  • 26 Voices: Supports basic, featured, customer service, and Tencent featured voices
  • Smart Chunking: Splits text at semantic boundaries (paragraph/sentence) for natural audio flow
  • Duration Estimation: Automatically estimates generated audio duration
  • Auto Retry: Automatically retries failed requests to improve success rate

Short & Long Text Processing Strategy

> Note: Tencent Cloud TTS single request limit is ~150 characters. Texts exceeding this will be auto-chunked.

Text TypeLength RangeProcessing MethodConcurrencyTimeout
-----------------------------------------------------------------
Ultra Short≤50 charsDirect request130s
Short50-150 charsDirect request130s
Medium150-500 charsAuto-chunk (2-4 chunks)2-360s
Long500-2000 charsAuto-chunk (4-14 chunks)3-560s
Extra Long2000-7200 charsAuto-chunk (14-50 chunks)3-560s

What This Skill Does NOT Do

  • Does not generate mp3 format (wav only)
  • Does not support background music or sound effects
  • Does not auto-generate podcast scripts (user must provide)
  • Does not support dual-speaker dialogue mode (single voice only)

File Structure

This Skill consists of the following files:

  • tts_podcast.py

Main entry script

  • Tencent Cloud TTS signature generation
  • Audio file generation
  • COS upload functionality
  • tts_tool.py

AgentScope tool interface wrapper

  • SKILL.md

This file, describing Skill capabilities, boundaries, and usage conventions

  • requirements.txt

Python dependency configuration


Input & Output Specifications

Input Parameters

ParameterDescriptionRequiredDefault
-------------------------------------------
TextText content to convertYes-
VoiceTypeVoice ID (see voice table below, either this or VoiceName)No502006
VoiceNameVoice name (see voice table below, either this or VoiceType)No-
secret_idTencent Cloud SecretIdYes-
secret_keyTencent Cloud SecretKeyYes-
max_workersConcurrent threads (3-5 for long text, 1 for short)No3
chunk_sizeChunk size in characters (long text optimization)No140
timeoutRequest timeout in secondsNo30/60
enable_retryEnable automatic retryNotrue
max_retriesMax retry attemptsNo2
preserve_paragraphsPreserve paragraph boundaries when chunkingNotrue
cos_secret_idTencent Cloud COS SecretId (optional, defaults to TTS credentials)No-
cos_secret_keyTencent Cloud COS SecretKey (optional, defaults to TTS credentials)No-
upload_cosWhether to upload to COS, true/false (default false, local only)Nofalse
bucket_nameCOS Bucket name (default: ti-aoi)Noti-aoi
app_idCOS App ID (default: 1257195185)No1257195185
regionCOS region (default: ap-guangzhou)Noap-guangzhou

Output

{
  "Code": 0,
  "Msg": "success",
  "AudioUrl": "https://xxx.cos.ap-guangzhou.myqcloud.com/xxx.wav"
}

Usage

Environment Requirements

  • Python 3.8+
  • tencentcloud-sdk-python
  • cos-python-sdk-v5
  • requests

Install Dependencies

pip install -r requirements.txt

Basic Usage

from tts_podcast import main

result = main({
    "Text": "Hello, welcome to today's podcast.",
    "VoiceType": 502006,
    "secret_id": "YOUR_SECRET_ID",
    "secret_key": "YOUR_SECRET_KEY"
})

print(result)
# {'Code': 0, 'Msg': 'success', 'AudioUrl': 'https://...'}

Short Text Optimized Usage

# Short text (<150 chars) - Use single thread for fast response
result = main({
    "Text": "Hello, this is a short message.",
    "VoiceType": 502006,
    "secret_id": "YOUR_SECRET_ID",
    "secret_key": "YOUR_SECRET_KEY",
    "max_workers": 1,      # Single thread is sufficient
    "timeout": 30,         # 30 second timeout
    "enable_retry": True   # Enable retry
})

Long Text Optimized Usage

# Long text (>150 chars) - Use concurrency for speed
long_text = """Chapter 1: The Origin of AI

The concept of artificial intelligence can be traced back to ancient Greek mythology..."""

result = main({
    "Text": long_text,
    "VoiceType": 502007,
    "secret_id": "YOUR_SECRET_ID",
    "secret_key": "YOUR_SECRET_KEY",
    "max_workers": 5,          # Concurrent processing
    "chunk_size": 140,         # 140 chars per chunk
    "timeout": 60,             # 60 second timeout
    "preserve_paragraphs": True  # Preserve paragraph boundaries
})

Voice Reference

VoiceTypeVoice NameCharacteristics
----------------------------------------
0普通女声Standard female
1普通男声Standard male
5情感女声Emotional female
6情感男声Emotional male
1000智障少女Lively cute
1001阳光少年Bright youthful
1002温柔淑女Gentle female
1003成熟青年Mature male
1004严厉管事Stern female
1005亲和女声Friendly female
1006甜美女声Sweet female
1007磁性男声Magnetic male
1008播音主播Broadcast anchor
101001客服女声Customer service
101005售前客服Pre-sales service
101007售后客服After-sales service
101008亲和客服Friendly service
502006小旭Tencent voice
502007小巴Tencent voice
502008思驰Tencent voice
502009思佳Tencent voice
502010思悦Tencent voice
502011小宁Tencent voice
502012小杨Tencent voice
502013云扬Tencent voice
502014云飞Tencent voice

Technical Architecture

tts_podcast.py

  • TTS: Uses Tencent Cloud TTS API signature v3
  • Upload: Uses Tencent Cloud COS SDK for audio file upload
  • Auth: Supports credentials from parameters or environment variables
  • Short & Long Text Compatible:
  • Short text (≤150 chars): Direct single request, fast response
  • Long text (>150 chars): Smart chunking + concurrent processing + auto-merge

Text Chunking Strategy

  1. Paragraph Priority: Try to preserve paragraph integrity, split at paragraph boundaries
  2. Sentence Boundaries: When paragraphs are too long, split at sentence ending punctuation (。!?;)
  3. Semantic Protection: Avoid truncating in the middle of words, ensure semantic coherence
  4. Length Control: Each chunk does not exceed 150 characters (Tencent Cloud API limit)

License

MIT

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-03-31 04:30 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

ai-intelligence

Eval Skills

islinxu
AI Agent 技能单元测试框架。一个框架无关的工具包,用于发现、构建、选择、评估和报告AI技能。使用此...
★ 0 📥 823
productivity

Nano Pdf

steipete
使用nano-pdf CLI通过自然语言指令编辑PDF
★ 275 📥 114,931
productivity

Weather

steipete
获取当前天气和预报(无需API密钥)
★ 446 📥 226,416