Skip to main content
pixverse avatar

PixVerse V5 Text-to-Video API

pixverse/v5/text-to-video

Generate a short, cinematic video from a text prompt, with selectable aspect ratio, resolution, duration, and optional style presets.

0.2

Model Input

Input

Text description of the video to generate.

The aspect ratio of the generated video frame.

The resolution of the generated video. Higher resolutions cost more.

Length of the generated video in seconds. 8-second clips cost more than 5-second clips.

Additional Settings

Customize your input with more control.

Describe content to avoid in the generated video.

Optional stylized look applied to the whole clip. Leave unset for a natural render.

Random seed for reproducible generation. Leave unset for a random result.

You need to be logged in to run this model and view results.
Log in

Model Output

Output

Loading
Generated in 26.922 seconds
Logs (1 lines)

Model Example Requests

Examples

Example output 1Example output 2Example output 3

PixVerse V5 Text-to-Video API

PixVerse V5 Text-to-Video is a text-to-video AI model by pixverse. On ModelRunner it runs through a REST API or via MCP from any AI assistant, at $0.2 per video.

POST https://queue.modelrunner.run/pixverse/v5/text-to-video

cURL

# Submit a request to the queue. Input fields go at the top level of the
# body. The optional reserved "metadata" object holds your own flat string
# tags — stored on the request, never sent to the model; filter later with
# GET https://queue.modelrunner.run/requests?metadata=<url-encoded JSON>.
curl -X POST https://queue.modelrunner.run/pixverse/v5/text-to-video \
  -H "Authorization: Key $MRUN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "Cinematic aerial shot flying over a misty pine forest at dawn, golden sunlight breaking through the fog, smooth drone…",
    "duration": "5",
    "resolution": "540p",
    "aspect_ratio": "16:9",
    "negative_prompt": "",
    "metadata": {
      "project": "my-project"
    }
  }'
# → { "request_id": "...", "status_url": "...", "response_url": "..." }

# Poll status_url until "COMPLETED", then fetch the result
curl "https://queue.modelrunner.run/pixverse/v5/text-to-video/requests/$REQUEST_ID/status" \
  -H "Authorization: Key $MRUN_API_KEY"
curl "https://queue.modelrunner.run/pixverse/v5/text-to-video/requests/$REQUEST_ID" \
  -H "Authorization: Key $MRUN_API_KEY"

JavaScript

import { modelrunner } from "@modelrunner/client";

const result = await modelrunner.subscribe("pixverse/v5/text-to-video", {
  input: {
    "prompt": "Cinematic aerial shot flying over a misty pine forest at dawn, golden sunlight breaking through the fog, smooth drone…",
    "duration": "5",
    "resolution": "540p",
    "aspect_ratio": "16:9",
    "negative_prompt": ""
  },
});
console.log(result);

Python

import os
import requests

headers = {"Authorization": f"Key {os.environ['MRUN_API_KEY']}"}

submitted = requests.post(
    "https://queue.modelrunner.run/pixverse/v5/text-to-video",
    headers=headers,
    json={
      "prompt": "Cinematic aerial shot flying over a misty pine forest at dawn, golden sunlight breaking through the fog, smooth drone…",
      "duration": "5",
      "resolution": "540p",
      "aspect_ratio": "16:9",
      "negative_prompt": ""
    },
).json()

# Poll submitted["status_url"] until "COMPLETED", then:
result = requests.get(submitted["response_url"], headers=headers).json()

Input parameters

NameTypeRequiredDescription
promptstringyesText description of the video to generate.
aspect_ratioenumnoThe aspect ratio of the generated video frame. Default: "16:9".
resolutionenumnoThe resolution of the generated video. Higher resolutions cost more. Default: "720p".
durationenumnoLength of the generated video in seconds. 8-second clips cost more than 5-second clips. Default: "5".
negative_promptstringnoDescribe content to avoid in the generated video. Default: "".
styleenumnoOptional stylized look applied to the whole clip. Leave unset for a natural render.
seedintegernoRandom seed for reproducible generation. Leave unset for a random result.

Machine-readable: OpenAPI schema · llms.txt

Use PixVerse V5 Text-to-Video from Claude & Cursor (MCP)

Point Claude Code, Claude Desktop, Cursor, or any MCP client at the ModelRunner MCP server and PixVerse V5 Text-to-Video becomes a tool your assistant can call directly — it authorizes via OAuth (no API key in config) and runs this model with the run_model tool using the endpoint pixverse/v5/text-to-video.

MCP client config (Claude Desktop, Cursor)

{
  "mcpServers": {
    "modelrunner": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.modelrunner.run/mcp"]
    }
  }
}

Claude Code

claude mcp add --transport http modelrunner https://mcp.modelrunner.run/mcp

Then ask your assistant, for example: “Run pixverse/v5/text-to-video on ModelRunner to generate video”. MCP setup guide.

Model Details

Model Details

PixVerse V5 turns a written prompt into a short, cinematic clip with fluid motion and strong adherence to what you describe. It is tuned for fast, high-quality text-to-video where the subject, action, and setting in your prompt land clearly on screen. Pick an aspect ratio (16:9, 4:3, 1:1, 3:4, 9:16), a resolution (360p, 540p, 720p, or 1080p), and a 5- or 8-second duration to match landscape, vertical, or square delivery. Optional style presets (anime, 3D animation, clay, comic, cyberpunk) recolor the whole clip in one shot.

## Best for - Turning a single descriptive prompt into a polished establishing or hero shot - Social-ready vertical (9:16) clips and square (1:1) loops from text alone - Cinematic landscape (16:9) b-roll with camera motion and atmospheric detail - Stylized shorts in a fixed look — anime, clay, comic, or cyberpunk — from one prompt - Quick concepting and storyboarding where you iterate on a prompt to dial in the action

## Choose another model when - You want to animate an existing photo or starting frame rather than generate from text alone — use an image-to-video model - You need a single still image, not motion — use a text-to-image model - You need clips longer than 8 seconds or fine frame-by-frame timeline control — use a dedicated long-form video tool

## Tips - Describe the subject, the action, and the setting in one coherent sentence; concrete motion verbs ("slowly pans", "rushes forward") translate well to on-screen movement - Use `negative_prompt` to suppress recurring artifacts such as blur, warping, or low-quality texture - Set `style` for a consistent stylized look across the whole clip; leave it unset for a natural, photoreal render - Higher `resolution` and 8s `duration` cost more per clip — start at 720p/5s to iterate cheaply, then raise them once the prompt is dialed in

To run via the ModelRunner JavaScript client: ```js import { modelrunner } from "@modelrunner/client";

const result = await modelrunner.subscribe("pixverse/v5/text-to-video", { input: { prompt: "A serene mountain lake reflecting clouds at golden hour, gentle ripples on the water", aspect_ratio: "16:9", resolution: "720p", duration: "5", }, }); ```