1. claude mcp add runapi -s user -- npx -y @runapi.ai/mcp
2. 重启 Claude Code
3. 粘贴这个 prompt:生成一段视频:"Golden hour sunset over Icelandic black sand beach, slow ocean waves crashing on volcanic rocks, warm sky colors transitioning from amber to deep purple, low-angle slow push-in, epic atmosphere, cinematic 4K."
1. codex plugin install runapi-mcp@agents
2. 重启 Codex
3. 粘贴这个 prompt:生成一段视频:"Golden hour sunset over Icelandic black sand beach, slow ocean waves crashing on volcanic rocks, warm sky colors transitioning from amber to deep purple, low-angle slow push-in, epic atmosphere, cinematic 4K."
1. npx @runapi.ai/mcp init cursor
2. 重启 Cursor
3. 粘贴这个 prompt:生成一段视频:"Golden hour sunset over Icelandic black sand beach, slow ocean waves crashing on volcanic rocks, warm sky colors transitioning from amber to deep purple, low-angle slow push-in, epic atmosphere, cinematic 4K."
1. npx @runapi.ai/mcp init windsurf
2. 重启 Windsurf
3. 粘贴这个 prompt:生成一段视频:"Golden hour sunset over Icelandic black sand beach, slow ocean waves crashing on volcanic rocks, warm sky colors transitioning from amber to deep purple, low-angle slow push-in, epic atmosphere, cinematic 4K."
curl -X POST https://runapi.ai/api/v1/veo_3_1/text_to_video \
-H "Authorization: Bearer $RUNAPI_KEY" \
-H "Content-Type: application/json" \
--data-binary @- <<'JSON'
{
"model": "veo-3.1",
"prompt": "Golden hour sunset over Icelandic black sand beach, slow ocean waves crashing on volcanic rocks, warm sky colors transitioning from amber to deep purple, low-angle slow push-in, epic atmosphere, cinematic 4K."
}
JSON
import { Veo31Client } from "@runapi.ai/veo-3-1";
const client = new Veo31Client({
apiKey: process.env.RUNAPI_API_KEY,
});
const result = await client.textToVideo.run({
"model": "veo-3.1",
"prompt": "Golden hour sunset over Icelandic black sand beach, slow ocean waves crashing on volcanic rocks, warm sky colors transitioning from amber to deep purple, low-angle slow push-in, epic atmosphere, cinematic 4K."
});
console.log(result.id);
require "runapi/veo_3_1"
client = RunApi::Veo31::Client.new
result = client.text_to_video.run(
model: "veo-3.1",
prompt: "Golden hour sunset over Icelandic black sand beach, slow ocean waves crashing on volcanic rocks, warm sky colors transitioning from amber to deep purple, low-angle slow push-in, epic atmosphere, cinematic 4K."
)
puts result.id
package main
import (
"context"
"fmt"
"log"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader("{\"model\":\"veo-3.1\",\"prompt\":\"Golden hour sunset over Icelandic black sand beach, slow ocean waves crashing on volcanic rocks, warm sky colors transitioning from amber to deep purple, low-angle slow push-in, epic atmosphere, cinematic 4K.\"}")
req, err := http.NewRequestWithContext(context.Background(), http.MethodPost, "https://runapi.ai/api/v1/veo_3_1/text_to_video", 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)
}
Elegant product reveal of a premium smartwatch on a slowly rotating display platform. The video starts with a completely dark frame, then a single spotlight fades in from above, illuminating the watch face first. The platform rotates 180 degrees over the clip duration, showing the watch from front to side profile. The watch face displays a minimalist analog dial with blue hands. Reflections from the polished stainless steel case create subtle light flares. Background remains pure black. Studio lighting with a slight rim light on the back edge of the watch band. Smooth, slow rotation — no camera movement, the platform does all the work.
curl -X POST https://runapi.ai/api/v1/veo_3_1/text_to_video \
-H "Authorization: Bearer $RUNAPI_KEY" \
-H "Content-Type: application/json" \
--data-binary @- <<'JSON'
{
"model": "veo-3.1",
"prompt": "Elegant product reveal of a premium smartwatch on a slowly rotating display platform. The video starts with a completely dark frame, then a single spotlight fades in from above, illuminating the watch face first. The platform rotates 180 degrees over the clip duration, showing the watch from front to side profile. The watch face displays a minimalist analog dial with blue hands. Reflections from the polished stainless steel case create subtle light flares. Background remains pure black. Studio lighting with a slight rim light on the back edge of the watch band. Smooth, slow rotation — no camera movement, the platform does all the work."
}
JSON