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