1. claude mcp add runapi -s user -- npx -y @runapi.ai/mcp
2. 重启 Claude Code
3. 粘贴这个 prompt:生成音频:"Speaker 1: [excitedly] Sam! Have you tried the new model yet? It's incredible! Speaker 2: [curiously] Just got access. What makes it so special? Speaker 1: [whispers] Watch this... [dramatically] I can do full Shakespeare now! Speaker 2: [with genuine belly laugh] Ha ha ha! That's amazing."
1. codex plugin install runapi-mcp@agents
2. 重启 Codex
3. 粘贴这个 prompt:生成音频:"Speaker 1: [excitedly] Sam! Have you tried the new model yet? It's incredible! Speaker 2: [curiously] Just got access. What makes it so special? Speaker 1: [whispers] Watch this... [dramatically] I can do full Shakespeare now! Speaker 2: [with genuine belly laugh] Ha ha ha! That's amazing."
1. npx @runapi.ai/mcp init cursor
2. 重启 Cursor
3. 粘贴这个 prompt:生成音频:"Speaker 1: [excitedly] Sam! Have you tried the new model yet? It's incredible! Speaker 2: [curiously] Just got access. What makes it so special? Speaker 1: [whispers] Watch this... [dramatically] I can do full Shakespeare now! Speaker 2: [with genuine belly laugh] Ha ha ha! That's amazing."
1. npx @runapi.ai/mcp init windsurf
2. 重启 Windsurf
3. 粘贴这个 prompt:生成音频:"Speaker 1: [excitedly] Sam! Have you tried the new model yet? It's incredible! Speaker 2: [curiously] Just got access. What makes it so special? Speaker 1: [whispers] Watch this... [dramatically] I can do full Shakespeare now! Speaker 2: [with genuine belly laugh] Ha ha ha! That's amazing."
curl -X POST https://runapi.ai/api/v1/elevenlabs/text_to_sound \
-H "Authorization: Bearer $RUNAPI_KEY" \
-H "Content-Type: application/json" \
--data-binary @- <<'JSON'
{
"model": "text-to-dialogue-v3",
"text": "Speaker 1: [excitedly] Sam! Have you tried the new model yet? It's incredible! Speaker 2: [curiously] Just got access. What makes it so special? Speaker 1: [whispers] Watch this... [dramatically] I can do full Shakespeare now! Speaker 2: [with genuine belly laugh] Ha ha ha! That's amazing."
}
JSON
import { ElevenlabsClient } from "@runapi.ai/elevenlabs";
const client = new ElevenlabsClient({
apiKey: process.env.RUNAPI_API_KEY,
});
const result = await client.textToSound.run({
"model": "text-to-dialogue-v3",
"text": "Speaker 1: [excitedly] Sam! Have you tried the new model yet? It's incredible! Speaker 2: [curiously] Just got access. What makes it so special? Speaker 1: [whispers] Watch this... [dramatically] I can do full Shakespeare now! Speaker 2: [with genuine belly laugh] Ha ha ha! That's amazing."
});
console.log(result.id);
require "runapi/elevenlabs"
client = RunApi::Elevenlabs::Client.new
result = client.text_to_sound.run(
model: "text-to-dialogue-v3",
text: "Speaker 1: [excitedly] Sam! Have you tried the new model yet? It's incredible! Speaker 2: [curiously] Just got access. What makes it so special? Speaker 1: [whispers] Watch this... [dramatically] I can do full Shakespeare now! Speaker 2: [with genuine belly laugh] Ha ha ha! That's amazing."
)
puts result.id
package main
import (
"context"
"fmt"
"log"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader("{\"model\":\"text-to-dialogue-v3\",\"text\":\"Speaker 1: [excitedly] Sam! Have you tried the new model yet? It's incredible! Speaker 2: [curiously] Just got access. What makes it so special? Speaker 1: [whispers] Watch this... [dramatically] I can do full Shakespeare now! Speaker 2: [with genuine belly laugh] Ha ha ha! That's amazing.\"}")
req, err := http.NewRequestWithContext(context.Background(), http.MethodPost, "https://runapi.ai/api/v1/elevenlabs/text_to_sound", body)
if err != nil {
log.Fatal(err)
}
req.Header.Set("Authorization", "Bearer "+os.Getenv("RUNAPI_API_KEY"))
req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
fmt.Println(resp.Status)
}
text-to-dialogue-v3/api/v1/elevenlabs/text_to_sound获取 API Key
Speaker 1: [excitedly] Sam! Have you tried the new model yet? It's incredible! Speaker 2: [curiously] Just got access. What makes it so special? Speaker 1: [whispers] Watch this... [dramatically] I can do full Shakespeare now! Speaker 2: [with genuine belly laugh] Ha ha ha! That's amazing.
curl -X POST https://runapi.ai/api/v1/elevenlabs/text_to_sound \
-H "Authorization: Bearer $RUNAPI_KEY" \
-H "Content-Type: application/json" \
--data-binary @- <<'JSON'
{
"model": "text-to-dialogue-v3",
"text": "Speaker 1: [excitedly] Sam! Have you tried the new model yet? It's incredible! Speaker 2: [curiously] Just got access. What makes it so special? Speaker 1: [whispers] Watch this... [dramatically] I can do full Shakespeare now! Speaker 2: [with genuine belly laugh] Ha ha ha! That's amazing."
}
JSON
Narrator: [dramatic tone] The year is 2157. Humanity has spread across the stars, but peace... peace remains elusive. Captain: [wearily] Set a course for Kepler-442b. [sighs] Let's hope this colony is still standing. Lieutenant: [nervously] Captain, sensors are picking up something... unusual. Captain: [firmly] On screen. [pause] ...My God.
curl -X POST https://runapi.ai/api/v1/elevenlabs/text_to_sound \
-H "Authorization: Bearer $RUNAPI_KEY" \
-H "Content-Type: application/json" \
--data-binary @- <<'JSON'
{
"model": "text-to-dialogue-v3",
"text": "Narrator: [dramatic tone] The year is 2157. Humanity has spread across the stars, but peace... peace remains elusive. Captain: [wearily] Set a course for Kepler-442b. [sighs] Let's hope this colony is still standing. Lieutenant: [nervously] Captain, sensors are picking up something... unusual. Captain: [firmly] On screen. [pause] ...My God."
}
JSON
Host: Welcome back to the show. Today we're talking with Dr. Chen about the latest findings in marine biology. Doctor, you've spent six months in a submarine. What was the most surprising thing you saw down there? Dr. Chen: Honestly? The silence. People imagine the deep ocean is full of strange sounds, but at four thousand meters, it's the quietest place I've ever been. When we turned off all the equipment for calibration, the silence was so total it felt physical. Like pressure on your ears, but from the absence of sound rather than from water.
curl -X POST https://runapi.ai/api/v1/elevenlabs/text_to_sound \
-H "Authorization: Bearer $RUNAPI_KEY" \
-H "Content-Type: application/json" \
--data-binary @- <<'JSON'
{
"model": "text-to-dialogue-v3",
"text": "Host: Welcome back to the show. Today we're talking with Dr. Chen about the latest findings in marine biology. Doctor, you've spent six months in a submarine. What was the most surprising thing you saw down there? Dr. Chen: Honestly? The silence. People imagine the deep ocean is full of strange sounds, but at four thousand meters, it's the quietest place I've ever been. When we turned off all the equipment for calibration, the silence was so total it felt physical. Like pressure on your ears, but from the absence of sound rather than from water."
}
JSON