VIVID AI Studio

io.github.loopotvPublished by GitHub account loopotvv0.36.0Updated Nov 5, 2026

VIVID (vividai.tv) AI studio: product photos, videos, voice, music and timelines for e-commerce.

Overview

AI-generated overview

VIVID AI Studio MCP server for generating e-commerce product images, video, voice and music, and editing timelines from a chat client.

What you can do
  • Generate images and videos from prompts, with product, person or reference inputs, then poll jobs and fetch results
  • Browse the gallery and assets, download, share or favorite them, and upload local files or URLs as references
  • Manage saved products, testimonials, product reference sheets and visual QC comparisons
  • Create speech, music and sound searches, transcribe audio, and analyze tempo and beat points
  • Build and edit video-editor timelines headless, queue MP4 renders and check render status
  • Check account plan, credits and usage, list models with prices, and get a credit purchase link
When to use it
Useful when you want an assistant to produce or iterate on e-commerce visuals, product videos, voiceovers, music or edited timelines inside VIVID, and to check credits and job status without leaving the chat.
Requirements
A VIVID account and either an API key sent as an Authorization bearer header or OAuth sign-in through the connector flow. The remote endpoint needs no local runtime; the optional npx package needs Node.js 20+. Local-only tools such as download and UI recording need Chrome and, for MP4, ffmpeg.
Before you install
Generation consumes paid credits, and some tools state fixed credit costs; the agent never pays, but the user confirms purchases in the browser. The key or connector credential acts on your assets and credits. Tools write to your account, publish share links and upload files, and UI recording logs a local browser into your account. Remote mode requires public URLs for files.

Installation

In SourceWeft

  1. Open VIVID AI Studio in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.loopotv%2Fvivid-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "vivid-ai-studio": {
      "type": "http",
      "url": "https://mcp.vividai.tv/mcp"
    }
  }
}

README

vivid-mcp

MCP server for VIVID — the AI content studio for e-commerce. Connect your VIVID account to Claude Desktop, Claude Code, Cursor or any Model Context Protocol client and generate images and videos, browse your gallery and manage jobs from the chat.

What you can do

ToolWhat it does
vivid_whoamiAccount linked to the key: plan, credits
vivid_usageMonthly usage vs plan limits
vivid_buy_creditsLink where the user buys a credit pack or turns on auto top-up — the agent never pays, the user confirms in the browser
vivid_list_modelsImage / video / LLM models with prices and capabilities
vivid_generate_imageText-to-image (with optional product / person / context references), waits for the result
vivid_generate_videoStart a video (Seedance 2.5, Kling O3, MiniMax H3, Gemini Omni, LTX, Grok…)
vivid_job_statusPoll a job, get the asset and download URL
vivid_list_jobsRecent generations
vivid_list_assets · vivid_get_assetBrowse the gallery
vivid_download_assetSave an asset to a local folder
vivid_share_assetPublish an asset and get a share link, toggle favorite
vivid_upload_fileUpload a local file or URL to use as reference / start frame / audio
vivid_list_referencesSaved products (from product analysis) and testimonials / characters with names and ids — use the names in vivid_generate_image products / testimonials, like #Product / @Testimonial in the app
vivid_analyze_product · vivid_create_testimonialSave a product from a photo (free, plan quota) or create a reusable testimonial from three photos or attributes (50 credits) — both then usable by name
vivid_list_voicesTTS providers and preset voices with credit cost
vivid_chatOne chat completion on VIVID's LLM routing — Grok, Claude, OpenAI GPT, Kimi (Wavespeed)
vivid_generate_music · vivid_music_status · vivid_list_music_providersUnique track from a brief — Suno V6 (default, 6 credits for two takes, exact length for instrumentals) or MiniMax Music 3.0 (14 credits, length is a hint, trim in the editor); vocals optional, charged when ready. Rendering takes 20 s–3 min: the tool waits up to waitSec, then returns a taskId for vivid_music_status
vivid_analyze_audioTempo (BPM, beat grid) and transient peaks of a music/voice file, computed server-side (free): the cut points for a dynamic montage, also used automatically by CUT_TO_BEAT (grid beats | peaks)
vivid_search_soundsSearch Freesound.org for existing music, loops and sound effects (free). Commercial-safe licenses only by default (CC0, CC BY), with a ready attribution line for CC BY; returns MP3 preview URLs to drop into a timeline
vivid_transcribeSpeech-to-text (Deepgram Nova-3, free): per-word timestamps, readable cues, SRT/VTT export — from an asset, URL or local file
vivid_retouchEdit ONE object of an image (text target, region or mask), rest byte-identical — 2–6 credits
vivid_compare_productVisual QC of a render vs the SKU photo: match score, verdict, differences, fixPrompt — 1 credit
vivid_product_sheetReads the reference sheet of a saved product and the price of a new one (free)
vivid_create_product_sheetMakes the reference sheet: front, two angles and worn, each checked against the real photo (one free redo, refund if it still fails) — 13 credits, first one free on the free plan
vivid_generate_voiceText-to-speech: Gemini 3.1 Flash presets, MiniMax Speech 2.8 HD (presets, emotions, and voices the account holder saved in the VIVID web app after confirming they own the voice), OmniVoice voice design, Deepgram. It does not clone a voice from an audio file or URL
vivid_list_projectsYour projects
vivid_list_editor_projectsSaved video-editor timelines
vivid_create_editor_project · vivid_get_editor_project · vivid_edit_timelineBuild and edit video-editor timelines headless (clips, trims, speed, transitions, 16:9↔9:16, texts, masks, keyframes) with the same engine as the web editor — see Timeline editing
vivid_render_project · vivid_render_statusQueue an MP4 render of an editor project and poll it (see Rendering below)
vivid_record_uiScreen-record a scripted walkthrough of vividai.tv (or any site) with a local Chromium — cursor, smooth moves, click ripples — and upload it as a video asset (see UI recording below)

Setup

  1. Get an API key: sign in on vividai.tv → Settings → API key.
  2. Connect your client. Three ways, pick one:
HowNeeds Node?Local-only tools (vivid_download_asset, vivid_record_ui, local paths)
Remotehttps://mcp.vividai.tv/mcp + Authorization: Bearer vk_…nono
Connector (Claude.ai)https://mcp.vividai.tv/mcp with OAuth — no key to pastenono
Connector (ChatGPT)https://mcp.vividai.tv/chatgpt with OAuth — no key to pastenono
Claude Code plugin/plugin install vivid@vivid — OAuth, plus the VIVID skillsnono
Claude Desktop extensiondownload vivid-mcp.mcpb, double-click, paste the keyno (bundled runtime)yes
Local (npx)npx -y vivid-mcp with VIVID_API_KEYNode.js 20+yes
Command linenpx -y vivid-mcp call <tool> '<json>' with VIVID_API_KEY — no MCP clientNode.js 20+yes

Remote (nothing to install)

The same server runs as a Cloudflare Worker at https://mcp.vividai.tv/mcp (Streamable HTTP, stateless). Send your API key on every request:

bash
# Claude Codeclaude mcp add --transport http vivid https://mcp.vividai.tv/mcp --header "Authorization: Bearer vk_xxx"
json
// Cursor and other clients that take a URL + headers{ "mcpServers": { "vivid": { "url": "https://mcp.vividai.tv/mcp", "headers": { "Authorization": "Bearer vk_xxx" } } } }

GET https://mcp.vividai.tv/ answers with the version and the endpoint. Files must be public URLs (vivid_upload_file accepts a URL); outputDir / outputPath are ignored.

Connectors: ChatGPT, Claude.ai (OAuth)

Clients that cannot send a header authenticate with OAuth 2.1 instead. Add a connector with the URL https://mcp.vividai.tv/mcp (Claude.ai → Settings → Connectors → Add custom connector) or https://mcp.vividai.tv/chatgpt (ChatGPT → Settings → Connectors → Create) and pick OAuth. The client discovers /.well-known/oauth-protected-resource, registers itself (dynamic client registration) and sends you to vividai.tv/oauth/consent, where you sign in and click Authorize. Each connector gets its own credential (vc_…, never your API key) that acts on your assets and credits but cannot change the password, rotate the API key or delete the account; revoke it any time from Settings → Connected apps.

/chatgpt serves the same tools under OpenAI's plugin guidelines: no vivid_buy_credits (an out-of-credits error points to the informational page vividai.tv/credits, which has no checkout or upgrade button), no vivid_chat, no photos or recordings of a real person as inputs (vivid_create_testimonial takes attributes only, vivid_generate_image has no modelImageUrls, vivid_generate_video takes only audio made by vivid_generate_voice / vivid_generate_music and only gallery videos as references; every other image — frames, references, product and scene photos, retouch sources, vivid_upload_file — goes through the API's person check, which refuses a recognisable face). Replies leave out timestamps, raw project dumps, API paths and provider details.

Claude Code plugin (OAuth + skills)

This repo is also a Claude Code plugin and its own marketplace. It connects to the remote server with OAuth (no key to paste) and adds the skills in skills/ (product photos, product video, brand cast):

/plugin marketplace add loopotv/vivid-mcp/plugin install vivid@vivid

Then run /mcp, pick vivid and authenticate: the browser opens vividai.tv/oauth/consent. The manifest lives in .claude-plugin/; its version must match package.json (a test checks it), because installed plugins only update when it changes. Check it with claude plugin validate --strict ..

Claude Desktop (one-click extension)

Download vivid-mcp.mcpb and open it with Claude Desktop: it installs the server with its own Node runtime and asks for your API key (stored by Claude as a secret). Built with npm run build && npx @anthropic-ai/mcpb pack from manifest.json.

Local (npx, Node.js 20+)

Claude Code

bash
claude mcp add vivid -e VIVID_API_KEY=vk_xxx -- npx -y vivid-mcp

Claude Desktop

claude_desktop_config.json:

json
{  "mcpServers": {    "vivid": {      "command": "npx",      "args": ["-y", "vivid-mcp"],      "env": { "VIVID_API_KEY": "vk_xxx" }    }  }}

Cursor / other clients

Same command: npx -y vivid-mcp with VIVID_API_KEY in the environment.

Command line (no MCP client)

The same tools run from a shell, through an in-memory MCP client — same arguments, same validation, same results. This is what the vivid-studio skill uses in agents that have a terminal but no MCP connection.

bash
export VIVID_API_KEY=vk_xxxnpx -y vivid-mcp tools                       # every tool with its titlenpx -y vivid-mcp schema generate_image       # description + JSON schema of the argumentsnpx -y vivid-mcp call whoami                 # the vivid_ prefix is optionalnpx -y vivid-mcp call generate_image '{"prompt":"…","model":"nano-banana-2"}'npx -y vivid-mcp call edit_timeline @args.json   # or - to read stdin

The tool's text result goes to stdout; the exit code is 1 when the tool reports an error.

Environment

VariableRequiredDefault
VIVID_API_KEYyes—
VIVID_API_URLnohttps://vivid-api.vividoai.workers.dev

Example prompts

  • "Which video models do I have on VIVID and what do they cost?"
  • "Generate 2 images of a leather handbag on a marble counter, 4:5, with nano-banana-2."
  • "Upload ~/Desktop/bag.jpg and make a 10 s 9:16 video with Seedance 2.5 using it as the product reference. Tell me when it's done."
  • "Download my last video to ~/Downloads and give me a public link."
  • "Make a 30 s upbeat instrumental for a product film and save both takes to ./music."
  • "Transcribe ./voiceover.mp3 in Italian and write word-level SRT to ./subs.srt."
  • "Create a 9:16 editor project from my last two videos, cut each to 4 s with a dissolve between them, add the title 'New drop' for the first 3 s, then render it."
  • "In my last generated image, make the ring on the ring finger a plain yellow gold band, then compare it with ./sku/ring-01.jpg and tell me if it passes."

Timeline editing

vivid_create_editor_project / vivid_edit_timeline run the VIVID editor headless (vivid-editor-core, the same store and AI-command orchestrator the web editor uses) and save the project to your account, so anything you build here opens in vividai.tv/tools/editor and renders with vivid_render_project. Commands are { type, payload } objects (ADD_CLIP, UPDATE_CLIP, SPLIT_CLIP, SET_TRANSITION, SET_CANVAS_PRESET, ADD_TEXT, SET_ANIMATIONS, ADD_EFFECT, SET_MASK…) — the tool descriptions list them. Media is imported by VIVID asset id, URL or local path.

UI recording

vivid_record_ui drives a local Chromium through Playwright and records the session: you pass a list of steps (goto, click, hover, type, fill, press, scroll, wait, hide, evaluate, with Playwright selectors) and get back a crisp 2× video (2880×1800 for the default 1440×900 viewport) uploaded to your gallery, ready for vivid_create_editor_project / vivid_edit_timeline. The browser is logged into the account of VIVID_API_KEY automatically (the key is exchanged for a short-lived session through POST /api/me/session), a cursor with click ripples is drawn in-page, and the page-load lead is trimmed. Steps can be optional (skipped when their element is missing, e.g. a one-time onboarding dialog). No credits are charged.

Requirements on the machine running the MCP server: Google Chrome (or npx playwright install chromium) and, for MP4 output, ffmpeg on PATH (otherwise the raw webm is uploaded, which the editor renders fine). playwright-core is an optional dependency, loaded only when the tool is used.

Rendering

VIVID's video editor renders in the browser (Canvas2D + WebCodecs), so vivid_render_project does not produce the file by itself: it queues a render job and returns an openUrl. Open that URL in a browser where you are logged into vividai.tv (or pass openBrowser: true to open it on this machine) — the editor loads the project, exports it and uploads the MP4 to your gallery. vivid_render_status reports progress and the final asset; vivid_download_asset fetches it.

Credits

Every generation is charged in VIVID credits according to the model (per image, or credits/second × duration for video). vivid_list_models shows the exact prices; vivid_whoami shows your balance and whether auto top-up is on. Videos are pre-charged when the job starts.

Credits come from a plan or from credit packs (500 / 1,500 / 5,000 credits from €12.99, valid 12 months, no subscription needed). When credits run out mid-job, the failing call returns a top-up link: the agent shows it, you pay in the browser, the agent retries — finished work is kept. vivid_buy_credits returns the same link on demand, sized to the credits still missing. With auto top-up on (Billing page on vividai.tv) the job doesn't stop at all: below your threshold VIVID buys the same pack again on your saved card, within a monthly cap you set and at most 5 times a day. Nothing in the MCP can charge your card or switch auto top-up on.

Development

bash
npm installnpm run typechecknpm testnpm run inspect   # opens the MCP Inspector against the built server

npm run build compiles to dist/; the prepare script runs it automatically when the package is installed from GitHub.

License

MIT

Skills

skills/ holds the skill bundles (one folder, one SKILL.md each, open SKILL.md format):

  • vivid-studio — the whole studio in one skill: images, retouch and QC, video, voice, music, transcription, timeline editing and render, screen recording. SKILL.md routes to references/*.md per area and runs the tools through MCP when connected, otherwise through the command line above.
  • vivid-product-photos, vivid-product-video, vivid-brand-cast — narrower skills submitted with the ChatGPT app.

They are plain instructions on top of the tools above — no code of their own. Zip a skill folder (cd skills && zip -r vivid-studio.zip vivid-studio) to publish it on a skills marketplace.

Source: README.md at commit 21341dd

Tools

0
This server asks you to sign in, so SourceWeft could not read its tools without an account and has not indexed them. What a connected account sees can depend on that account and its permissions.

Version history

1
  1. v0.36.0LatestNov 5, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts