# vicseeai/vicsee-mcp-server [Health: Active]

**Category:** 🎨 Art & Culture  
**Repository:** https://github.com/vicseeai/vicsee-mcp-server  
**GitHub Stars:** 0  
**npm Downloads (last month):** 442  
**Views:** 4  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/vicseeai-vicsee-mcp-server

## Description
Generate, edit, and upscale AI video & images (Seedance, Veo, Kling, FLUX, Nano Banana) from any agent via VicSee.

## Tools
Capabilities this server exposes over MCP:

- **vicsee_list_models** — List available VicSee models with their capabilities and credit costs. Call this first to find a model id to pass to vicsee_generate. Optionally filter by media type.
- **vicsee_estimate** — Return the EXACT credits a vicsee_generate call will charge, without generating anything. Takes the same arguments as vicsee_generate. The server runs the identical validation, model/resolution resolution and per-second billing (probing any reference video for its length) and stops before the charge, so `credits` is what vicsee_generate will deduct. Also returns `resolvedParams` (the settings that will actually apply, including defaults you did not send), `creditsRemaining` and `sufficient`. Call this before vicsee_generate whenever the user cares about cost, is comparing models, or is attaching a video reference (per-second billing across input + output). Invalid requests return the same error vicsee_generate would, so it also works as a free dry run.
- **vicsee_generate** — Create an AI image or video with VicSee. Generation is ASYNCHRONOUS: this returns a task `id` immediately, then poll `vicsee_get_task` with that id until status is "completed" (the result URL appears in result.url) or "failed". Use vicsee_list_models to pick a `model` and see its valid options. For image-to-video / image-to-image, pass source images in `image_urls`. For reference-to-video models (e.g. "seedance-2-5-reference-to-video"), pass references in reference_image_urls / reference_video_urls / reference_audio_urls and refer to them positionally in the prompt as @Image1, @Image2, … For native 2K output at the best value per second use the "minimax-h3-*" models (MiniMax H3, also called Hailuo 03): 4-15s, 768P/2K, always-on stereo audio, billed per second (25 credits/s at 768P, 40 at 2K). Note "minimax-h3-image-to-video" takes the first frame in image_urls[0] and an optional last frame in image_urls[1], and has NO aspect_ratio parameter — the ratio follows the frames; "minimax-h3-reference-to-video" requires at least one image OR video reference (audio alone is rejected) and accepts at most 5 reference images. For clips longer than 15 seconds use the "seedance-2-5-*" models, which generate up to 30 seconds (480p/720p only, no 1080p or 4K); the "seedance-2-0-*" models cap at 15 seconds but add 1080p and 4K. Note that supplying a video reference switches billing to per-second across input + output, so a long reference clip costs considerably more than the duration table suggests. When cost matters, call vicsee_estimate with the same arguments FIRST — it returns the exact credits this call will charge and creates nothing. IMAGE inputs (image_urls, reference_image_urls) may be a public https URL, a local file path (this server reads and base64-encodes it for you), or a base64 data URI. VIDEO/AUDIO inputs (reference_video_urls, reference_audio_urls) must be public https URLs. For video-edit models (e.g. "happyhorse-video-edit"), pass the source clip in video_url and optionally set audio_setting ("auto" or "origin"). Input images must have an aspect ratio between 0.4 and 2.5 (width÷height) and at most 36MP — wide-strip composites (e.g. 3:1) are rejected; use a 2×2 grid layout instead. On "failed" tasks, read error.key and error.message from vicsee_get_task — they state the actual reason (do not guess).
- **vicsee_get_task** — Poll a generation or upscale task by its id. IMPORTANT: finished media URLs are kept for 7 days only — result.expires_at is the exact time the URL stops working; download or re-host anything the user wants to keep. status is one of "pending" | "processing" | "queued" | "completed" | "failed". When "completed", the media URL is in result.url (videos/images) or result.songs (music). When "failed", details are in error. Poll every few seconds until completed or failed.
- **vicsee_upscale_image** — Upscale a publicly accessible image (JPEG/PNG/WebP). Asynchronous: returns a task id — poll vicsee_get_task until completed. upscale_factor defaults to "2" (max "4"). Credits are tiered by OUTPUT size (input megapixels × factor²): ≤24MP = 20, ≤48MP = 40, ≤96MP = 80; outputs above 96MP are rejected.
- **vicsee_upscale_video** — Upscale a publicly accessible video (MP4/MOV/MKV, up to 60s). Asynchronous: returns a task id — poll vicsee_get_task until completed. upscale_factor defaults to "2".
- **vicsee_get_credits** — Get the current VicSee credit balance for the configured API key.
- **vicsee_upload** — Upload a LOCAL file (image, video, or audio) from this machine and get back a public https URL. Use the returned url as an input for vicsee_generate — e.g. drop it into reference_image_urls for a reference-to-video storyboard, or image_urls for image-to-video. PREFER this over inline base64 for references: large base64 strings get truncated in tool-call output and the model rejects them. The file uploads directly to storage; only its public URL comes back.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "vicsee-mcp-server": {
    "command": "npx",
    "args": ["-y","@vicsee/mcp-server"],
    "env": {
      "VICSEE_API_KEY": ""
    }
  }
}
```

**Requires environment variables:** `VICSEE_API_KEY` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What vicseeai/vicsee-mcp-server MCP server does

The vicseeai/vicsee-mcp-server MCP server connects an MCP client to VicSee’s AI media API. It lets an agent inspect available models, create images or videos, edit supported media, upscale images and videos, check credit usage, and upload local source files for use in later requests.

Available model families include Seedance, Veo, Kling, FLUX, and Nano Banana, subject to what VicSee returns for the configured account. The model listing includes capabilities and credit costs, so an agent can select a model and construct a compatible request before starting a job.

## How it works

Generation and upscaling are asynchronous. A call to `vicsee_generate`, `vicsee_upscale_image`, or `vicsee_upscale_video` returns a task ID rather than waiting for the media to finish. The client should pass that ID to `vicsee_get_task` repeatedly until the task is completed or failed. Completed image and video tasks expose the output at `result.url`; failed tasks provide details in `error`.

For text-to-media requests, the agent supplies a prompt and model ID. Image-to-image and image-to-video requests can use `image_urls`. Reference-based video models accept image, video, and audio reference URL arrays, with prompt references such as `@Image1` resolved by position. Video-edit models accept a source `video_url` and can optionally use an audio setting.

The upload tool accepts a local image, video, or audio file and returns a public HTTPS URL. This is useful for supplying large reference inputs without placing their contents directly in a tool call. Image inputs may also be local paths or base64 data URIs; reference videos and audio must use public HTTPS URLs.

## Setup and configuration

Install the package through the MCP client’s stdio configuration:

```json
{
  "command": "npx",
  "args": ["-y", "@vicsee/mcp-server"],
  "env": { "VICSEE_API_KEY": "sk-your-key-here" }
}
```

Create the API key in VicSee under Settings and API. VicSee API access requires a paid plan or credit pack. `VICSEE_API_KEY` is required. `VICSEE_BASE_URL` is optional and can replace the default API base URL, `https://vicsee.com/api/v1`.

The README identifies Claude Desktop, Claude Code, Cursor, Hermes Agent, and OpenClaw as compatible clients or agent environments. For Claude Desktop, add the server to `claude_desktop_config.json`; Cursor uses its MCP settings. A local development build can also run with Node after installing dependencies and building the project.

## Tools and capabilities

- `vicsee_list_models` lists models, media types, capabilities, and credit costs, with optional media-type filtering.
- `vicsee_generate` starts image or video generation, editing, and supported reference-based workflows.
- `vicsee_get_task` retrieves task status and completed media URLs.
- `vicsee_upscale_image` handles public JPEG, PNG, or WebP images.
- `vicsee_upscale_video` handles public MP4, MOV, or MKV videos up to 60 seconds.
- `vicsee_get_credits` reports the balance for the configured API key.
- `vicsee_upload` publishes a local media file and returns its public URL.

Upscaling defaults to a factor of 2 when no factor is supplied. Generation and model-specific options must follow the capabilities returned by VicSee.

## Limitations and notes

Every generation consumes VicSee credits, and model costs vary. Agents should check the model list and credit balance before launching expensive jobs. The server does not make asynchronous work synchronous, so clients must implement polling and handle both completion and failure states.

Output links are served from VicSee’s CDN. Video and audio reference inputs need to be publicly reachable HTTPS URLs, while local files should be uploaded first when a public URL is required. The project is licensed under MIT.

_Full upstream README: https://allmcps.com/mcp/vicseeai-vicsee-mcp-server/readme_

