1. claude mcp add runapi -s user -- npx -y @runapi.ai/mcp
2. 重启 Claude Code
3. 粘贴这个 prompt:生成音频:"Hold on, let me think. <break time="1.5s" /> Alright, I've got it. The key to understanding this phenomenon is not in the data itself, but in what the data leaves out."
1. codex plugin install runapi-mcp@agents
2. 重启 Codex
3. 粘贴这个 prompt:生成音频:"Hold on, let me think. <break time="1.5s" /> Alright, I've got it. The key to understanding this phenomenon is not in the data itself, but in what the data leaves out."
1. npx @runapi.ai/mcp init cursor
2. 重启 Cursor
3. 粘贴这个 prompt:生成音频:"Hold on, let me think. <break time="1.5s" /> Alright, I've got it. The key to understanding this phenomenon is not in the data itself, but in what the data leaves out."
1. npx @runapi.ai/mcp init windsurf
2. 重启 Windsurf
3. 粘贴这个 prompt:生成音频:"Hold on, let me think. <break time="1.5s" /> Alright, I've got it. The key to understanding this phenomenon is not in the data itself, but in what the data leaves out."
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-speech-multilingual-v2",
"text": "Hold on, let me think. <break time=\"1.5s\" /> Alright, I've got it. The key to understanding this phenomenon is not in the data itself, but in what the data leaves out."
}
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-speech-multilingual-v2",
"text": "Hold on, let me think. <break time=\"1.5s\" /> Alright, I've got it. The key to understanding this phenomenon is not in the data itself, but in what the data leaves out."
});
console.log(result.id);
require "runapi/elevenlabs"
client = RunApi::Elevenlabs::Client.new
result = client.text_to_sound.run(
model: "text-to-speech-multilingual-v2",
text: "Hold on, let me think. <break time=\"1.5s\" /> Alright, I've got it. The key to understanding this phenomenon is not in the data itself, but in what the data leaves out."
)
puts result.id
package main
import (
"context"
"fmt"
"log"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader("{\"model\":\"text-to-speech-multilingual-v2\",\"text\":\"Hold on, let me think. <break time=\\\"1.5s\\\" /> Alright, I've got it. The key to understanding this phenomenon is not in the data itself, but in what the data leaves out.\"}")
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-speech-multilingual-v2/api/v1/elevenlabs/text_to_sound获取 API Key
Hold on, let me think. <break time="1.5s" /> Alright, I've got it. The key to understanding this phenomenon is not in the data itself, but in what the data leaves out.
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-speech-multilingual-v2",
"text": "Hold on, let me think. <break time=\"1.5s\" /> Alright, I've got it. The key to understanding this phenomenon is not in the data itself, but in what the data leaves out."
}
JSON
The old lighthouse keeper climbed the spiral staircase one last time. Each iron step rang out beneath his boots, echoing off the curved stone walls as it had for thirty-seven years. At the top, he paused to catch his breath and looked out across the Atlantic. The beam would spin tonight without him. Tomorrow, the automation engineers would arrive, and the light would keep itself. He pressed his palm flat against the cold glass of the lantern room and whispered goodbye to the sea.
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-speech-multilingual-v2",
"text": "The old lighthouse keeper climbed the spiral staircase one last time. Each iron step rang out beneath his boots, echoing off the curved stone walls as it had for thirty-seven years. At the top, he paused to catch his breath and looked out across the Atlantic. The beam would spin tonight without him. Tomorrow, the automation engineers would arrive, and the light would keep itself. He pressed his palm flat against the cold glass of the lantern room and whispered goodbye to the sea."
}
JSON