GIVE YOUR AGENT A SOUND LIBRARY

让 Agent 选声音,
不再受限于画布。

直接查询 1,248 条参考音频,按角色需求得到推荐理由、备选声线和稳定音频直链。
公开检索 API 无需密钥,可由支持 HTTP 的 Agent 调用;客户端请使用真实非空的 User-Agent,例如 VoiceCasting/1.0。

下载画布 Skill ZIP ↓查看 SKILL.md ↗OpenAPI 3.1 ↗

在画布里使用

  1. 当前画布已安装完整技能“声选|角色音色匹配(voice-casting)”,在 Agent 的技能选择中勾选启用即可。ZIP 是完整备份包;其他宿主请解压后按宿主方式导入。
  2. 告诉 Agent:“使用声选技能,为这些角色匹配参考音色……”并提供角色描述。
  3. 支持联网的 Agent 调用 API;当前内置画布 Agent 可通过 read_skill_file 读取技能附带的完整分片索引。两者都能返回稳定音频链接和候选理由。若生成工具只接受音频节点,需要先导入为真实音频节点。
实时调用 API 需要 Agent 本次确实具备 HTTP 或代码执行工具。当前内置画布 Agent 只有画布工具与 read_skill_file,因此此模式使用随包索引,不会假装已联网查询。Codex Agent 模式能使用其宿主提供的工具;以实际工具与网络权限为准。

推荐接口

方法路径用途
GET/api/voices?q=低沉&gender=male&language=zh&limit=5检索筛选
POST/api/match单角色/批量选角
GET/api/voices/voice-001详情、音频直链
GET/api/stats分类与语言字典
GET / HEAD/audio/voice-001.wav播放、下载、检查文件

搜索一个声音

curl -G 'https://voices.ebeb.fun/api/voices' \
  -H 'User-Agent: VoiceCasting/1.0' \
  --data-urlencode 'q=低沉 沉稳' \
  --data-urlencode 'gender=male' \
  --data-urlencode 'language=zh' \
  --data-urlencode 'limit=5'

给一组角色选声

curl 'https://voices.ebeb.fun/api/match' \
  -H 'User-Agent: VoiceCasting/1.0' \
  -H 'Content-Type: application/json' \
  --data '{
    "roles": [
      {"id":"lead", "name":"林舟", "gender":"male", "language":"zh",
       "description":"32岁,低沉磁性、沉稳克制的男主"},
      {"id":"heroine", "name":"苏晚", "gender":"female", "language":"zh",
       "description":"22岁,清甜自然、有韧性的温柔少女"}
    ],
    "uniqueAudio": true,
    "limit": 3
  }'

每个角色返回 primary、alternatives、candidateCount 与 warnings。候选包含 voice.audioUrl、score、reasons、evidence。没有满足硬筛选条件的声音时,primary 为 null。

匹配与音频约定

性别、语言、分类、明确设置的 ageGroup、tags 和排除条件会作为硬筛选;描述中的年龄感作为排序偏好。默认匹配中文音色,可通过 language 指定其他语言。一次支持 1–20 个角色;limit 为每个角色的候选总数(1–10)。

默认主选按实际录音 SHA-256 去重,避免不同编号指向同一录音。匹配分数依据原站名称与标签,并非声学相似度、真人身份认证或最佳效果保证。年龄感和风格需要最终试听确认。

音频保存原始 WAV / MP3,公开直链不需要登录,也没有临时签名期限。支持 CORS、HEAD、Range、Content-Length 和 ETag。添加 ?download=1 可下载带原名称的文件。

本服务展示参考音频与检索信息,不提供 TTS、声音克隆或语音生成。使用范围以音频来源和相关声音权利人的许可为准。