关于 amazon-polly
面向生产场景的 Amazon Polly 语音合成技能,使用 AWS 管理的语音,并指导开发者和媒体团队选择引擎、配置 SSML 与发音控制及时间标记。
主要功能
- 01四种语音引擎可选
- 02实时与异步语音合成
- 03SSML 与发音词典控制
- 04用于时间和口型提示的语音标记
- 05多种音频输出格式
适用场景
- 01制作剪辑视频的旁白
- 02生成长篇文章或有声书音频
- 03构建 IVR 与通知提示音
- 04生成逐词字幕或虚拟形象提示
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ calesthio/ generative-media-skills --skill amazon-polly安装后在 Claude Code 中输入/amazon-polly确认已加载。
附带文件EVAL.md
详细介绍
Amazon Polly 生产级 TTS
如果任务需要由 AWS 托管的文本转语音服务,且要求 API 操作可预测、支持 IAM 治理、词典、SSML 和可重复使用的生成音频,请使用 Amazon Polly。应将 Polly 视为生产级 TTS 服务,而非语音克隆系统:它提供由 AWS 管理的语音和引擎,不支持自定义语音训练或任意模仿说话者。
以下信息已于 2026-07-10 根据 AWS 官方文档核实。依赖价格、配额、区域、语音列表或引擎功能兼容性等易变信息之前,请重新查阅 AWS 文档。
首先决定:选择哪种操作和引擎
先选择操作,因为这决定了延迟、输出存储方式和时间选项:
SynthesizeSpeech:实时请求/响应。适用于短篇旁白、UI 提示、语音预览、批量分段合成和语音标记 JSON。输入上限为 6,000 个总字符,其中计费字符不超过 3,000 个;音频输出在 10 分钟后截断。文档依据:https://docs.aws.amazon.com/polly/latest/dg/limits.htmlStartSpeechSynthesisTask:异步合成到 Amazon S3,可选择发送 SNS 通知。适用于长篇文章、有声书章节、培训模块,以及不应让 HTTP 音频流一直保持开启的服务器工作流。输入上限为 200,000 个总字符,其中计费字符不超过 100,000 个。文档依据:https://docs.aws.amazon.com/polly/latest/APIReference/API_StartSpeechSynthesisTask.htmlStartSpeechSynthesisStream:通过 HTTP/2 双向流式传输输入和输出。仅在应用需要文本仍在到达时生成流式音频的情况下使用。文档依据:AWS 目前说明此操作仅支持generative引擎,不支持 JSON 语音标记。来源:https://docs.aws.amazon.com/polly/latest/APIReference/API_StartSpeechSynthesisStream.html
然后选择引擎:
standard:兼容性最广、列出的商业价格最低,适合实用型提示、IVR、大批量通知音频,以及成本/覆盖范围比表现力更重要的工作流。AWS 将 Standard 语音描述为拼接合成。neural:比 standard 更自然,支持所有语音标记、许多 SSML 标签、异步合成,以及选定的 Newscaster 说话风格。若生成旁白时需要语音标记或 SSML 控制,这是不错的默认选择。long-form:专为文章、培训和营销视频等较长的叙事内容设计。截至 2026-07-10,AWS 文档仅列出六种 long-form 语音:en-US Danielle、Gregory、Ruth、Patrick,以及 es-ES Alba、Raúl;仅在 US East(N. Virginia)区域可用。如果长时内容的交付质量很重要,且语音/语言限制符合要求,请使用此引擎。generative:Polly 系列中对话感最强、适应性最高的引擎,支持流式传输,并具有更高的人性化变化程度。如果功能限制符合要求,可用于对话式助手语句、虚拟培训师和广告风格的朗读。重要的文档说明:目前不支持语音标记;不支持 Newscaster 风格;AWS 警告模型可能在更新后发生变化,并包含可降低但无法消除不当输出或输出截断风险的幻觉/紧急停止安全机制。来源:https://docs.aws.amazon.com/polly/latest/dg/generative-voices.html
生产环境中不要省略 Engine。某些 SDK/CLI 路径默认使用 standard;如果所选语音不支持 Standard,请求可能会失败。在确定生产语音之前,请通过 DescribeVoices 或当前 AWS 语音页面核实语音、引擎和区域之间的兼容性。
影响媒体制作的能力边界
已记录的事实:
- Polly 支持四种语音引擎:Generative、Long-form、Neural 和 Standard。来源:https://docs.aws.amazon.com/polly/latest/dg/voice-engines-polly.html
SynthesizeSpeech的输出格式包括mp3、ogg_vorbis、ogg_opus、pcm、mulaw、alaw和json;JSON 用于语音标记。对于SynthesizeSpeech,MP3/OGG Vorbis 支持的采样率包括 8000、16000、22050、24000、44100 和 48000 Hz;Standard 的默认采样率为 22050 Hz,Neural、Long-form 和 Generative 的默认采样率为 24000 Hz。PCM 为单声道、有符号 16 位小端格式,采样率为 8000 或 16000 Hz。来源:https://docs.aws.amazon.com/polly/latest/APIReference/API_SynthesizeSpeech.htmlStartSpeechSynthesisTask需要指定输出 S3 存储桶,并可返回任务元数据,包括任务 ID、状态、输出 URI、请求字符数、输出格式、采样率和 SNS 主题 ARN。来源:https://docs.aws.amazon.com/polly/latest/APIReference/API_StartSpeechSynthesisTask.html- 语音标记是按行分隔的 JSON 记录,包含毫秒级
time、type(sentence、word、viseme或ssml)、单词/句子标记的字节偏移量以及一个值。来源:https://docs.aws.amazon.com/polly/latest/dg/output.html - Neural 和 Long-form 语音支持所有语音标记;Generative 语音目前不支持语音标记。来源:https://docs.aws.amazon.com/polly/latest/dg/neural-voices.html、https://docs.aws.amazon.com/polly/latest/dg/long-form-voices.html、https://docs.aws.amazon.com/polly/latest/dg/generative-voices.html
- 发音词典按 AWS 区域存储,符合 W3C PLS 标准,且仅在词典语言与语音语言匹配时生效。每个合成请求最多可指定五个词典。来源:https://docs.aws.amazon.com/polly/latest/dg/managing-lexicons.html、https://docs.aws.amazon.com/polly/latest/APIReference/API_SynthesizeSpeech.html
- 截至 2026-07-10 的配额包括:
SynthesizeSpeech的 Standard 为 80 TPS、Neural 为 8 TPS、Long-form 为 8 TPS、Generative 为 8 TPS;StartSpeechSynthesisTask的 Standard/Neural 为 10 TPS、Long-form/Generative 为 1 TPS;词典管理合计为 5 TPS;每个账户每个区域最多 100 个词典;单个词典大小上限为 40,000 个字符。来源:https://docs.aws.amazon.com/polly/latest/dg/limits.html - 截至 2026-07-10,AWS 列出的商业定价为:Standard 每 1M 个字符 $4.00,Neural $16.00,Long-form $100.00,Generative $30.00,以上均不含免费套餐;Standard/Neural/Long-form 的语音标记按处理的字符数计费,而 AWS 定价页面列出的 Generative 定价按语音请求计费。来源:https://aws.amazon.com/polly/pricing/
- AWS 表示,生成的音频可以缓存并重播,不会产生额外的 Polly 费用。来源:https://aws.amazon.com/polly/pricing/
制作启发:
- 如果需要词语/viseme 标记、稳定地重新生成片段、SSML 控制和广泛的语音覆盖范围,大多数经过剪辑的视频旁白应优先选择 Neural。
- 仅当有限的语音、语言和区域范围符合需求时,才优先选择 Long-form 来处理较长章节;否则,应在句子边界拆分 Neural 合成,并在本地拼接音频。
- 如果追求对话的真实感,可优先选择 Generative,但应增加质量检查环节,留意是否出现插入、截断或意外的语音;如果必须获得精确的语音标记时间,除非能在合成后通过单独的 ASR 获取时间信息,否则不要使用 Generative。
- 对于大批量实用音频、需要 8 kHz 或 μ-law/a-law 的电话语音,或预算和高吞吐量优先的场景,请使用 Standard。
SSML 和发音控制
当脚本需要确定性停顿、日期、缩写、外语片段、发音修正或结构标记时,请使用 SSML。将 TextType="ssml",并用 <speak>...</speak> 包裹文本内容。
已记录的事实:
- Standard 语音支持 Polly 的所有 SSML 标签,
<amazon:domain name="news">除外;Neural、Long-form 和 Generative 支持许多标签,但并非全部。不支持的标签可能会导致错误。来源:https://docs.aws.amazon.com/polly/latest/dg/supportedtags.html - Neural、Long-form 和 Generative 均完全支持
<break>;每个<break>元素的最长时长为 10 秒。来源:https://docs.aws.amazon.com/polly/latest/dg/limits.html - Neural、Long-form 和 Generative 语音均不支持
<emphasis>。请改用措辞、标点、<break>或受支持的<prosody>控制项。来源:https://docs.aws.amazon.com/polly/latest/dg/supportedtags.html - Neural 和 Long-form 完全支持
<mark>,Generative 部分支持,但目前无法输出 Generative 语音标记;请勿设计依赖标记 JSON 的 Generative 工作流。来源:https://docs.aws.amazon.com/polly/latest/dg/supportedtags.html、https://docs.aws.amazon.com/polly/latest/dg/generative-voices.html - Long-form 和 Generative 支持
<say-as>,Neural 部分支持。对于 Neural,say-as interpret-as="characters"可能会使受影响的句子使用相应的 Standard 语音合成,但仍按 Neural 计费。来源:https://docs.aws.amazon.com/polly/latest/dg/say-as-tag.html - 在 SSML 中,请转义
&、<和>等保留的 XML 字符。来源:https://docs.aws.amazon.com/polly/latest/dg/escapees.html
制作经验:
- 尽量精简 SSML。Polly 引擎会自动推断韵律;过多标记会让语速听起来机械,也会使日后更换语音变得脆弱。
- 与其使用极端的
<prosody rate>或音高控制,不如先调整标点和句子结构。 - 仅在剪辑需要的地方设置明确的定时停顿。对于自然叙述,请使用句界和逗号,而不是密集添加
<break>标签。 - 将反复出现的品牌/产品发音存入词典,不要在每份脚本中内联使用
<phoneme>标签。 - 对于多语言插入内容,完整的外语内容应使用该语言的原生语音。仅对短语或名称使用
<lang>,如果所用语音并非该语言的原生语音,发音可能会带有口音。
产品讲解的 SSML 示例:
<speak>
<p>
Meet <sub alias="Acme Cloud One">ACME C1</sub>.
<break time="250ms"/>
It turns noisy incident data into a ranked action plan.
</p>
<p>
In <say-as interpret-as="date" format="mdy">07-10-2026</say-as> tests,
teams cut triage time by <say-as interpret-as="cardinal">42</say-as> percent.
</p>
<p>
<mark name="cta_start"/>Start with one service, then expand.
</p>
</speak>
此结构的作用:<sub> 可避免缩写被逐字母读出时出现偏差,<break> 可创建剪辑点,<say-as> 可消除数据表达的歧义,而在所选引擎支持 SSML 语音标记时,<mark> 可为叠加内容的定时提供确定性提示。
用于字幕、高亮和口型同步的语音标记
如果下游产物需要时间信息,请使用语音标记:
word:卡拉 OK 字幕、文本高亮、字幕对齐、无障碍审查。sentence:粗略字幕或剪辑节拍。ssml:通过<mark name="..."/>标签提供视觉叠加效果的提示点。viseme:用于 2D/3D 虚拟形象骨骼的口型时间信息。
已记录的事实:
- 语音标记输出为 JSON,而不是音频流。语音标记对象包含毫秒级时间信息,以及单词和句子的字节偏移量或值、视素名称,或 SSML 标记值。来源:https://docs.aws.amazon.com/polly/latest/dg/output.html
- 语音标记仅在
OutputFormat="json"时可用;使用其他输出格式请求标记会出错。来源:https://docs.aws.amazon.com/polly/latest/APIReference/API_SynthesizeSpeech.html - 对于相同文本,不同语音的语音标记元数据可能有所不同。来源:https://docs.aws.amazon.com/polly/latest/dg/output.html
生产工作流:
- 生成时间信息前,先定稿旁白文本。
- 使用选定的引擎、语音、文本、文本类型、采样率和词典合成音频。
- 使用完全相同的文本、引擎、语音、文本类型和词典发起第二次请求,但将
OutputFormat="json",并设置所需的SpeechMarkTypes。 - 使用语音标记 JSON 创建字幕或口型提示;之后若编辑文本,请务必重新生成音频和标记。
- 播放最终混音并查看叠加效果,以进行验证。单词标记仅用于辅助计时,不能替代人工字幕质量检查。
对于口型同步,请将 Polly 视素名称映射到骨骼的口型集合,并平滑过渡。视素并非音素级的真实标注;请添加混合窗口,并从视觉上测试爆破音和摩擦音。
如果所选语音/引擎无法提供语音标记,请改用兼容的语音/引擎,或在合成后运行强制对齐/ASR。这是生产环境中的变通方案,并非 AWS 文档所述的等效方案。
词典
对于重复出现的发音修正,请使用词典:产品名称、首字母缩写、特殊拼写、人名、行话和特定区域用语。
已记录的事实:
- Polly 词典必须符合 W3C Pronunciation Lexicon Specification(PLS)。来源:https://docs.aws.amazon.com/polly/latest/dg/managing-lexicons.html
- 词典存储在特定的 AWS 区域中,且仅当词典语言与所选语音的语言匹配时才会应用。来源:https://docs.aws.amazon.com/polly/latest/dg/managing-lexicons.html
- API 限制包括:每个账户在每个区域最多可有 100 个词典;词典名称最多 20 个字母数字字符;每个词典最多 40,000 个字符;替换值最多 100 个字符;每次合成请求最多可使用五个词典。来源:https://docs.aws.amazon.com/polly/latest/dg/limits.html
- Polly 词典支持 IPA 和 X-SAMPA 发音。来源:https://docs.aws.amazon.com/polly/latest/dg/managing-lexicons-console-upload.html
生产经验法则:
- 将项目词典与品牌词典分开,这样移除项目覆盖项时不会影响其他制作项目。
- 使用确切的语音和引擎测试词典。发音修正可能会影响该词周围的语调节奏。
- 避免使用包罗万象的大型词典;这类词典可能会增加延迟,也会让发音问题更难排查。
- 如果两个词典都可能匹配同一个字素,请有意指定请求顺序,并记录预期的覆盖行为,供制作团队参考。
PLS 词典示例:
<?xml version="1.0" encoding="UTF-8"?>
<lexicon version="1.0"
xmlns="http://www.w3.org/2005/01/pronunciation-lexicon"
alphabet="ipa"
xml:lang="en-US">
<lexeme>
<grapheme>ACME C1</grapheme>
<alias>Acme Cloud One</alias>
</lexeme>
<lexeme>
<grapheme>Qdrant</grapheme>
<phoneme>ˈkjuː drænt</phoneme>
</lexeme>
</lexicon>
输出和母带处理选择
进行视频编辑时,请选择足够高的采样率,以便音频经混音和导出后仍能保持品质:
- 若有损压缩可以接受,请使用 MP3 制作轻量预览或网络旁白。
- 如果音频要经过大量处理、标准化,或由本地母带处理链转换,请使用 PCM。
- 如果目标运行环境需要 OGG 格式,请使用 OGG。
- 如果操作支持,请使用 24 kHz 或更高采样率制作自然的人声;后期再进行响度标准化,不要依赖 TTS 音量标签。
- 对于电话音频,请使用所需的窄带格式和采样率,例如 8 kHz μ-law/a-law 或 PCM,然后在实际电话/音频链路中进行测试。
制作质量检查清单:
- 完整收听所有输出,而不只是抽查,留意姓名、数字、幻觉生成的词语、结尾截断、不自然的呼吸声和音调不匹配。
- 将生成的转录文本或字幕与已批准的脚本进行比对。
- 转码后确认开头和结尾的 500 ms 没有被截断。
- 与音乐/音效混音后,检查目标响度和真峰值。
- 如果 AWS 模型更新或语音漂移会导致新生成的台词与旧台词不匹配,请重新渲染该语音/引擎的所有片段。AWS 特别提醒,Long-form 和 Generative 技术在更新后可能会有所变化。
- 编辑多个片段时,按句子或段落边界进行合成,并为交叉淡化留出余量。
IAM、S3、托管和隐私
已记录的事实:
- Amazon Polly 支持 IAM 基于身份的策略、策略操作、策略资源、临时凭证和转发访问会话;不支持基于资源的策略、服务专用条件键、ACL、策略中的 ABAC 标签、服务角色或服务关联角色。来源:https://docs.aws.amazon.com/polly/latest/dg/security_iam_service-with-iam.html
- Polly 策略操作使用
polly:前缀。来源:https://docs.aws.amazon.com/polly/latest/dg/security_iam_service-with-iam.html - AWS 建议使用 MFA、SSL/TLS、CloudTrail 日志记录、AWS 加密解决方案和最小权限 IAM。来源:https://docs.aws.amazon.com/polly/latest/dg/data-protection.html
- AWS 强烈建议不要在自由格式字段中填写敏感身份信息,因为输入 AWS 服务的数据可能会被纳入诊断日志。来源:https://docs.aws.amazon.com/polly/latest/dg/data-protection.html
- AWS 表示 Amazon Polly 不会保留提交文本的内容。来源:https://docs.aws.amazon.com/polly/latest/dg/security-best-practices.html
SynthesizeSpeech是无状态的,之后无法从 Polly 检索其输出;如果需要保留生成的文件,请将其存储在自己的系统或 S3 中并进行加密。来源:https://docs.aws.amazon.com/polly/latest/dg/encryption-at-rest.html- Amazon Polly 可通过 AWS PrivateLink 提供支持的 VPC 接口端点使用,以便从 VPC 进行私密连接。来源:https://docs.aws.amazon.com/polly/latest/dg/using-polly-with-vpc-endpoints.html
- CloudTrail 会记录 Polly API 调用;CloudWatch Logs 可监控任务状态。来源:https://docs.aws.amazon.com/polly/latest/dg/sec-logging.html
- 第三方审计人员会依据 AWS 合规计划(包括 SOC、PCI、FedRAMP 和 HIPAA)评估 Amazon Polly;客户的合规责任取决于数据敏感程度和适用法律。来源:https://docs.aws.amazon.com/polly/latest/dg/AMAZON-POLLY-compliance.html
- S3 默认会使用 SSE-S3 对新对象进行静态加密;如需由客户控制密钥,请使用 S3 存储桶加密设置或 SSE-KMS。来源:https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingEncryption.html
生产环境安全建议:
- 仅向合成工作进程授予所需的 Polly 操作权限、异步输出目标 S3 前缀权限、可选的 SNS 发布权限,以及所需的 CloudWatch/CloudTrail 可见性;如果使用 SSE-KMS,则仅授予特定密钥所需的 KMS 权限。
- 按项目和环境使用单独的 S3 前缀(
tts/dev/...、tts/prod/...),以简化生命周期策略和删除操作。 - 除非工作流已获得明确的隐私审批并设置保留控制,否则不要提交机密、账号、医疗详情或个人身份信息。
- 对于受监管数据,请确认所选区域、S3 存储桶、KMS 密钥、日志记录、保留期限和合规计划范围符合组织的义务;Polly 符合合规计划的资格本身并不能使整个应用程序自动合规。
权利、同意和披露
已记录的边界:Polly 提供 AWS 语音,并非自定义语音克隆服务。生产环境中的规范仍然重要:
- 未经许可,不要暗示某句台词由真实人物说出;如已获得许可,也应确保受众清楚相关背景。
- 遵守当地有关合成媒体披露的法律、平台政策、广告规则、无障碍要求和客户品牌规范。
- 确认拥有要合成文本的权利。Polly 输出的权利并不意味着源脚本、书籍、文章或翻译的版权也已获许可。
- 对于面向公众的角色,应维护语音规范手册,记录引擎、语音 ID、区域、采样率、词典、发音说明和示例,以确保后续台词保持一致。
- 对于儿童、健康、金融、政治或法律内容,发布前必须审批脚本并进行人工音频审核。
示例
示例:带字幕和口型提示的短视频旁白
意图:生成一段 30 秒的产品旁白,包含逐词字幕和可选的虚拟形象口型同步。
决策:
- 引擎:
neural,因为它支持语音标记,且自然度优于 Standard。 - 操作:
SynthesizeSpeech,因为每个段落都很短。 - 输出:音频 MP3 或 PCM,以及单独的 JSON 语音标记。
- 时间标记:
word、sentence和viseme。
Python 示例:
import boto3
polly = boto3.client("polly", region_name="us-east-1")
text = """<speak>
<p>Meet ACME Cloud One. <break time="200ms"/> It turns noisy incident data into a ranked action plan.</p>
<p><mark name="cta"/>Start with one service, then expand.</p>
</speak>"""
common = {
"Engine": "neural",
"VoiceId": "Joanna",
"Text": text,
"TextType": "ssml",
"SampleRate": "24000",
"LexiconNames": ["BrandLex"],
}
audio = polly.synthesize_speech(**common, OutputFormat="mp3")
with open("narration.mp3", "wb") as f:
f.write(audio["AudioStream"].read())
marks = polly.synthesize_speech(
**common,
OutputFormat="json",
SpeechMarkTypes=["word", "sentence", "viseme", "ssml"],
)
with open("narration.marks.jsonl", "wb") as f:
f.write(marks["AudioStream"].read())
质量检查:确认 BrandLex 在 us-east-1 中存在、语音语言与词典语言一致,并且生成的字幕与已批准的脚本相符。
示例:将章节异步渲染到 S3
意图:将较长的培训章节转换为单个音频文件,无需管理许多短请求。
决策:
- 操作:
StartSpeechSynthesisTask,因为该章节超出了实时SynthesizeSpeech的限制。 - 引擎:仅当语音、语言和区域要求均满足时才使用
long-form;否则使用neural并在本地分段。 - 数据管理:写入项目专用的 S3 前缀,并确保已配置存储桶加密、生命周期和访问策略。
Python 示例:
import boto3
polly = boto3.client("polly", region_name="us-east-1")
response = polly.start_speech_synthesis_task(
Engine="long-form",
VoiceId="Ruth",
TextType="ssml",
Text=open("chapter_01.ssml", encoding="utf-8").read(),
OutputFormat="mp3",
SampleRate="24000",
OutputS3BucketName="company-media-prod",
OutputS3KeyPrefix="tts/training-2026/chapter-01/",
SnsTopicArn="arn:aws:sns:us-east-1:123456789012:polly-render-events",
)
print(response["SynthesisTask"]["TaskId"])
print(response["SynthesisTask"].get("OutputUri"))
质量检查:轮询 GetSpeechSynthesisTask 或订阅 SNS,确认输出文件存在于预期的 S3 前缀下,完整收听,并将时长与章节预估值进行比较。
示例:为无障碍字幕选择非 Generative 引擎
用户询问:“使用 Amazon Polly 最像真人的声音,并提供精确到每个词的字幕。”
可靠的生产环境答复:说明 Generative 可能听起来最自然、最像对话,但目前不支持生成语音标记,因此要获得精确到每个词的字幕,必须使用带有 Polly 标记的 Neural/Long-form 语音,或采用合成后的对齐工作流。如果字幕是硬性要求且用户能接受该语音,则建议使用 Neural;只有在用户接受将 ASR/强制对齐的计时作为额外质量检查步骤时,才选择 Generative。
故障排除
InvalidSsmlException:验证 XML,转义保留字符,移除所选引擎不支持的标签,并简化嵌套标记。LexiconNotFoundException:检查区域、词典名称拼写、请求顺序,以及合成客户端是否使用了上传词典时所在的同一区域。LanguageNotSupportedException或语音/引擎错误:使用指定的引擎和区域调用DescribeVoices;不要假设某种语音支持所有引擎。MarksNotSupportedForFormatException:仅使用OutputFormat="json"请求标记,并在单独的请求中生成音频。- 请求限流:遵守各引擎的 TPS 和并发请求配额,采用带退避和抖动的批处理;如果流量模型有需要,则申请提高配额。
- 补录后片段不匹配:重新生成周围的句子或段落,而不只是修改过的单词,以保持节奏和室内底噪连贯。
于 2026-07-10 核查的官方来源
- Amazon Polly 语音引擎:https://docs.aws.amazon.com/polly/latest/dg/voice-engines-polly.html
- Standard、Neural、Long-form 和 Generative 语音页面:https://docs.aws.amazon.com/polly/latest/dg/neural-voices.html, https://docs.aws.amazon.com/polly/latest/dg/long-form-voices.html, https://docs.aws.amazon.com/polly/latest/dg/generative-voices.html
SynthesizeSpeech、StartSpeechSynthesisTask和StartSpeechSynthesisStreamAPI 参考:https://docs.aws.amazon.com/polly/latest/APIReference/API_SynthesizeSpeech.html, https://docs.aws.amazon.com/polly/latest/APIReference/API_StartSpeechSynthesisTask.html, https://docs.aws.amazon.com/polly/latest/APIReference/API_StartSpeechSynthesisStream.html- SSML、语音标记和词库:https://docs.aws.amazon.com/polly/latest/dg/supportedtags.html, https://docs.aws.amazon.com/polly/latest/dg/output.html, https://docs.aws.amazon.com/polly/latest/dg/managing-lexicons.html
- 配额、端点和定价:https://docs.aws.amazon.com/polly/latest/dg/limits.html, https://docs.aws.amazon.com/general/latest/gr/pol.html, https://aws.amazon.com/polly/pricing/
- 安全、隐私、IAM、日志记录、VPC 端点、合规性和加密:https://docs.aws.amazon.com/polly/latest/dg/data-protection.html, https://docs.aws.amazon.com/polly/latest/dg/security_iam_service-with-iam.html, https://docs.aws.amazon.com/polly/latest/dg/security-best-practices.html, https://docs.aws.amazon.com/polly/latest/dg/sec-logging.html, https://docs.aws.amazon.com/polly/latest/dg/using-polly-with-vpc-endpoints.html, https://docs.aws.amazon.com/polly/latest/dg/AMAZON-POLLY-compliance.html, https://docs.aws.amazon.com/polly/latest/dg/encryption-at-rest.html