文本转语音(TTS)工具|朗读、配音、文字转音频;方言与语气用 instruct2。需 FLYAPSARA_API_KEY(官网注册后在「API Key 管理」创建,见正文)。
Flyapsara TTS SkillQQFLYAPSARA API KEYQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ是一项面向实际任务的技能。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
FLYAPSARA_API_KEYhttps://service.flyapsara.com;HTTP API 的 Base 默认为 https://service.flyapsara.com/api,与门户可能为同一主机、不同路径)。/account/api-keys,须在已登录状态下打开)。voice:read、tts:task:create;若控制台提供试用相关权限,可选用 tts:trial:create 替代或与上述组合按官方说明为准。sk_live_...,在运行环境配置 export FLYAPSARA_API_KEY='...'(或宿主等价方式)。勿把完整 Key 写入仓库、日志或聊天公开内容。FLYAPSARA_BASE_URL 设为实际 API 根路径(须含网关前缀;公开默认值见 openapi.yaml 的 servers)。instruct2)用户已给出可朗读的具体文本且希望听到音频时,应通过本 API 完成合成(勿仅用文字模拟朗读声、勿编造「不支持某方言」——方言由 instruct_text 描述,不依赖单独「方言音色名」)。
openapi.yaml、README.md| 参数 | 用户未提供时 |
|---|---|
| voice_id | 先 GET /v1/tts/voices,从 data.voices[] 选一项的 voice_id(平台 + 当前 Key 用户克隆;含 is_user_voice / owner_user_id)。禁止编造 UUID。缺省可取列表第一项;instruct2 时须选带参考音的项(见下节)。 |
| output_format | 可省略;服务端默认 mp3。要 wav/pcm 再在 body 写明。 |
| language | 默认 zh;其他语言再显式指定。 |
| mode | 默认 zero_shot;方言/风格用 instruct2。 |
| text(instruct2) | 少于 6 个字符:优先请用户补充;无法交互时可扩写为不改变原意的短句,否则可能 INVALID_TEXT_TOO_SHORT。 |
$FLYAPSARA_BASE_URL,默认 https://service.flyapsara.com/apiAuthorization: Bearer { "ok": true|false, "data": ..., "error": ... }(见 openapi.yaml)GET /v1/tts/voices → 选取合法 voice_idPOST /v1/tts/tasks(body 含 text、voice_id;reference_asset_id 已废弃);建议头 Idempotency-KeyGET /v1/tts/tasks/{task_id}(策略见下)data.status === succeeded 后请求 GET /v1/tts/tasks/{task_id}/result → data.result.download.urltask_id 并说明超时succeeded、failed、cancelled;中间态含 queued、running;亦可能出现 cancel_requested,继续轮询直至终态| 情况 | 建议 |
|---|---|
| 401 | Key 缺失/无效;检查 Authorization 与环境变量 |
| 403 | scope 不足;引导用户调整 Key |
| 429 | 配额用尽;稍后重试 |
| 创建任务后 voice / 参考音报错 | 重新 GET /v1/tts/voices,换 voice_id(instruct2 时优先换带 reference_asset_id 的项) |
| 轮询超时 | 返回 task_id,建议稍后 GET .../tasks/:id 自查 |
failed / cancelled |
任务未成功结束时勿再依赖 /result 获取音频;向用户说明状态并附 task_id |
GET .../result 返回 409(如 RESULT_NOT_READY) |
继续轮询任务状态后再请求 |
download.url 403 或过期 |
重新 GET .../result;勿缓存为永久链接 |
data.result.download.url 与过期说明(预签名 URL 非永久)tts_. ;目录以当前工作目录为准。/mnt/data 等路径仅适用于部分沙箱,其他环境按实际可写目录处理text(必填)voice_id(必填):仅来自 GET /v1/tts/voices 返回的 UUIDlanguage:可省略时默认 zhoutput_format:省略则服务端 mp3;可选 wav / pcmmode:常用 zero_shot;方言/风格用 instruct2instruct_text:不要单独造 dialect 字段;方言、情绪、风格均写入 instruct_text;仅 mode=instruct2 时必填speed:约 0.4~2.0,默认 1mode: instruct2,并把指令写入 instruct_text(如「请用四川话表达。」)voice_id:必须来自本次 GET /v1/tts/voices 的列表项,不得伪造。方言由 instruct_text 控制,不是通过「查找叫四川话的 voice_id」实现instruct2 时:应选用返回项中 reference_asset_id 非空(已配置默认参考音)的音色,避免任务因缺参考失败;若首条无参考音,换选有参考的项instruct2 + instruct_text + text。正文少于 6 个字符时优先请用户补充;自动化时可扩写为不改变原意的完整短句示例请求体:
{
"mode": "instruct2",
"instruct_text": "请用四川话表达。",
"text": "今天我要去玩。",
"voice_id": "<从 GET /v1/tts/voices 选取且 reference_asset_id 非空的 voice_id>"
}
scripts/smoke-tts.sh 为端到端示例,需 bash。scripts/run-smoke.sh 用于在换行符为 CRLF 的环境下调用主脚本。分发本 Skill 时请将二者置于同一 scripts/ 目录;run-smoke.sh 使用进程替换 <(...),同样需要 bash。
cd /path/to/flyapsara-tts # 改为本 Skill 实际所在路径 export FLYAPSARA_API_KEY="sk_live_你的密钥" # 可选:export FLYAPSARA_BASE_URL="https://service.flyapsara.com/api" bash scripts/smoke-tts.sh
方言示例:
export TTS_MODE=instruct2 export TTS_INSTRUCT_TEXT="请用广东话表达。" export TTS_TEXT="今日天气不错,适合出门走走。" bash scripts/smoke-tts.sh
依赖:curl;jq 与 python3 至少其一。Debian/Ubuntu:sudo apt install -y curl jq。Windows 拷贝后若报 $'r':先 bash scripts/run-smoke.sh,或对 smoke-tts.sh 去 CRLF。
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 133.9万人学习
共49课时 | 82.5万人学习