> Markdown copy of https://makernice.com/blog/how-to-use-seedance-2-0-in-claude-code-and-cursor/ for AI tools. The HTML page is the canonical version.

[← All posts](https://makernice.com/blog/)

Guides

# How to Use Seedance 2.0 in Claude Code, Cursor and ChatGPT?

Makernice Team · 2026-11-11 · Updated 2026-11-12

Prices as of November 12, 2026 (price list v15).

## Key takeaways

-   Seedance 2.0 runs from Claude Code, Cursor, Claude and ChatGPT once the Makernice MCP server is added; a 5-second 720p clip is $0.852 at price list v15 (November 12, 2026).
-   Seedance 2.0 offers 720p and 1080p, clips from 4 to 15 seconds, and reference-to-video with up to 9 images.
-   In reference-to-video mode Seedance 2.0 accepts only 16:9, 9:16, 4:3, 3:4 as aspect ratios; other ratios are refused before anything is charged.
-   Seedance 2.0 on Makernice takes text and still images only: no video, no audio input, and every clip comes with sound.
-   The agent's estimate\_cost call never creates a job; generate quotes again and refuses the job if the price is above your max\_cost\_usd.

Ask an AI assistant about this page[Ask ChatGPT](https://chatgpt.com/?q=Read+https%3A%2F%2Fmakernice.com%2Fblog%2Fhow-to-use-seedance-2-0-in-claude-code-and-cursor%2F+and+summarize+what+it+says+about+How+to+Use+Seedance+2.0+in+Claude+Code%2C+Cursor+and+ChatGPT%3F.+Quote+the+page+for+prices+and+limits.)[Ask Claude](https://claude.ai/new?q=Read+https%3A%2F%2Fmakernice.com%2Fblog%2Fhow-to-use-seedance-2-0-in-claude-code-and-cursor%2F+and+summarize+what+it+says+about+How+to+Use+Seedance+2.0+in+Claude+Code%2C+Cursor+and+ChatGPT%3F.+Quote+the+page+for+prices+and+limits.)[Ask Perplexity](https://www.perplexity.ai/search?q=Read+https%3A%2F%2Fmakernice.com%2Fblog%2Fhow-to-use-seedance-2-0-in-claude-code-and-cursor%2F+and+summarize+what+it+says+about+How+to+Use+Seedance+2.0+in+Claude+Code%2C+Cursor+and+ChatGPT%3F.+Quote+the+page+for+prices+and+limits.)

To use Seedance 2.0, ByteDance's video model, from Claude Code, Cursor or ChatGPT, connect the Makernice MCP server once, describe the shot, and let the agent price it with `estimate_cost` before `generate` starts it. Nothing runs until you agree, and `generate` won't go past the price you approved. At price list v15 (November 12, 2026) a 5-second clip at 720p is $0.852.

## How do you add Seedance 2.0 to Claude Code or Cursor over MCP?

Seedance 2.0 becomes available in Claude Code after one terminal command, `claude mcp add --transport http --scope user makernice`, followed by the server address shown on the [Claude Code connection page](https://makernice.com/mcp/connect/claude-code/). Open Claude Code, run `/mcp`, select makernice and approve access in the browser tab that appears.

Cursor users can click the install link on the [Cursor connection page](https://makernice.com/mcp/connect/cursor/) or add the makernice entry to `~/.cursor/mcp.json` by hand. Sign in from the makernice row in Cursor's MCP settings and the tools appear in chat.

A sensible first message in a new session is a request for `get_balance`. Its answer lists the money available, what you have spent today and the limits attached to this connection, including `per_job_limit_usd`, which caps any single job.

Makernice runs Seedance 2.0 in Claude Code and Cursor, in the Claude and ChatGPT chat apps, over the REST API and in the browser form under Create in the Makernice console, all at the same price. In the chat apps, only the connection differs: the assistant calls `estimate_cost`, waits for your go-ahead, sends `generate` with that figure as `max_cost_usd` and reads the result from `check_job`.

-   **Claude:** Customize → Connectors → + Add → Add custom connector, paste the MCP URL, then Connect and sign in. On Team and Enterprise plans an owner adds it in Organization settings first. [Claude steps](https://makernice.com/mcp/connect/claude/).
-   **ChatGPT on the web:** Plugins → + → Add custom MCP server, Authentication set to OAuth and the ChatGPT-only URL, then type @ in a new chat and pick Makernice. Your plan or workspace must allow custom MCP servers, and that version has no `get_topup_link` tool, so top up on the site. [ChatGPT steps](https://makernice.com/mcp/connect/chatgpt/).
-   **REST API:** a quote locks the price for 12 minutes, then one create call starts the job; the [Seedance 2.5 API tutorial](https://makernice.com/blog/seedance-2-5-api-quickstart/) shows the flow, and Seedance 2.0 only changes the model id.

ByteDance also offers the model in its own apps: CapCut's newsroom described Dreamina Seedance 2.0 in April 2026 ([CapCut newsroom](https://www.capcut.com/newsroom/dreamina-seedance-2)). Seedance 2.0 is a hosted model; we didn't find an official open-weights release on the [ByteDance Seed Hugging Face page](https://huggingface.co/ByteDance-Seed) (checked 2026-11-12). Platforms that publish a US-dollar per-second price for Seedance 2.0 are listed in the [Seedance 2.0 price table](https://makernice.com/models/seedance-2-0/#third-party-prices), checked 2026-11-11.

## How do you use reference images with Seedance 2.0?

Seedance 2.0 takes up to 9 reference images in reference-to-video mode: point it at photos of one product and it keeps that product recognisable in a new scene. The exchange below starts from three photos of a mug that are already online.

**You:** Use the three mug photos on our product CDN and make a vertical clip of the mug on a windowsill with morning light. Price it first.

**Claude Code** sends the photos and the scene to `estimate_cost`:

```
{
  "name": "estimate_cost",
  "arguments": {
    "input": {
      "model": "seedance-2.0",
      "mode": "r2v",
      "prompt": "The green ceramic mug from the references sits on a wooden windowsill, morning light moves across the glaze, steam curls up, slow orbit around the mug",
      "reference_images": [
        "https://example.com/products/mug-front.jpg",
        "https://example.com/products/mug-side.jpg",
        "https://example.com/products/mug-handle.jpg"
      ],
      "duration": 5,
      "resolution": "720p",
      "aspect_ratio": "9:16"
    }
  }
}
```

**Claude Code:** Seedance 2.0 at 720p for 5 seconds comes to $0.852 on price list v15. Nothing is charged yet. Want me to start it?

**You:** Start it.

The agent repeats the identical input in `generate`, passes the approved figure as `max_cost_usd` and labels the attempt with a `request_id`:

```
{
  "name": "generate",
  "arguments": {
    "input": {
      "model": "seedance-2.0",
      "mode": "r2v",
      "prompt": "The green ceramic mug from the references sits on a wooden windowsill, morning light moves across the glaze, steam curls up, slow orbit around the mug",
      "reference_images": [
        "https://example.com/products/mug-front.jpg",
        "https://example.com/products/mug-side.jpg",
        "https://example.com/products/mug-handle.jpg"
      ],
      "duration": 5,
      "resolution": "720p",
      "aspect_ratio": "9:16"
    },
    "max_cost_usd": "0.852",
    "request_id": "mug-windowsill-r2v-v1"
  }
}
```

Makernice prices the request again at the moment `generate` arrives. If that price is within `max_cost_usd` and the connection's per-job limit, the job is created and you are charged exactly that quote; if not, the call is refused and no job exists. Should the reply get lost, sending the same `request_id` with the same input returns the job that already exists instead of a second one.

The agent then waits on the result with `check_job`. A `wait_s` value of up to 55 keeps the call open until the job finishes or the time runs out:

```
{
  "name": "check_job",
  "arguments": {
    "job_id": "gen_...",
    "wait_s": 40
  }
}
```

A succeeded job carries a signed MP4 link in `outputs[0].url` that works for 24 hours; ask for `check_job` again later and you get a new link. The `console_url` field opens the same job in the Makernice console, and an account [webhook](https://makernice.com/docs/#webhooks) is sent for MCP jobs as well. For picking and ordering references, see the [reference-to-video guide](https://makernice.com/blog/reference-to-video-guide/).

## Which Seedance 2.0 settings matter for a text-to-video request?

Seedance 2.0 text-to-video depends on five fields: the `prompt` (up to 4,000 characters), `duration` from 4 to 15 whole seconds (5 if unspecified), `resolution` at 720p or 1080p (720p when left out), `aspect_ratio` from 21:9, 16:9, 4:3, 1:1, 3:4, 9:16, and the model id. Price follows length and tier only: $0.1704 per second at 720p and $0.4252 per second at 1080p (price list v15, November 12, 2026).

A practical habit is to settle the motion and framing at 720p, then ask for 1080p once the shot is right. Multiply the per-second price by the length you want, or let the agent run `estimate_cost` on the exact settings:

```
{
  "name": "estimate_cost",
  "arguments": {
    "input": {
      "model": "seedance-2.0",
      "mode": "t2v",
      "prompt": "Wide shot of a sunlit kitchen counter, a green ceramic mug is filled with coffee, the camera slides left past a bowl of lemons",
      "duration": 8,
      "resolution": "1080p",
      "aspect_ratio": "16:9"
    }
  }
}
```

| Your request in chat | Fields the agent fills in |
| --- | --- |
| Same product in a new scene | `mode` r2v plus up to 9 links in `reference_images` |
| Bring a product photo to life | `mode` i2v and the photo in `image_url` |
| Open on one frame and land on another | `mode` flf with `image_url` and `last_image_url` |
| A clip for a phone screen | `aspect_ratio` 9:16 |
| Sharper output for the final cut | `resolution` 1080p |
| A longer take | `duration` anywhere up to 15 |

Describe one shot per prompt, with one subject, one action and one camera move; the [text-to-video prompt guide](https://makernice.com/blog/text-to-video-prompt-tips/) shows the pattern. The [Seedance 2.0 model page](https://makernice.com/models/seedance-2-0/) has the full specification.

## How do you animate a photo or a first and last frame with Seedance 2.0?

Seedance 2.0 animates one photo in image-to-video mode (`mode` i2v with `image_url`) and fills the motion between two photos in first and last frame mode (`mode` flf with `image_url` and `last_image_url`). Both take an `aspect_ratio` from 21:9, 16:9, 4:3, 1:1, 3:4, 9:16; first and last frame also allows adaptive, which follows the shape of your input image. Here is a product shot that ends with the mug in its box:

```
{
  "name": "estimate_cost",
  "arguments": {
    "input": {
      "model": "seedance-2.0",
      "mode": "flf",
      "prompt": "The green mug slowly turns and slides into its open gift box as the lid closes",
      "image_url": "https://example.com/products/mug-front.jpg",
      "last_image_url": "https://example.com/products/mug-boxed.jpg",
      "duration": 6,
      "aspect_ratio": "adaptive"
    }
  }
}
```

Every image must be a public https link to a JPEG, PNG or WebP of 10 MB or less. Seedance 2.0 also wants the shorter side at 300 px or more and the longer side at 6000 px or less. Files on your laptop are not reachable over MCP, so put them behind a public URL first. [Image-to-video and first and last frame](https://makernice.com/blog/image-to-video-and-first-last-frame/) explains how each frame is used.

## Why does Seedance 2.0 block some prompts and images?

Seedance 2.0 refuses some inputs because of ByteDance's own safety policy, and Makernice moderates prompts and images as well. ByteDance's Ark error codes describe rejections for input images that may contain a real person, for inputs or outputs that may involve copyright restrictions, and for sensitive content ([Ark error codes](https://docs.volcengine.com/docs/82379/1299023)). CapCut said Dreamina Seedance 2.0 restricts videos made from images or videos with real faces during its rollout.

Calling Seedance 2.0 through Makernice doesn't switch these checks off, and there is no uncensored version. A blocked job reports the error code content\_rejected in `check_job`. Remove real faces, named characters, logos and policy-violating wording, or follow the cases the [acceptable use policy](https://makernice.com/aup/) allows; [why Seedance generations fail](https://makernice.com/blog/seedance-generation-failed/) explains each message.

## Why did my Seedance 2.0 generation fail, and was it charged?

A Seedance 2.0 failure costs nothing: a refusal creates no job, and a job that fails later has its hold released in full. Note: if a finished output is blocked by output moderation for a policy violation, the run is still charged. You can contact support for a manual review. Refusals arrive as plain text the agent can read; the left column gives the internal name Makernice's server uses for the case, and the middle column is how the returned text begins.

| Refusal | What the tool returns | What to do |
| --- | --- | --- |
| `invalid_request` | "Invalid parameters" | The details name the field: a ratio outside 16:9, 9:16, 4:3, 3:4 in r2v, more than 9 references, or a duration outside 4 to 15. Fix that field and estimate again |
| `price_exceeds_max_cost` | "which exceeds max\_cost\_usd" | Switching to 1080p or a longer clip changes the price; get a fresh estimate and approve it |
| `per_job_limit_exceeded` | "which exceeds this connection's per-job limit" | Shorten the clip, drop to 720p, or raise the connection's per-job limit in Makernice |
| `request_id_conflict` | "This request\_id was already used with different parameters." | Give the changed request a new request\_id |
| `insufficient_balance` | "Insufficient balance for this job. Nothing was charged." | Add balance, then retry with the same request\_id |
| `daily_spend_limit_reached` | "This connection has reached its daily spend limit." | Wait for the reset at 00:00 UTC or raise the connection's daily limit |

Some problems only show up after the job has started, such as a reference image that fails moderation, a run past the 60 minute limit (error code timeout) or a provider outage. In each case `check_job` reports `status` failed with an `error` object, and `billing` moves to released so the held amount returns to your balance. Billing examples are on [failed generations](https://makernice.com/pricing/failed-generations/).

## How do you call the Seedance 2.0 API from Python, and where is the documentation?

Seedance 2.0 is called from Python the same way as every Makernice model, with any HTTP client and no SDK to install: POST /v1/generations/quote with the input, POST /v1/generations with the quote\_id, the same input and an Idempotency-Key header, then poll GET /v1/generations/{id} and download outputs/0. Set the model to seedance-2.0 and keep resolution to 720p or 1080p.

The [API docs](https://makernice.com/docs/) describe every field, status and error, and their [troubleshooting list](https://makernice.com/docs/#troubleshooting) maps common failures to fixes. The [Seedance 2.5 API tutorial](https://makernice.com/blog/seedance-2-5-api-quickstart/) runs the four calls with curl, and [API integration best practices](https://makernice.com/blog/api-integration-best-practices/) covers retries and 429 handling.

## Frequently asked questions

#### How long does a Seedance 2.0 video take, and why is it stuck in queue?

A Seedance 2.0 job can take a few minutes, longer at 1080p or full length, and Makernice ends it as failed with error code timeout after 60 minutes, uncharged. The status moves from queued to generating to moderating to succeeded; don't resend the request while it waits, because each account runs 2 jobs at once by default and extra ones are refused.

#### Does Seedance 2.0 generate audio, and can it take an audio track?

Seedance 2.0 always returns video with sound, and Makernice has no switch to turn it off. Audio input isn't supported: Seedance 2.0 takes text and still images only, so there is no audio-to-video or audio reference mode.

#### Can Seedance 2.0 make a multi-shot video?

Not in one request. Each Seedance 2.0 job returns one clip of 4 to 15 seconds, and Makernice has no storyboard field and doesn't join clips. Generate each shot with the same reference images and edit them together in your own software.

#### Is there a free or unlimited Seedance 2.0 plan on Makernice?

No. Makernice has no free credits, no subscription and no unlimited plan. Seedance 2.0 is paid per second from a prepaid balance, $0.1704 per second at 720p on price list v15, and estimate\_cost returns a price without creating a job or charging your balance.

#### Can you run Seedance 2.0 locally?

Not through Makernice. We didn't find an official open-weights release of Seedance 2.0 on the ByteDance Seed Hugging Face page (checked 2026-11-12), and Makernice runs it as a hosted API only.

#### Is there a cheaper Seedance 2.0 API than Makernice?

The Seedance 2.0 price table on the model page lists the US-dollar per-second rates other platforms publish next to the Makernice price, checked 2026-11-11. Compare billing rules too: a Makernice balance doesn't expire, and each run is priced before it starts.

#### Which aspect ratios work for Seedance 2.0 reference-to-video?

16:9, 9:16, 4:3, 3:4. Square and 21:9 are available in text-to-video and image-to-video, but a reference-to-video request with them is refused before any charge.

## Models in this post

Video

### Seedance 2.0

The all-rounder for ads and social: 4–15 s clips at 720p or 1080p from text, an image, first and last frames, or 9 references. Audio is always on (no toggle).

By ByteDanceFrom $0.1704/s

https://makernice.com/models/seedance-2-0/
