1. claude mcp add runapi -s user -- npx -y @runapi.ai/mcp
2. 重启 Claude Code
3. 粘贴这个 prompt:生成一段视频:"Single continuous cinematic shot, no music. From outside the glass window, the dim camera slowly pushes inward into a pizza shop. A bearded white male employee is baking pizza. He removes the pizza from the oven with a metal tray, places it into a red takeaway box, closes the lid, and then hands it to a customer with a warm smile."
1. codex plugin install runapi-mcp@agents
2. 重启 Codex
3. 粘贴这个 prompt:生成一段视频:"Single continuous cinematic shot, no music. From outside the glass window, the dim camera slowly pushes inward into a pizza shop. A bearded white male employee is baking pizza. He removes the pizza from the oven with a metal tray, places it into a red takeaway box, closes the lid, and then hands it to a customer with a warm smile."
1. npx @runapi.ai/mcp init cursor
2. 重启 Cursor
3. 粘贴这个 prompt:生成一段视频:"Single continuous cinematic shot, no music. From outside the glass window, the dim camera slowly pushes inward into a pizza shop. A bearded white male employee is baking pizza. He removes the pizza from the oven with a metal tray, places it into a red takeaway box, closes the lid, and then hands it to a customer with a warm smile."
1. npx @runapi.ai/mcp init windsurf
2. 重启 Windsurf
3. 粘贴这个 prompt:生成一段视频:"Single continuous cinematic shot, no music. From outside the glass window, the dim camera slowly pushes inward into a pizza shop. A bearded white male employee is baking pizza. He removes the pizza from the oven with a metal tray, places it into a red takeaway box, closes the lid, and then hands it to a customer with a warm smile."
curl -X POST https://runapi.ai/api/v1/seedance/text_to_video \
-H "Authorization: Bearer $RUNAPI_KEY" \
-H "Content-Type: application/json" \
--data-binary @- <<'JSON'
{
"model": "seedance-2.0",
"prompt": "Single continuous cinematic shot, no music. From outside the glass window, the dim camera slowly pushes inward into a pizza shop. A bearded white male employee is baking pizza. He removes the pizza from the oven with a metal tray, places it into a red takeaway box, closes the lid, and then hands it to a customer with a warm smile."
}
JSON
import { SeedanceClient } from "@runapi.ai/seedance";
const client = new SeedanceClient({
apiKey: process.env.RUNAPI_API_KEY,
});
const result = await client.textToVideo.run({
"model": "seedance-2.0",
"prompt": "Single continuous cinematic shot, no music. From outside the glass window, the dim camera slowly pushes inward into a pizza shop. A bearded white male employee is baking pizza. He removes the pizza from the oven with a metal tray, places it into a red takeaway box, closes the lid, and then hands it to a customer with a warm smile."
});
console.log(result.id);
require "runapi/seedance"
client = RunApi::Seedance::Client.new
result = client.text_to_video.run(
model: "seedance-2.0",
prompt: "Single continuous cinematic shot, no music. From outside the glass window, the dim camera slowly pushes inward into a pizza shop. A bearded white male employee is baking pizza. He removes the pizza from the oven with a metal tray, places it into a red takeaway box, closes the lid, and then hands it to a customer with a warm smile."
)
puts result.id
package main
import (
"context"
"fmt"
"log"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader("{\"model\":\"seedance-2.0\",\"prompt\":\"Single continuous cinematic shot, no music. From outside the glass window, the dim camera slowly pushes inward into a pizza shop. A bearded white male employee is baking pizza. He removes the pizza from the oven with a metal tray, places it into a red takeaway box, closes the lid, and then hands it to a customer with a warm smile.\"}")
req, err := http.NewRequestWithContext(context.Background(), http.MethodPost, "https://runapi.ai/api/v1/seedance/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)
}
seedance-2.0/api/v1/seedance/text_to_video获取 API Key
Single continuous cinematic shot, no music. From outside the glass window, the dim camera slowly pushes inward into a pizza shop. A bearded white male employee is baking pizza. He removes the pizza from the oven with a metal tray, places it into a red takeaway box, closes the lid, and then hands it to a customer with a warm smile.
curl -X POST https://runapi.ai/api/v1/seedance/text_to_video \
-H "Authorization: Bearer $RUNAPI_KEY" \
-H "Content-Type: application/json" \
--data-binary @- <<'JSON'
{
"model": "seedance-2.0",
"prompt": "Single continuous cinematic shot, no music. From outside the glass window, the dim camera slowly pushes inward into a pizza shop. A bearded white male employee is baking pizza. He removes the pizza from the oven with a metal tray, places it into a red takeaway box, closes the lid, and then hands it to a customer with a warm smile."
}
JSON
Slow cinematic aerial drone shot pulling back from rugged coastal cliffs at sunrise. The camera starts close to the cliff face where waves crash against dark volcanic rock, sending white spray upward, then gradually rises and pulls back to reveal the full coastline stretching into the distance. Morning sunlight paints the cliff tops gold while the ocean below remains deep blue-green. Seabirds glide below camera level. The movement is smooth and steady with no shaking or sudden turns. Cinematic 24fps feel with a wide dynamic range preserving detail in both bright spray and dark rock faces.
curl -X POST https://runapi.ai/api/v1/seedance/text_to_video \
-H "Authorization: Bearer $RUNAPI_KEY" \
-H "Content-Type: application/json" \
--data-binary @- <<'JSON'
{
"model": "seedance-2.0",
"prompt": "Slow cinematic aerial drone shot pulling back from rugged coastal cliffs at sunrise. The camera starts close to the cliff face where waves crash against dark volcanic rock, sending white spray upward, then gradually rises and pulls back to reveal the full coastline stretching into the distance. Morning sunlight paints the cliff tops gold while the ocean below remains deep blue-green. Seabirds glide below camera level. The movement is smooth and steady with no shaking or sudden turns. Cinematic 24fps feel with a wide dynamic range preserving detail in both bright spray and dark rock faces."
}
JSON