A side-by-side look at the Creative Claw and VideoGen MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Creative Claw for multimedia process work over a hosted endpoint; choose VideoGen MCP for multimedia process over a hosted endpoint. You can also run both side by side in one mcpServers block.
mcp_ui_action, read_settings, update_settings.VIDEOGEN_API_KEY, VIDEOGEN_BASE_URL, VIDEOGEN_OAUTH_ISSUER, VIDEOGEN_OAUTH_SUPABASE_PROJECT_URL, VIDEOGEN_OPENAI_APPS_CHALLENGE_TOKEN.get_getting_started_guidance, get_async_tasks_guidance, get_workflows_guidance.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Multimedia Process | Multimedia Process |
| Quality signal | 59/100 · Good | 84/100 · Excellent |
| Install command | Confirmed | Confirmed |
| Transport | Remote HTTP/SSE | Remote HTTP/SSE |
| Auth | Not declared | API key required |
| Pricing | Not declared | BYOK (pay the provider) |
| Required env vars | None listed | VIDEOGEN_API_KEYVIDEOGEN_BASE_URLVIDEOGEN_OAUTH_ISSUERVIDEOGEN_OAUTH_SUPABASE_PROJECT_URLVIDEOGEN_OPENAI_APPS_CHALLENGE_TOKEN |
| Verified owner | Community listing | Verified |
| GitHub stars | 2 | 4 |
| Directory activity | 3 views 0 installs 0 upvotes | 10 views 0 installs 0 upvotes |
| Tools | 55 | 50 |
| Full listing | View Creative Claw | View VideoGen MCP |
mcp_ui_actionRoute Creative Claw UI-only actions, including strict video approval, video render mode, job notifications, and narrowly scoped UI diagnostics. Unknown actions and invalid payloads are rejected.read_settingsRead Creative Claw plugin settings for the settings page.update_settingsSave changed Creative Claw plugin settings from the settings page.search_mentionsFind Characters, film projects, and brand themes to mention in a message.generate_imageGenerate or edit images using AI models. Use this for AI-generated visual assets, including branded social cards, banners, posters, product images, and images guided by a saved theme or reference image.
An explicit image-model choice always takes precedence: when the user names GPT Image 2.5, GPT Image 2, Nano Banana, Seedream, or another image model, call generate_image with that model. render_html_image is only for when the user explicitly asks to render HTML/CSS, supplies HTML, or requests a deterministic code-based layout.
**Two modes:**
- **Generate** (no image_url): Create an image from a text prompt.
- **Edit** (with image_url): Transform an existing image based on the prompt.
The result renders automatically in an inline widget that polls for completion on its own — the user sees the image without any further action from you. Do NOT call check_job just to display or confirm the result; that only adds redundant round-trips. Call check_job ONLY when YOU need the final image URL for a follow-up step (editing it, reusing it as a reference, saving, or posting it).
Recommended models (pass as the "model" parameter). The default is Google Nano Banana 2:
- "image/nano-banana-2": Google Nano Banana 2. Default for generation and targeted edits: strong instruction following, reference consistency, and balanced quality, speed, and cost [generate + edit]
- "image/nano-banana-pro" - Google Gemini 3 Pro Image. Complex professional assets, precise multilingual typography, multi-reference compositions, and demanding edits [generate + edit]
- "image/gpt-image-2.5-flare" - OpenAI GPT Image 2.5 Flare. Fast, high-quality everyday generation and editing [generate + edit]
Both GPT Image 2.5 variants support transparent backgrounds; otherwise use remove_background.
- "image/gpt-image-2.5-sunburst" - OpenAI GPT Image 2.5 Sunburst. Precision-focused instruction following, text rendering, and controlled editing [generate + edit]
Default to image/nano-banana-2 as the cost-efficient choice for most work, including targeted edits that should preserve the existing scene. For localized edits, keep the source aspect ratio unless reframing is requested, identify the small region to change, and inspect the result for unintended changes. Exact preservation outside that region requires compositing the edited region back into the original. Use image/gpt-image-2.5-flare for fast OpenAI image work, image/gpt-image-2.5-sunburst for precision-focused generation and tightly controlled edits, or image/nano-banana-pro for complex professional assets. Use list_models to discover other available models only when the user asks or the brief requires a capability these models do not cover. Use get_model_params with the selected model ID before passing model-specific parameters.
Chaining rule: if a downstream step depends on this image, you MUST call check_job with the returned job ID until status=completed, then pass the returned permanent image URL to the downstream tool. A queued or in_progress job ID is not a usable media input.
Tips:
- Use top-level `aspect_ratio` for the output shape when get_model_params lists it for the selected model. Unsupported shapes fail before credits are charged. The older `size` presets remain accepted for existing calls.
- For output detail, use the selected model's control in extras: `resolution` for Nano Banana and Seedream, or `image_size` for GPT Image pixel dimensions.
- In ChatGPT, call import_chatgpt_media for files already pasted, attached, or generated in the conversation. Call import_media only when the user needs the interactive upload picker. Use the durable Creative Claw URL returned by either tool.
- For custom dimensions, output format, or transparency, use only the settings returned by get_model_params for the selected model and pass them in extras.
- Put model-specific controls such as seed, strength, num_inference_steps, and guidance_scale in extras only when get_model_params lists them for the selected model. GPT Image 2.5 ignores legacy calls that include these controls.
- Models marked [edit only] require image_url. Models marked [generate only] cannot edit.
- Prompt rewriting is off by default. Preserve the user's prompt as written unless they ask for model-specific optimization; then set agentic_prompting=true.
- Use get_model_params to discover model-specific parameters. Pass output shape as top-level aspect_ratio and other model-specific controls through extras.
- extras.image_urls provides additional style/character reference images — NOT for compositing. Every URL must be public/directly fetchable or returned by import_media/import_chatgpt_media. The source image should always be passed via image_url. If you pass extras.image_urls without image_url, the first URL is automatically used as the source image.
- GPT Image 2.5 accepts up to 16 reference images. Keep individual references below the provider upload limit; compress oversized references or use a Nano Banana model when needed.generate_videoGenerate a video clip from text or references, animate a photo, or edit and extend footage. Generate film shots separately.
Prepare one keyframe per shot with generate_image at the final ratio unless the user wants text-to-video or supplies ready media. Use shared visual anchors. Use image_urls for visual references, image_url for a literal start frame, last_frame_url for a supported end frame. Describe subject, action, camera, timing, and audio. Use get_model_params for inputs, reference syntax, and limits.
Models (default video/gemini-omni-flash; list_models has more):
- gemini-omni-flash: also edits sources up to 10 s; no audio input.
- minimax-h3-max / -turbo: fast scenes with native audio, up to 15 s.
- seedance-2.5: cinematic, up to 30 s; 480p drafts, 1080p final.
- wan-3.0: scenes up to 30 s.
- heygen-avatar-4 / minimax-h3-max-lip-sync: talking photo with extras.audio_url. Lip Sync accepts 5 s to 15 min; length equals audio.
- kling-3.0-motion-control-pro: face/person swaps and motion transfer. Use a prepared scene image and face binding; see get_model_params.
- minimax-h3-max-recast: recast existing footage from an image reference. See get_model_params.
- Lip sync: sync-3 supports video_urls + audio_urls (or embedded audio), with automatic or manual speaker selection. heygen-lipsync accepts a video and replacement audio; its mode defaults to Precision.
- minimax-h3-max-extend / -insert: continue or replace an interval in video_urls.
Use check_job for completion when the client has no live result viewer. force_new requests another variation. Submitted renders cannot be canceled. Add sound with generate_music/generate_sound_effect and merge_media (compose_video or merge_audio_video with audio_mode=mix); plain merge_audio_video replaces sound. Captions: add_subtitles. Motion graphics: render_html_video.generate_speechGenerate speech from text or change the voice in existing speech with Cartesia. Returns completed media or a queued job ID that resolves through check_job.
ElevenLabs v4 (model: "speech/elevenlabs-v4") is the default for stock voices, general narration, expressive delivery, and multi-speaker dialogue. It supports 90+ languages, audio and sound-effect tags, and extras.dialogue with a public voice_id or saved character_id per turn. For dialogue, omit top-level text or pass text: "" if a cached client schema requires it. It accepts Stability and Similarity voice settings. The Creative Claw speech tool returns a queued audio asset.
Speak a cloned voice with its provider's model. clone_voice creates Cartesia clones by default: use Cartesia Sonic (model: "speech/cartesia-sonic") with the Character's character_id; it also speaks stock voices by voice_id. For an ElevenLabs clone, use Multilingual v2 (model: "speech/elevenlabs-v2") for a steady read, or v4 when expressive delivery or dialogue is needed. V2 has no square-bracket audio tags; use punctuation or sparse SSML breaks.
Use clone_voice to create a consented reusable voice first, then pass its returned character_id to generate_speech. Passing audio_url to generate_speech does not create a clone. A missing Cartesia provider copy can be created from the Character's retained consented source when needed.
Fish Audio Drama 3 (model: "speech/fish-drama-3") supports natural-language performance directions in brackets, scoped delivery tags and multi-speaker extras.dialogue. Use a curated public voice_id or a private cloned or designed Character. Native word timings drive transcript highlighting without another transcription pass. For a new synthetic Fish voice use design_voice with provider fish; for a consented recording use clone_voice with provider fish. Prices use UTF-8 bytes, including direction and speaker tags.
HeyGen Voice (model: "speech/heygen-voice-1") speaks public Orca voices with stock speed and voice-dependent pauses, or existing consented HeyGen instant Character clones with extras.expressiveness_boost (default 0.5). Get curated voices and exact control restrictions from get_model_params. Other providers' Characters are not automatically cloned into HeyGen.
Google Gemini 3.8 Flash TTS (model: "speech/gemini-3.8-flash-tts") is a direct expressive option with multilingual public voices and extras.style. It supports two-speaker extras.dialogue with public voice IDs; ElevenLabs v4 supports up to 10 voices in one dialogue request. Google voice replication is not available here.
Call get_model_params for each model you intend to use before generation. Read its current voice IDs, prompting techniques, supported parameters, limits, and dialogue syntax. Do not carry settings or tags from one model into another. Use list_models only when the user asks for more alternatives or the requested capability requires them.
Choose the model explicitly:
- speech/cartesia-voice-changer: pass an existing workspace speech clip as extras.audio_url and a public Cartesia voice_id or cloned Character character_id. Omit text. Price is based on the measured input duration.
- speech/fish-drama-3: Fish Audio directed speech with [natural language performance directions], sounds, pauses and paired delivery tags. Use voice_id for a public voice or character_id for a consented private clone. extras.dialogue supports multiple speakers with per-turn public voices or private Characters. Missing Fish Character copies are made from retained private source recordings and reused. UTF-8 byte pricing includes delivery and speaker tags. Call get_model_params for settings and curated voices.
- speech/cartesia-sonic: the default for cloned voices, with fast, natural delivery. Call clone_voice with provider cartesia first, then use the returned character_id here. Use voice_id for a stock public voice. get_model_params returns curated voices and Cartesia prompting controls. If a Character needs a Cartesia provider copy, it is created from the retained consented source when needed. Providers are never substituted silently.
- speech/gemini-3.8-flash-tts: direct Google premium speech with built-in and public Extended Library voices, or a saved Google designed Character voice via character_id. It supports extras.style performance direction and two-speaker extras.dialogue with public voices. Omit top-level text for dialogue; it is derived from the turns. Use design_voice with provider google to create a synthetic custom voice.
- speech/elevenlabs-v4: the default for stock voices, produced narration, expressive voiceovers, and multi-speaker dialogue. It supports up to 10 voices in one extras.dialogue request, using public voice IDs or saved Character voices, including voices created through design_voice, with contextual delivery, inline audio and sound-effect tags, and 90+ languages.
- speech/elevenlabs-v2 (Multilingual v2): the recommended ElevenLabs model for an existing cloned Character voice, especially for a steady read. Pass its character_id. V4 remains available when that clone needs expressive delivery or a dialogue turn. Do not select v2 for a stock voice merely because the script is corporate, educational, or long-form.
- speech/chatterbox: English-only one-off reference-audio voice matching, up to 5,000 characters.
- speech/chatterbox-multilingual: one-off reference-audio voice matching in its 23 listed languages, up to 300 characters. Without reference audio, pass the target language as voice_id. With extras.audio_url, omit voice_id, pass extras.custom_audio_language for the sample, and write the text in the target language. Persian is not supported.
- V2 does not support square-bracket performance tags: [calm], [excited], [pause], and [laughs] may be spoken aloud or misinterpreted. Use plain text and punctuation; sparse <break time="0.5s" /> pauses up to 3 seconds are supported by v2. V2 does not support phoneme tags.
- Put supported settings in extras.voice_settings. V2 supports stability, similarity_boost, style, use_speaker_boost and speed (0.7–1.2). V4 supports stability and similarity_boost; its dialogue path focuses on per-turn performance and does not take single-speaker voice settings.
- V4 supports stability and similarity_boost in extras.voice_settings. V4 does not use speed, style, or use_speaker_boost, and SSML is unsupported. Use inline [long pause], [whispers], [laughs], [door slams], or other concise audible directions. Inline IPA can guide a difficult pronunciation. Requests accept up to 10,000 characters.
- V2 example: generate_speech({ model: "speech/elevenlabs-v2", character_id, text: "Welcome to our annual conference.", extras: { voice_settings: { stability: 0.5, similarity_boost: 0.75, style: 0, use_speaker_boost: true, speed: 1 } } }). Reuse the same character_id to compare ElevenLabs and Cartesia; do not replace the source voice to switch models.
- V2 permits 10,000 characters per request. Split long copy at paragraph boundaries; extras.previous_text and extras.next_text supply adjacent context without speaking it. V2 detects language from the text; language_code is not sent to its API.
For every model you intend to use, call get_model_params({ model }) before generation. Read its current voice choices, prompting techniques, supported parameters, limits, and dialogue syntax. Do not copy settings or tags between providers.
Voice and language:
- generate_speech has no voice_description parameter and never creates a new voice from a prose description. A requested quality such as "young woman" must be satisfied by calling get_model_params and passing a matching existing voice_id. If the user explicitly wants a newly designed reusable voice, use design_voice preview and save instead.
- For stock ElevenLabs voices, call get_model_params for current voice IDs and settings. Select a voice matching the requested language, regional accent, and tone. If the user wants a choice, suggest at most two relevant voices; otherwise choose one. Hale is the default for an unspecified English voice, not a universal language default.
- Omitting voice_id for ElevenLabs selects Hale (dXtC3XhB9GtPusIpNtQx), a smooth, confident American male. Never claim Hale or any returned voice ID was synthesized from the user's prose. When reporting the selected voice, use only its catalog label and description from get_model_params; do not invent a name, biography, gender, accent, or voice description.
- The curated IDs are recommendations, not an allowlist. Users may pass an exact public ElevenLabs Voice Library ID from https://elevenlabs.io/app/voice-library. If it is not yet available in the Creative Claw ElevenLabs collection, the first generation verifies it is public, adds it on demand, and retries once. Private IDs from another account remain unavailable.
- Write the text in the target language; for v4, use extras.language_code for short or ambiguous text (for example, "es" for Spanish). A language code does not guarantee a native regional accent. Use normal spelling and punctuation; audition a short passage before generating a long script when pronunciation matters.
- For Roman Urdu advertising, use v4 with extras.language_code: "ur" and consider Haseeb (aPfeouerZvEVukwmLSP0), an energetic Hindi/Urdu male voice, over Viraj, whose slow breathy suspense delivery is a poor default for ads. Keep apply_text_normalization at "auto" unless there is a tested reason to disable it. Audition code-switched English terms first; v4 accepts inline IPA wrapped in slashes for a difficult word (for example /nʌld/), but pronunciation remains probabilistic.
Clone and reuse a voice:
- For the user's own voice or a voice they have permission to use, load the clone-voice skill and call clone_voice with the required consent. Cartesia is the default for a cloned voice. If the user wants an ElevenLabs clone, use v2 for a steady read or v4 when expressive delivery or a dialogue turn is required.
- Select an existing Character with list_characters or create one with manage_character. Upload a clean voice sample using get_upload_url or import_media with purpose: "voice_clone". Call clone_voice({ provider: "cartesia", character_id, audio_asset_id, consent: true }) for the preferred Cartesia route, or provider: "elevenlabs" when requested. Clone only after explicit agreement to the voice-cloning terms and privacy notice.
- After clone_voice succeeds, pass its returned character_id to generate_speech with the matching provider model. For example, generate_speech({ model: "speech/cartesia-sonic", character_id, text }) or generate_speech({ model: "speech/elevenlabs-v2", character_id, text }). A retained consented source can create the Character's Cartesia provider copy when needed. Passing audio_url to generate_speech does not create a reusable clone.
ElevenLabs v4 delivery (model "speech/elevenlabs-v4"):
- Use the existing voice_id or character_id. Voice identity is more faithful to the source recording, including its artifacts. Instant clones need no separate training; existing Professional Voice Clones need v4 fine-tuning. Audition before using a long script.
- Square-bracket directions support emotion, pacing, reactions and sound effects. Use only spoken lines and audible tags; SSML and speed sliders are unavailable.
- When a clone speaks another language, v4 normally uses a fluent accent in that language instead of carrying over the source-language accent. Test accent-sensitive localization first.
- For a multi-speaker scene, pass extras.dialogue: [{ speaker, text, voice_id }, { speaker, text, character_id }, ...]. Each turn selects a public voice_id or a saved Character clone with character_id. Omit top-level text and top-level voice selectors. If a cached client schema still requires text, pass text: "". V4 supports up to 10 voices. ElevenLabs recommends at most 2,000 total turn characters for reliable dialogue, but Creative Claw permits longer v4 requests up to the model's 10,000-character request limit. Longer dialogue may end early or be rejected by ElevenLabs; see get_model_params for the selected model. One job returns one audio file with speaker timing segments.
Async result: speech from ElevenLabs, Cartesia, Google, HeyGen, xAI, and Pika returns a job ID immediately (status "queued") instead of the audio. The Creative Claw player polls and posts the finished audio into the conversation, so do not wait when the user only wants to listen. When you need the audio for a next step (merge_media, editing, another tool), or no player is shown, call check_job with the job ID until it completes. Never call generate_speech again for the same text while its job is running.
Duplicate safety: if the exact same normalized parameters were submitted in this Creative Claw workspace within the last 10 minutes, an active job is reused or a completed result is returned without another provider submission or charge. The fingerprint includes every public top-level parameter and every nested extras value, regardless of model. Set force_new=true only when the user explicitly wants another paid variation from identical parameters.
If the user explicitly selects another speech model, honor that choice. Call get_model_params for each selected model and use only its supported parameters and prompting syntax.generate_musicGenerate a music track and return a permanent audio URL with an inline player. For full-length instrumentals or vocal songs, music/mureka-v9.5 supports custom lyrics, automatic lyrics, and audio style references. For background music or image-inspired tracks with approximate timing, music/lyria-3.5 accepts text and optional images. For exact duration or a selectable output format, use music/elevenlabs-music-v2.5. For remixing an existing vocal song or producing a song from a vocal recording, use music/mureka-remix with audio_url. Models: music/lyria-3.5 (default, optional image inspiration), music/mureka-v9.5 (direct V9.5, one MP3, optional audio_url or extras.reference_audio_url for style inspiration (extras wins if both are provided), automatically cut to its first 30 seconds; reference controls style instead of prompt; instrumental by default without lyrics, or custom-lyric songs for 30 credits; force_instrumental: false without lyrics generates automatic vocal songs for 100 credits; no duration or format controls), music/mureka-remix (remix an existing vocal song or turn a raw vocal recording into a produced song; requires audio_url; uploads managed internally; 40 credits with lyrics, 42 with automatic recognition; one MP3, provider chooses length), music/minimax-music-3 (lyrics-led songs up to five minutes, with seed and quality controls; WAV), and music/elevenlabs-music-v2.5 (exact duration and selectable format). Unknown IDs are rejected before charging. Resolve queued Lyria, Mureka, and MiniMax jobs with check_job. Use generate_sound_effect for non-musical sounds.generate_sound_effectGenerate a sound effect, Foley cue, transition, impact, texture or ambience. sfx/elevenlabs-sound-v2 stays the default, with seamless loops and up to 30 seconds. Choose sfx/mirelo-sfx-2.0 for text effects or video-conditioned audio using video_url, up to 600 seconds (video clamped to source length). Mirelo defaults to one sample and returns queued audio; use check_job. preserve_speech requests speech retention but does not guarantee identical dialogue. All final audio is saved with a permanent URL and inline player. Use generate_music for scores and songs.transcribeTranscribe audio or video to text. Social links use SocialKit first: YouTube and TikTok retrieve available captions; Instagram, Facebook, X/Twitter and LinkedIn use their transcript endpoints. If retrieval fails or cannot satisfy language_code, the same job downloads the source, extracts durable audio through Modal, and transcribes it with Scribe. Reddit (beta) skips transcript retrieval and imports available complete video attachments for Scribe. Private, deleted and streaming-only posts can fail.
Pass exactly one of audio_url or video_url. Direct media files and public Google Drive video links are also supported. Social links are accepted directly here; other media tools require upload_asset first. Returns a job ID; use check_job until completion. Captions have segment timestamps without speaker diarization. Scribe adds word timestamps, speakers and a linked diarization JSON.
Completed transcripts are cached per organization, source URL and requested language. Cache hits cost no credits. YouTube/TikTok caption retrieval costs 2 credits per source. Other SocialKit transcripts cost 4 credits per started minute. Download fallback costs 2 credits per started minute for hosted audio, plus Scribe (44 credits/hour direct, or 1.6 credits/minute through fal, rounded once). X/LinkedIn/Reddit attachment lookup costs 2 credits per post plus Scribe. Failed jobs are refunded. Existing provider fallbacks keep the same public job ID.isolate_audioClean up an audio file using ElevenLabs Voice Isolator. It removes background noise, music, and reverb so only the voice remains. The attached viewer shows the playable source, progress, and cleaned output.
**Workflow:** in ChatGPT, call `import_chatgpt_media` for an audio file already attached or pasted; call `import_media` only to open the upload picker. Then pass the durable URL here. Returns a job ID — poll `check_job` until status="completed" to get the cleaned audio URL.
**Supported formats:** audio — mp3, wav, m4a, ogg, aac. Video files such as mp4 or mov are also accepted in audio_url; the voice is isolated from the soundtrack and the output is audio only. To put the cleaned voice back on the video, use merge_media afterwards.
**Pricing:** 80 credits flat per call, sized from current fal pricing and recent production usage.render_html_imageRender HTML/CSS to a PNG image via headless Chromium. Use this when the user explicitly asks to render HTML/CSS, provides HTML, requests a deterministic, pixel-controlled layout assembled with web code, or needs an exact text watermark graphic for merge_media operation=overlay_images.
Do not choose this tool for ordinary AI image generation or editing, for applying a theme reference image generatively, or when the user names an image model. A request for a social card, banner, poster, or OG image by itself is not enough to select this tool; use generate_image unless the user specifically asks for HTML/CSS rendering or deterministic code-based layout.
**Tailwind CSS:** All Tailwind utility classes work out of the box — no CDN script or stylesheet needed. Just use classes like bg-blue-500, text-white, flex, rounded-xl, shadow-lg directly in your HTML.
**Full CSS surface:** flexbox, grid, filter (blur, grayscale, hue-rotate, drop-shadow), mask-image, object-fit, transform, gradients, <style> blocks, class selectors, pseudo-elements, variable fonts (all weights 100-900 + italic). Write HTML like you would for a real browser.
For a watermark graphic to place over video with merge_media operation=overlay_images, use transparent_background=true and keep the HTML canvas close to the visible text or logo. An opaque canvas covers the video behind it.
**Fonts:** Any web font works — this is a real browser. Load fonts directly in the HTML: `<link rel="stylesheet" href="...">`, `@import url(...)`, or `@font-face`. Works with Google Fonts, Bunny Fonts, Adobe Fonts, your own CDN, etc. For a custom/local font, pass it via inline_images and reference it from `@font-face { src: url('{{my_font}}') format('woff2'); }`. The renderer waits on `document.fonts.ready` before screenshotting, so whatever the page declares is what gets rendered. No default font is injected — be explicit.
**Typical cold-render time:** ~1-3s (first render pays the browser cold-start; subsequent renders reuse the browser and complete in ~700ms-1.5s). Concurrency is capped server-side.
For reusable code-based layouts, use create_template + render_template instead.get_getting_started_guidanceHow to authenticate, verify with get_me, introduce VideoGen with workflow example prompts, choose workflows vs media tools, and follow VideoGen id conventions. Call when connecting, onboarding, the user asks what VideoGen can do, or how to set up the API or MCP. Equivalent to reading the `guidance://getting-started` MCP resource — provided as a tool for clients that don't read resources directly.get_async_tasks_guidanceHow to handle async workflows, tool executions, and exports: statuses, hosted vs local wait caps, polling with get_* tools, and when webhooks apply outside MCP. Call before polling or when a start tool returns a still-running snapshot. Equivalent to reading the `guidance://async-tasks` MCP resource — provided as a tool for clients that don't read resources directly.get_workflows_guidanceCanonical run → remix → export flow and when to use each workflow tool. Prefer script_to_video for longer narrated / informational videos; keep storyboard_to_video to ≤3 scenes unless the user asks for more. Call before starting a full video project. Equivalent to reading the `guidance://workflows` MCP resource — provided as a tool for clients that don't read resources directly.get_tools_vs_workflows_guidanceWhen to use standalone media tools (automatic model routing for a single asset) versus workflows (full editable professional video). Call when choosing between generate_* tools and workflow tools. Equivalent to reading the `guidance://tools-vs-workflows` MCP resource — provided as a tool for clients that don't read resources directly.script_to_videoPreferred for narrated / informational / explainer videos from text, especially ~1 minute or longer. Turn a verbatim narration script into an editable video with AI-generated visuals and captions. Prefer this over storyboard_to_video unless the user wants a short shot-directed storyboard. For avatar narration, pass actorEntityId and optionally set avatarQuality.voiceover_to_videoBuild an editable video with AI-generated visuals from an uploaded voiceover audio file.slideshow_to_videoBuild an editable narrated video from an uploaded PDF or slideshow file. Upload the file first with upload_file, then pass its fileId. For avatar narration, pass actorEntityId and optionally set avatarQuality.storyboard_to_videoBuild an editable video from an ordered storyboard (frame-by-frame shot list). Every scene needs a visual prompt and may include spoken words. To show a saved product, actor, or visual style, pass productEntityIds, actorEntityIds, or visualStyleEntityId on each scene that should use that entity's reference images (create_entity and add_entity_reference first). A prompt alone does not attach those images. Much more credit-heavy than script_to_video: use at most 3 scenes unless the user explicitly asks for more. Prefer script_to_video for ~1 minute+ narrated / informational videos. If the user has not named a workflow, ask with pros/cons before calling this.prompt_to_video_clipGenerate one short AI video clip from a prompt inside an editable project.list_workflow_runsList workflow runs, most recent first.get_workflow_runFetch the current status and result of a single workflow run.cancel_workflow_runRequest cancellation of an in-progress workflow run.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"creative-claw": {
"url": "https://app.creativeclaw.co/mcp/chatgpt"
}
}
}
{
"mcpServers": {
"videogen-mcp": {
"command": "npx",
"args": [
"-y",
"@videogen/mcp"
],
"env": {
"VIDEOGEN_API_KEY": "YOUR_VIDEOGEN_API_KEY_HERE",
"VIDEOGEN_BASE_URL": "YOUR_VIDEOGEN_BASE_URL_HERE",
"VIDEOGEN_OAUTH_ISSUER": "YOUR_VIDEOGEN_OAUTH_ISSUER_HERE",
"VIDEOGEN_OAUTH_SUPABASE_PROJECT_URL": "YOUR_VIDEOGEN_OAUTH_SUPABASE_PROJECT_URL_HERE",
"VIDEOGEN_OPENAI_APPS_CHALLENGE_TOKEN": "YOUR_VIDEOGEN_OPENAI_APPS_CHALLENGE_TOKEN_HERE"
}
}
}
}