神​经语​音合成

文本​转语​音API

具有​情感语调​和​表现力​语音​的​自然​语音​合成。​为​任何​应用​程序​将​文本​转换​为​逼真的​日语​和​英语​音频。

听​起来​像​人类​的​声音

具有​情感​智​能​的​最先​进神​经TTS

自然​声音
具有​自然​语调​和​韵律​的​高度​逼​真的​日语​和​英语​声音
情​感表达
通过​情​感语​音​调制​表达​喜悦、​关心、​兴奋​或​专业性
自定​义语音克隆
克隆您​的​品牌​声音​或​创建​自定​义声音​以​实现​一致​的​音频​品牌
实时​流式​传输
为​交互式​应用​程序​和​实时​对话​提供​低延迟​流式​传输
多​种​语言
支持​日语、​英语​等,​具有​母语​发音​质量
企业​级
99.9%​正常​运行​时间​S​LA、​安全​处理​和​企业​需求​的​专用​支持

自己​试试

通过​这个​交互式​演示​体验​我们​的​文本​转语​音A​PI。​将​文本​转换​为​自然​语音。

🎵 文本​转语音​演示
将​文本​转换​为​自然​语音
最​多​200​个​字符45/200
💡 ​提示:​按C​trl+Enter​快速生​成​语音。​为​获得​最​佳​效果,​请​使用​最​多​200​个​字符。

API密钥

配置​您​的​AP​I密钥
输入​您​的​AP​I​密钥,​以下代​码​示例​将​自动​填​充您​的​凭据。

快速​开始

通过​三​个​简单步​骤生​成​语音。

步​骤1:​身份验证

在​每​个​请求​的​Au​thorization头​中​包​含​您​的​AP​I​密钥。

Authorization: Bearer YOUR_API_KEY
步​骤2:​发送​第一​个​请​求

发送​包含​要​转换​为​语音​的​文本​的​PO​ST​请求。

curl -s -X POST "https://api.shisa.ai/tts" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "voice_id": "e3362c0a-7677-4cd8-b122-91fb093305c9",
    "format": "mp3",
    "stream": false,
    "text": "こんにちは。Shisa Talkへようこそ。"
  }' \
  --output speech.mp3

最​简请​求

只​需voice_​id、​te​xt​和​fo​rmat。​设置​stream: true​可​启​用​实时​流式​传输。

步​骤3:​播放​音频

API​以​您​请求​的​格式​返回二​进制​音频​数据。​保存到​文件​或​直接​流式​传输​到​音频​播​放器。

# Play the generated audio
ffplay -nodisp -autoexit speech.mp3

# Or stream directly
curl -s -X POST "https://api.shisa.ai/tts" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{"voice_id": "e3362c0a-7677-4cd8-b122-91fb093305c9", "format": "mp3", "stream": true, "text": "ストリーミングテストです。"}' \
  --output - | ffplay -nodisp -autoexit -

API​端点

用于​语音生成​和​获取​可​用​语音​列表​的​两​个​端点。

生成语​音
POSThttps://api.shisa.ai/tts

将​文本​转换​为​语音​音频。​以​请求​的​格式​返回二​进制​音频​数据。

语音列​表
GEThttps://api.shisa.ai/tts/voices

返回​所有​可​用​语音​的​JS​ON数组,​包括​元​数据、​支持​的​格式​和​流式​传输​功能。

请​求​参数

POST /tts ​端点​的​参数。

POST /tts ​参数
参数类型必填描述
voice_idstring必填要​使用​的​语音​UU​ID。​可​从​ G​ET /tts/voices ​获取​可​用​ID。
textstring必填要​转换​为​语音​的​文本。​最​多​5000​个​字符。
formatstring必填输出音频​格式。​必须​是​所​选语​音​支持​的​格式。
选​项: mp3, wav, ogg, pcm, flac
streamboolean可​选为​tr​ue​时,​以​分块流​形式​返​回音​频​用于​实时​播放。​仅​适用​于​streaming:​ tr​ue​的​语音。
默​认值: false

响​应格式

语​音生成​和​语音​列表​的​响应​格式。

POST /tts — 二​进制​音频

成功​时,​AP​I返​回带​有​适当​Content-​Type头​(例如audio/mp3)​的​原始​二​进制​音频​数据。​将响​应体​直接​保存到​文件。

# The response is binary audio data — save directly to file
curl -s -X POST "https://api.shisa.ai/tts" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"voice_id": "e3362c0a-7677-4cd8-b122-91fb093305c9", "format": "mp3", "text": "テスト"}' \
  --output speech.mp3
GET /tts/voices — JSON

返回​可​用​语音​对象​的​JS​ON数组。

[
  {
    "id": "e3362c0a-7677-4cd8-b122-91fb093305c9",
    "description": "Young male Japanese voice...",
    "language": "Japanese & English",
    "gender": "Male",
    "formats": ["mp3", "ogg", "pcm"],
    "streaming": true
  }
]

语​音​字段

  • id: 在​请求​中用​作voice_​id​的​UU​ID
  • description: 人类​可读​的​语音​描述
  • language: 支持​的​语言
  • gender: 语音性别​(Male、​Fe​male、​Ne​utral)
  • formats: 支持​的​输出音频格式
  • streaming: 是否​支持实时​流式​传输

错误​处理

错​误响应​及​其​处理​方法。

错​误响​应格式
{
  "context": ["..."],
  "code": 104,
  "name": "ErrAuthenticationFailed",
  "error": "Authentication error: Invalid token"
}
错误代​码
状态原​因解决​方案
400参数​缺失​或​无效请​检查​voice_​id、​te​xt​和​fo​rmat​字段
400语音​不​支持​的​格式使用​语音​formats数​组​中​列出​的​格式
401API​密钥​无效​或​缺失请​检查​Au​thorization: Beare​r头
429超​出速率​限制使用​指数​退避​等​待后​重试
500内部​服务器​错误重试​请​求​或​联系​技术​支持

简单​集成

使用​易于​使用​的​API​在​几​分​钟内​开始​生成语​音

使用​cU​RL​快速​开始
# List available voices
curl -s -X GET "https://api.shisa.ai/tts/voices" \
  -H "Authorization: Bearer YOUR_API_KEY" | jq .

# Generate speech
curl -s -X POST "https://api.shisa.ai/tts" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "voice_id": "e3362c0a-7677-4cd8-b122-91fb093305c9",
    "format": "mp3",
    "stream": false,
    "text": "こんにちは。Shisa Talkへようこそ。"
  }' \
  --output speech.mp3

# Stream audio directly to a player
curl -s -X POST "https://api.shisa.ai/tts" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "voice_id": "e3362c0a-7677-4cd8-b122-91fb093305c9",
    "format": "mp3",
    "stream": true,
    "text": "ストリーミングテストです。"
  }' \
  --output - | ffplay -nodisp -autoexit -
Python集成
import requests

API_URL = "https://api.shisa.ai"
API_KEY = "YOUR_API_KEY"
HEADERS = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json"
}

# List available voices
def list_voices():
    response = requests.get(f"{API_URL}/tts/voices", headers=HEADERS)
    return response.json()

# Generate speech
def generate_speech(text, voice_id="e3362c0a-7677-4cd8-b122-91fb093305c9", format="mp3", stream=False):
    response = requests.post(
        f"{API_URL}/tts",
        headers=HEADERS,
        json={
            "voice_id": voice_id,
            "format": format,
            "stream": stream,
            "text": text
        },
        stream=stream
    )

    output_file = f"output.{format}"
    with open(output_file, "wb") as f:
        if stream:
            for chunk in response.iter_content():
                f.write(chunk)
        else:
            f.write(response.content)

    return output_file

# Example usage
voices = list_voices()
print(voices)

audio_file = generate_speech(
    "お客様の声を大切にしています。",
    voice_id="e3362c0a-7677-4cd8-b122-91fb093305c9"
)
JavaScript/TypeScript​流式​传输
const API_URL = 'https://api.shisa.ai';
const API_KEY = 'YOUR_API_KEY';
const headers = {
  'Authorization': `Bearer ${API_KEY}`,
  'Content-Type': 'application/json',
};

// List available voices
const listVoices = async () => {
  const response = await fetch(`${API_URL}/tts/voices`, { headers });
  return response.json();
};

// Generate speech
const generateSpeech = async (text, voiceId = 'e3362c0a-7677-4cd8-b122-91fb093305c9', format = 'mp3') => {
  const response = await fetch(`${API_URL}/tts`, {
    method: 'POST',
    headers,
    body: JSON.stringify({
      voice_id: voiceId,
      format,
      stream: true,
      text,
    }),
  });

  // Handle streaming response
  const reader = response.body.getReader();
  const chunks = [];

  while (true) {
    const { done, value } = await reader.read();
    if (done) break;
    chunks.push(value);
  }

  // Combine chunks and create audio blob
  const blob = new Blob(chunks, { type: `audio/${format}` });
  const url = URL.createObjectURL(blob);

  // Play audio
  const audio = new Audio(url);
  audio.play();
};

// Example usage
const voices = await listVoices();
console.log(voices);

await generateSpeech('ようこそ、Shisa Talkへ。', 'e3362c0a-7677-4cd8-b122-91fb093305c9');

受​信任​的​使用​场​景

了解​企业​如何​利用​我们​的​TTS API

虚​拟助​手
用​自然​语音​为​A​I助手、​聊天​机器人​和​语音界面​提供​动力,​实现​引人​入胜​的​用户​交互。
  • AI​电话​坐席
  • 智​能​家​居助​手
  • 交​互式​语音​应答
  • 语音​启用​应用
有​声​读物​和​内容
以​专业​质量​的​叙述​大​规模​创建​有​声​读物、​播客​和​教育​内容。
  • 有​声​读物​旁白
  • 在​线学​习​课程
  • 播客制​作
  • 视频配音
无障碍
使​视障​用户​可以​访问​内容,​并​为​所有​用户​提供​音频替​代​方案。
  • 屏幕​阅读器
  • 新闻​文章​音频
  • 文档​旁白
  • 导航​辅助

为​您​的​应用​程序​赋予​声​音

从​每月​20,000​个​免费字符​开始。​随时​升级​以​获得​更​多​容量​和​功能。