Skip to main content
bytedance avatar

Seedance 1.0 Pro Fast API

bytedance/seedance-v1-pro-fast

Generate a short, silent video clip from a text prompt or a first-frame image — the fast, lower-cost tier of Seedance 1.0 Pro at 480p/720p.

0.03 per second of output video

Model Input

Input

Text prompt for video generation

Input image used as the first frame for image-to-video generation

Min: 3 - Max: 12

Video duration in seconds

Additional Settings

Customize your input with more control.

Video resolution

Video aspect ratio. Ignored if an image is used.

Whether to fix camera position

Random seed. Set for reproducible generation

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

Model Output

Output

Loading
Generated in 21 seconds
Logs (1 lines)

Model Example Requests

Examples

Example output 1Example output 2

Seedance 1.0 Pro Fast API

Seedance 1.0 Pro Fast is a image-to-video AI model by bytedance. On ModelRunner it runs through a REST API or via MCP from any AI assistant, at $0.03 per second of video.

POST https://queue.modelrunner.run/bytedance/seedance-v1-pro-fast

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/bytedance/seedance-v1-pro-fast \
  -H "Authorization: Key $MRUN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "image": "https://media.modelrunner.ai/Zk3ziMLpaoRdl6eu4mRtK.png",
    "prompt": "the paper sailboat drifts forward across the puddle, ripples spreading, lamplight flickering on the wet cobblestones",
    "duration": 5,
    "resolution": "720p",
    "aspect_ratio": "16:9",
    "camera_fixed": false,
    "metadata": {
      "project": "my-project"
    }
  }'
# → { "request_id": "...", "status_url": "...", "response_url": "..." }

# Poll status_url until "COMPLETED", then fetch the result
curl "https://queue.modelrunner.run/bytedance/seedance-v1-pro-fast/requests/$REQUEST_ID/status" \
  -H "Authorization: Key $MRUN_API_KEY"
curl "https://queue.modelrunner.run/bytedance/seedance-v1-pro-fast/requests/$REQUEST_ID" \
  -H "Authorization: Key $MRUN_API_KEY"

JavaScript

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

const result = await modelrunner.subscribe("bytedance/seedance-v1-pro-fast", {
  input: {
    "image": "https://media.modelrunner.ai/Zk3ziMLpaoRdl6eu4mRtK.png",
    "prompt": "the paper sailboat drifts forward across the puddle, ripples spreading, lamplight flickering on the wet cobblestones",
    "duration": 5,
    "resolution": "720p",
    "aspect_ratio": "16:9",
    "camera_fixed": false
  },
});
console.log(result);

Python

import os
import requests

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

submitted = requests.post(
    "https://queue.modelrunner.run/bytedance/seedance-v1-pro-fast",
    headers=headers,
    json={
      "image": "https://media.modelrunner.ai/Zk3ziMLpaoRdl6eu4mRtK.png",
      "prompt": "the paper sailboat drifts forward across the puddle, ripples spreading, lamplight flickering on the wet cobblestones",
      "duration": 5,
      "resolution": "720p",
      "aspect_ratio": "16:9",
      "camera_fixed": false
    },
).json()

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

Input parameters

NameTypeRequiredDescription
promptstringyesText prompt for video generation
imagestring (uri)noInput image used as the first frame for image-to-video generation
durationintegernoVideo duration in seconds Default: 5.
resolutionenumnoVideo resolution Default: "720p".
aspect_ratioenumnoVideo aspect ratio. Ignored if an image is used. Default: "16:9".
camera_fixedbooleannoWhether to fix camera position Default: false.
seedintegernoRandom seed. Set for reproducible generation

Machine-readable: OpenAPI schema · llms.txt

Use Seedance 1.0 Pro Fast from Claude & Cursor (MCP)

Point Claude Code, Claude Desktop, Cursor, or any MCP client at the ModelRunner MCP server and Seedance 1.0 Pro Fast 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 bytedance/seedance-v1-pro-fast.

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 bytedance/seedance-v1-pro-fast on ModelRunner to generate video”. MCP setup guide.

Model Details

Model Details

Seedance 1.0 Pro Fast turns a text prompt — or a single still image used as the first frame — into a short, silent video clip. It is the fast, lower-cost tier of the Seedance 1.0 Pro line, tuned to render smooth motion and coherent multi-shot narrative several times cheaper and quicker than the full Pro model, at 480p or 720p. Give it a descriptive prompt for text-to-video, or supply an `image` to animate that frame forward for image-to-video. Clips run 3 to 12 seconds at 24fps. The output has no audio track — it is a purely visual generator.

## Best for - Turning a text prompt into a short video clip quickly and at low cost - Animating a still photo (first frame) into motion for image-to-video - Rapid iteration, previews, and storyboards where speed and price matter more than maximum resolution - Social clips, product motion, and b-roll at 480p or 720p - Multi-shot narrative shots with smooth, controllable camera movement

## Choose another model when - You need 1080p or higher resolution — use the standard Pro tier `bytedance/seedance-v1-pro` - You need sound in the video — this model is silent, so use an audio-capable video model - You need last-frame control or multiple reference images — those modes are not supported here - You want a still image rather than a video — use a text-to-image model

## Tips - For image-to-video, `image` sets the first frame; `aspect_ratio` is ignored when an image is supplied because the clip matches the image's shape - Set `camera_fixed: true` to lock the camera for a static shot; leave it false for dynamic camera moves - Keep `duration` short (3-12 seconds) for the fastest, cheapest generations - Choose `resolution` "480p" for the cheapest previews and "720p" for delivery-quality clips

## Limitations - No 1080p and no audio — for either, pick a different Seedance tier or an audio-capable model - Fast generation trades some fine detail and temporal stability versus the full Pro model - Very long prompts with many distinct shots can drift in consistency across cuts

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

const result = await modelrunner.subscribe("bytedance/seedance-v1-pro-fast", { input: { prompt: "a hot air balloon festival at sunrise over rolling lavender fields, balloons slowly lifting off, soft golden light", resolution: "720p", duration: 5, aspect_ratio: "16:9", }, }); ```