Creative Claw
Create images, video & audio
- Category
- Content & Design
- Primary Subcategory
- Cloud File Storage
Integration details
Description
Create and edit images, videos, and voiceovers in ChatGPT. Start with Nano Banana 2 for fast, cost-efficient image generation; use Gemini Omni, Seedance 2.5, or H3 Max for video; and ElevenLabs for natural speech and consented voice clones. Turn product photos into campaign assets, plan storyboards, keep Characters consistent across scenes, assemble multi-shot first cuts, add captions, resize media, and save every result to a reusable asset library. Use Submit Feedback to report issues, request features or models, and flag generation-quality problems.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- Cloud File Storage
- Secondary Subcategories
- None listed
- Brand
- CreativeClaw
- Access
- Account required
- First tracked
- 2026-06-17
- Tool count
- 51
- Geography
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
ChatGPT Plugin Discovery Score
ChatGPT Plugin discovery is coming soon
ChatGPT can surface a Plugin when it matches a user's request.Your Plugin Discovery Score measures how often yours appears.
No spam. Unsubscribe any time.
What discovery looks like

Competing in ChatGPT Multi-Modal Generative Media Platforms
View Category51 tools agents can invoke
Auto-transcribe and burn karaoke-style subtitles onto a video. Returns a permanent URL to the subtitled video. Features word-level highlighting (karaoke effect), compatible Google Font overrides, customizable colors, and social-video-sized text. Tips: - Use words_per_subtitle=1 for TikTok/Reels style single-word subtitles. - Default bottom captions use a clipping-safe center/lower-middle band on every aspect ratio. - The default is a language-aware Noto Sans family with broad glyph coverage. - Omit font_name unless the user explicitly asked for a specific font. Never choose a font on the user's behalf. - A requested font must support the provided language's script; incompatible overrides are rejected before credits are charged.
add_subtitles
Create an assembled first cut by concatenating every rendered shot clip in order, optionally overlaying the project's single audioUrl narration track. This does not mix per-shot audio, add transitions, add captions, or perform a full sound mix. Saves assembledUrl, sets status to preview_ok, and opens the preview for the final approval gate. Run only after every intended shot has a clipUrl.
assemble_film
Check the status of a generation job. Returns the current status and, when completed, the permanent media URL. Call this after generate_image, generate_video, or an asynchronous media utility such as merge_media to poll for results. Typical generation times: - Images: 5–30s - Videos: 30s–2min - Media merges: usually a few seconds, but long inputs may take several minutes Statuses: - "queued" — waiting in generation queue - "in_progress" — actively generating - "delayed" — still running, but taking longer than expected - "completed" — done, media URL is available - "failed" — generation failed, error message is available
check_job
Clone a voice from a sample audio file and attach it to a Character (Instant Voice Cloning via ElevenLabs). Requires consent. After cloning, generate_speech with this character's id uses the cloned voice. Replaces any existing voice on the character.
clone_voice
Generate the same image with multiple models side-by-side for comparison. All models receive the same prompt and settings, and results are displayed together in a single view. Use this when the user wants to compare quality, style, or speed across different models before choosing one. All models run in parallel — total time equals the slowest model. Use list_models to discover available image models.
compare_models
Confirm that a file has been uploaded via the presigned URL from get_upload_url. Verifies the file exists in storage and activates the asset so it appears in search results. Call this only after the client successfully uploads local file bytes with the PUT command from get_upload_url. Do not call it after import_chatgpt_media, import_media, or upload_asset; those tools already finalize their assets. Example: confirm_upload({ asset_id: "550e8400-e29b-41d4-a716-446655440000" })
confirm_upload
Start a character-driven film project. Creates the project shell (status "drafting") and opens the film preview. Next: draft a script + shot list and save it with update_film_project, then show it to the user for approval (gate 1) before generating anything. Pass character_ids (from list_characters) for the cast and theme_id for the brand. A character_id can supply the Character image when generation has no primary image and can select its cloned voice for speech. When a storyboard already occupies image_url, pass Character identity separately through a reference field supported by the selected model.
create_film_project
Create a reusable template. Two kinds: - **html** — HTML/CSS with {{token}} placeholders rendered via headless Chromium → PNG. Provide html, width, height, parameters. Load fonts directly in the template HTML (`<link rel="stylesheet">`, `@font-face`, etc.). - **generative** — a prompt template with {{token}} placeholders rendered by a generative model. Provide media_type, recommended_model, prompt, optional model_params and reference_asset_ids. The reference assets are passed to the model as image inputs when supported. **Parameters:** types are `text`, `image_url`, `color`, `number`, `boolean`. Booleans can drive Mustache-style conditional blocks in the HTML/prompt body — `{{#name}}...{{/name}}` keeps the block when truthy, `{{^name}}...{{/name}}` keeps it when falsy. **Validation:** every {{token}} (and {{#name}}/{{^name}}/{{/name}} block marker) in the html or prompt must match a parameter name. Render with render_template.
create_template
Permanently remove an asset's stored file from Creative Claw storage and hide its library record. The asset will no longer appear in search results and its name is freed for reuse. This cannot be undone.
delete_asset
Delete a Character (soft-delete). If it has a cloned voice, the voice is also removed from ElevenLabs to free the account's voice slot.
delete_character
Delete a brand theme (soft-delete). If the deleted theme was the default, the oldest remaining theme is promoted.
delete_theme
Estimate the credit cost of one generation before submitting it, and compare that estimate with the current user's balance. This tool is read-only: it does not generate media or deduct credits. Use it when the user asks about cost, balance, affordability, or fitting a generation into a budget. Pass the same model and parameters you would send to the generation tool. If a video estimate exceeds the balance, the response may suggest cheaper MiniMax H3 Max Turbo or H3 Max settings. Every result is an estimate based on current pricing and request parameters. The final cost is confirmed after the generation finishes.
estimate_generation
Extract frames from a video as images. Returns permanent URLs to the extracted frame(s). Modes: - **single**: Extract one frame — first, middle, or last. Great for thumbnails. - **batch**: Extract frames at a regular frame-count interval. This does not accept exact timestamps. Tips: - Use single mode with position="middle" for a representative thumbnail - frame_interval means every Nth video frame and accepts 1-300; it is not measured in seconds - For example, frame_interval=12 at 24fps gives roughly 2 frames per second - Lower frame_interval = more frames extracted (higher cost) - max_frames accepts 1-500 and defaults to 100; every returned frame is uploaded and listed - Use a small max_frames to keep the response manageable
extract_frames
Generate a sound effect, ambience, or music track with ElevenLabs. Returns a permanent audio URL with an inline player. - Sound effects and ambience: model sfx/elevenlabs-sound-v2. Use duration_seconds, loop, and prompt_influence. - Music: model music/elevenlabs-music-v1. Use music_length_ms and force_instrumental. - Write a detailed prompt describing sources, timing, texture, space, intensity, and ending. For music, include genre, tempo, instruments, mood, structure, and whether vocals are wanted.
generate_audio
Generate 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, use generate_image rather than render_html_image. Use render_html_image only 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). Prefer Google Nano Banana 2 — it's the top pick for almost everything: - "image/nano-banana-2" — Google Gemini 3.1 Flash Image. ⭐ DEFAULT & TOP PICK — best all-around balance of quality, intelligence, speed, and cost [generate + edit] - "image/nano-banana-pro" — Google Gemini 3 Pro Image. Best for complex professional assets, precise multilingual typography, multi-reference compositions, and demanding edits [generate + edit] - "image/seedream-5-pro" — ByteDance Seedream 5 Pro via Pika. Flagship product/marketing generation and precise edits using up to 10 references; 1K/2K output [generate + edit] - "image/gpt-image-2.5-flare" — OpenAI GPT Image 2.5 Flare. Fast, high-quality everyday generation and editing [generate + edit] - "image/gpt-image-2.5-sunburst" — OpenAI GPT Image 2.5 Sunburst. Precision-focused instruction following, text rendering, transparency, and controlled editing [generate + edit] Default to image/nano-banana-2 as the cost-efficient choice for most work. 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, image/nano-banana-pro for complex professional assets, or image/seedream-5-pro for premium commercial imagery. 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 the `size` field for output dimensions. Supported values: "1:1" (1080x1080), "4:5" (1080x1350, IG portrait), "5:4" (1350x1080), "9:16" (1080x1920, story/reel), "16:9" (1920x1080, wide). These are normalized for the recommended image models. - 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. - width/height are still accepted for backwards compatibility but `size` is preferred — different models silently disagree on which dimension param they read, and `size` normalizes for you. - Set seed for reproducible results - For editing, strength controls how much to change: 0.0 = barely alter, 1.0 = completely reimagine (default 0.75) - Models marked [edit only] require image_url. Models marked [generate only] cannot edit. - Use get_model_params to discover model-specific parameters, then pass them via the "extras" field - 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_image
Generate speech audio from text using AI text-to-speech models. Returns a permanent audio URL with an inline audio player. Recommended TTS models (pass as the "model" parameter). Prefer ElevenLabs v3 — it's the top pick for almost everything: - "speech/elevenlabs-v3" — ElevenLabs v3. ⭐ DEFAULT & top pick — industry-leading naturalness, inline [audio tags] for emotion/delivery, voice cloning, 70+ languages. Use this unless there's a specific reason not to. Full guide: creative-claw://guides/speech/elevenlabs-v3 Default to speech/elevenlabs-v3 for narration, dialogue, multilingual speech, and expressive delivery. Use list_models to discover alternatives only when the user requests one or ElevenLabs cannot satisfy a required capability. Use get_model_params with the selected model ID before passing advanced settings. Tips: - ElevenLabs v3 (speech/elevenlabs-v3, the default) is the recommended model. Get the most out of it: - Inline [audio tags] shape delivery — drop them anywhere in the text and they're performed, not spoken. Emotion: [excited], [sad], [angry], [sarcastically], [curious], [nervous], [whispers], [shouting]. Non-verbal: [laughs], [chuckles], [sighs], [gasps], [clears throat], [coughs]. Pacing: [slowly], [fast-paced], [pause], [drawn out]. Accent/voice morph: [strong French accent], [pirate voice], [robotic tone]. Use 1 tag per 1–3 sentences — overuse flattens the effect; don't stack tags ([whispers][angry]); stick to known tags (made-up ones are ignored). - Pick a voice_id matching the brief from the curated list (see voice_id param). Omitting it gives Hale (confident American male). For multi-speaker dialogue, make one call per line with a distinct voice_id per character. - Tune delivery with extras: { voice_settings: { stability, similarity_boost, speed } } — stability 0.3 (Creative, most expressive, best for tags), 0.5 (Natural, default), 0.8 (Robust, may ignore tags). e.g. energetic ad: { stability: 0.3, similarity_boost: 0.7, speed: 1.05 }; calm narration: { stability: 0.5, speed: 0.95 }. - Keep each call under ~3000 chars; chunk long scripts on sentence boundaries and merge the resulting audio clips. Per-word timestamps are requested automatically (returned in structuredContent) for captions/lip-sync. - Full reference (voice table, tag vocabulary, dialogue & long-form recipes): resource creative-claw://guides/speech/elevenlabs-v3 - For multi-speaker dialogue in a single call, use Dia TTS (speech/dia-tts) with [S1]/[S2] speaker tags and cues like (laughs) - For expressive speech, use Orpheus TTS with tags like <laugh>, <sigh>, <gasp> - For xAI TTS (speech/xai-tts), voice_id is mapped to fal's voice field. It has 28 built-in voices; use the model guide for their tone descriptions. Square-bracket events such as [laugh], [chuckle], [sigh], [breath], [pause], and [long-pause] insert a sound or pause. Wrapping tags such as <whisper>...</whisper>, <emphasis>...</emphasis>, <slow>...</slow>, and <build-intensity>...</build-intensity> style a phrase. Do not send ElevenLabs forms like [laughs], [whispers], or [excited], and do not use the generic emotion field. For phone-call/IVR audio pass format: "mulaw" and sample_rate: "8000". Force a language with extras: { language: "es-ES" } (default is auto). See resource creative-claw://guides/speech/xai-tts for the full reference. - For voice cloning with Chatterbox, pass audio_url pointing to a reference audio sample (public mp3/wav). Never send ElevenLabs [bracketed] tags to Chatterbox; use only its supported angle tags: <laugh>, <chuckle>, <sigh>, <cough>, <sniffle>, <groan>, <yawn>, <gasp>. Known incompatible tags are sanitized server-side. - Use speed only when the selected model's runtime schema exposes it. For local xAI pace changes, use wrapping tags such as <slow>...</slow> and <fast>...</fast>. - Use emotion only for models such as MiniMax that expose a global emotion field. ElevenLabs and xAI use their own documented in-text controls instead. - Use get_model_params with any model ID (e.g. speech/elevenlabs-v3) for the full parameter list
generate_speech
Submit a video generation job using AI models. Returns a job ID immediately — video generation runs in the background (typically 30s–2min). The result renders automatically in an inline widget that polls for completion on its own — the user sees the video without any further action from you. Do NOT call check_job just to show or confirm the video. Call check_job ONLY when YOU need the final video URL for a follow-up step. Recommended models (pass as the "model" parameter). Prefer Google Gemini Omni 1.1 Flash — it's the top pick for almost everything: - "video/gemini-omni-flash" — Google Gemini Omni 1.1 Flash. ⭐ DEFAULT & TOP PICK — generally available multimodal video with native audio; turns text, images, reference images, or a source video into a new/edited clip [text + image + reference + edit] - "video/minimax-h3-max" — MiniMax H3 Max via fal. Fast 5–15s native-audio video at 480P/768P/1080P with strong prompt adherence, optional first/last frames, and up to 12 image/video/audio references using Image 1 / Video 1 / Audio 1 syntax [text + image + reference-to-video] - "video/minimax-h3-max-turbo" — MiniMax H3 Max Fast. Faster, lower-cost H3 Max route for quick text or image-to-video iteration [text + image] - "video/seedance-2.5" — Seedance 2.5 (ByteDance). Premium native-audio generation, 4–30s at 480p–1080p, optional first/last frames, and up to 50 multimodal references (30 images, 10 videos, 10 audio clips) [text + image + reference-to-video] - "video/seedance-2.0-mini" — Seedance Mini. Economical native-audio drafts with multimodal references at 480p/720p [text + image + reference-to-video] Default to video/gemini-omni-flash unless the request specifically calls for another model's specialty. Use Seedance 2.5 for premium long or reference-rich work, Seedance Mini for economical drafts, MiniMax H3 Max for fast cinematic native-audio clips, or H3 Max Fast when iteration speed matters most. Provide image_url to generate video from an image — the model's image-to-video endpoint is used automatically. Use list_models to discover other available models only when the user asks or the task requires a capability these recommendations do not cover. Use get_model_params with the selected model ID to see current parameters and reference limits. Chaining rule: if a downstream step depends on this video, you MUST call check_job with the returned job ID until status=completed, then pass the returned permanent video URL to the downstream tool. A queued or in_progress job ID is not a usable media input. Tips: - Provide image_url to generate video from an image — the correct endpoint is selected automatically - 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. - Provide both image_url + last_frame_url to generate a video transitioning between two frames (Veo 3.1, Kling v3 Pro, MiniMax H3 Max, and MiniMax H3) - Provide image_urls/video_urls/audio_urls only within the selected model's current limits. Seedance uses @Image1/@Video1/@Audio1; H3 Max references are normalized automatically to fal's Image 1/Video 1/Audio 1 syntax (or Pika's @ tokens where available) - For source and reference videos, Creative Claw checks supported input duration before charging. If a video exceeds the selected model's limit, no generation is submitted; use trim_video to shorten it or choose a compatible model. - For FLUX 3 extension, set model to video/flux-3, operation to extend, and pass the source clip as video_urls[0]. Other retake/extend/reframe calls use LTX 2.3 Fast - Set operation to audio_to_video with audio_urls[0], plus either image_url or a prompt; LTX 2.3 Fast is selected automatically - Set operation to animate_character with image_url (or character_id) and the driving performance in video_urls[0]; DreamActor v2 is selected automatically - Duration is model-dependent: Seedance 2.5 accepts integer strings "4" through "30"; Seedance Mini and H3 Max accept whole seconds in their current supported ranges. Use get_model_params for the exact selected model before generation - Resolution is model-dependent: pass the top-level resolution parameter using a value from get_model_params. MiniMax H3 Max defaults to 768P and also supports 480P and 1080P; standard H3 defaults to 768P and supports 2K - When animating a still image, explicitly request visible subject and environmental motion. Review the completed clip before describing it as animated; camera movement over a static subject may not satisfy the request. - Use get_model_params to discover model-specific parameters, then pass them via the "extras" field
generate_video
Retrieve the complete agent-ready prompt and generation hints for one Creative Claw example. Use after selecting an example from search_examples. Follow the workflow inside prompt; pass only its generation-prompt section, adapted for the user, to the named generation tool. Treat the example as a starting point: adapt its prompt to the user's subject and instructions, then use the compatible Creative Claw generation tool named inside the prompt. This tool only retrieves an example and never starts a generation. When requiresReference is true, ask whether the user wants to use the example's referenceImageUrl, provide their own image, or generate a new reference. If they choose generation and referenceExampleSlug is present, call get_example for that linked image example, generate it, then pass its output to the final generation. Never combine two examples' prompts into one model prompt.
get_example
Load a film project and show its preview (cast, script, shots, assembled cut).
get_film_project
Get all available input parameters for a specific AI model. Returns the full schema including parameter names, types, defaults, constraints, and descriptions. Use this to discover model-specific parameters before generation. Many models support custom params beyond the standard ones (prompt, width, height, seed, etc.). Pass discovered params via the "extras" field in generate_image, generate_video, or generate_speech. Example workflow: 1. list_models → find a model 2. get_model_params → see all its parameters 3. generate_image with extras: { "enable_safety_checker": false, "sync_mode": true } This is especially useful for: - Discovering model-specific features (LoRA weights, schedulers, safety toggles, image_size presets, etc.) - Finding the exact parameter names and valid values a model expects - Understanding which parameters are required vs optional
get_model_params
Fetch a brand theme. Themes are reusable brand configuration bundles (colors, fonts, logos, product images, etc.) stored as JSON — use them to keep generated media on-brand. Returns the theme's name, default status, and full data. Omit name to get the default theme.
get_theme
Get a presigned URL for uploading local file bytes directly to storage. Use this when the client can read a local file and make the PUT request itself, especially Codex and other local execution environments. Publicly downloadable URLs should use upload_asset instead. Do NOT use this for a file already pasted, attached, or generated in a ChatGPT conversation. Use import_chatgpt_media for an existing ChatGPT file, or import_media when the user still needs the interactive picker. Returns a temporary upload URL (valid for 1 hour) and an asset ID. After uploading the file, call confirm_upload with the asset ID to finalize. Workflow: 1. Call get_upload_url to get the upload URL and asset ID 2. Upload the file: curl -X PUT -H "Content-Type: video/mp4" -T /path/to/file.mp4 "<uploadUrl>" 3. Call confirm_upload with the asset ID to verify and activate the asset Example: get_upload_url({ content_type: "video/mp4", type: "video", name: "my-video" })
get_upload_url
Copy one image, video, audio, or ZIP file attached to or generated in ChatGPT into Creative Claw storage. Call this before using a native ChatGPT file with Creative Claw generation or editing tools. It returns a durable Creative Claw URL usable as image_url, media_url, audio_url, or video_url. If the media already has a publicly reachable URL, pass that URL directly to the destination tool instead.
import_chatgpt_media
Open an interactive upload UI for the user to choose images, videos, audio, fonts, or ZIP archives from their device. Call this tool when: - The user has local files and wants to choose them through the Creative Claw picker - The user wants to browse for or upload one or more files through the Creative Claw picker - The user wants to upload a reference image for editing or video generation - The user asks to upload or import media files from their device After the user uploads files through the UI, their permanent URLs will be provided. You can then use those URLs with generate_image, generate_video, remove_background, upscale_media, etc. ChatGPT: if the file is already pasted, attached, or generated in the conversation, do not open this picker. Call import_chatgpt_media with that native ChatGPT file instead.
import_media
Clean up an audio file using ElevenLabs Voice Isolator — removes background noise, music, and reverb so only the voice remains. **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:** mp3, wav, m4a, ogg, aac. **Pricing:** 80 credits flat per call, sized from current fal pricing and recent production usage.
isolate_audio
List all Characters (reusable personas). Returns each character's id, title, description, whether it has a cloned voice, and its reference image. Pass a character's id as character_id to generate_image / generate_video / generate_speech. The MCP client renders results as a thumbnail carousel — click a card to copy the character ID.
list_characters
List your film projects (newest first). Click a card to copy its id.
list_film_projects
List available AI models, filtered by category or search query. Categories: - "image" — models that generate and/or edit images - "video" — models that generate video from text and/or images - "speech" — text-to-speech models - "audio" — sound-effect, ambience, and music models Each model shows its capabilities in brackets: [generate], [edit], [image-to-video]. The returned model ID is what you pass as the "model" parameter to generate_image, generate_video, generate_speech, or generate_audio.
list_models
List the caller's reusable image templates. Use this to discover templates by name before calling render_template, e.g. "generate a LinkedIn card announcing X" → list_templates → find the LinkedIn one → render_template with the matching ID or name. By default each result is lean — id, name, description, and dimensions — so listing many templates stays cheap. Set include_html=true to also return each template's full HTML, parameter schema, and static-asset list (token + url). Use this when you want to inspect or tweak a template before re-saving it via update_template; otherwise leave it off. Names are case-insensitive and unique per user, so you can pass either the id or the name to render_template. The MCP client renders results as a thumbnail carousel — click a card to copy the template name (or tap the small ID pill to copy the UUID instead).
list_templates
List all brand themes. Returns each theme's name, default status, and a summary of stored keys (colors, fonts, logos, etc.). The MCP client renders results as a thumbnail carousel — click a card to copy the theme name (or tap the small ID pill to copy the UUID instead).
list_themes
Load an image from a URL and return it as base64 so you can see it in your context. Use this ONLY when: - The user explicitly asks you to look at / review an image - You need to iterate on a generated image (view it before deciding on edits) - You need to compare before/after versions of an image Do NOT call this automatically after every generate_image call — only when you or the user actually need to see the image to make decisions. The URL alone is usually sufficient to share with the user.
load_image
Create or update a Character — a reusable persona with a description and reference image. **To create a character:** 1. Collect name + description (appearance, personality, role) 2. Generate a reference image with generate_image using this prompt template (agentic_prompting: false): "Character reference sheet for [name]: [description]. Four views on a plain white background — front, 3/4 view, side profile, back — same pose, consistent lighting. Full body, head to toe. Clean studio style. No text or labels." 3. Call manage_character({ title, description, image_url }) **To add or replace a cloned voice:** After the Character exists, use the dedicated clone_voice tool with the Character id, a public audio sample URL, and explicit consent. **To update any field on an existing character:** Pass id + any fields to change (title, description, or image_url).
manage_character
Queue a media merge and return a job ID immediately. The merge runs in the background; call check_job with the returned job ID when you need the permanent output URL. Operations: - **merge_audio_video**: Combine a video with an audio track (e.g., add narration or music to a video). Provide video_url and audio_url. - **merge_videos**: Concatenate multiple videos back-to-back in order. Provide video_urls array. - **merge_audios**: Concatenate multiple audio files in order. Provide audio_urls array. Each job accepts at most 5 audio inputs. If more than 5 are supplied, only the first 5 are merged; check_job returns the exact follow-up audio_urls list, with the newly merged audio first, so you can call merge_media again. Repeat until no continuation is requested. Common workflow: generate a video with generate_video, generate narration with generate_speech, then merge them with merge_audio_video. Tips: - For merge_audio_video, if the audio is longer than the video (or vice versa), the output length matches the shorter one - Videos being merged should ideally have the same resolution and codec for best results - Use scale_video/trim_video to adjust videos before merging if needed
merge_media
Turn on a one-time email update for an authenticated user's long-running generation job. Intended for the Creative Claw media viewer UI.
notify_job
Remove the background from an image or video using AI. Returns a permanent URL to the result. - For **images**: produces a transparent PNG. Just provide the URL and type=image. - For **videos**: uses BEN v2 AI segmentation with temporal consistency. Supports webm (true alpha) or mp4 output. Video background removal costs 120 credits. Tips: - For videos, webm gives true transparency. mp4 produces black background unless composited.
remove_background
Render HTML/CSS to a PNG image via headless Chromium. Use this when the user explicitly asks to render HTML/CSS, provides HTML, or requests a deterministic, pixel-controlled layout assembled with web code. 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. **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.
render_html_image
Render an HTML/CSS/JS composition to an MP4 video using HyperFrames on Modal.com. Use only when the user explicitly asks for HTML-to-video, HyperFrames, code-driven motion, supplies animated HTML, or explicitly chooses this method for an overlay or title card. Do not select it for an ordinary video-generation or text-overlay request. **This tool is asynchronous.** It returns immediately with a `jobId` and `status: "in_progress"`. Rendering typically takes 30–120 s; long or high-frame-count compositions can take a few minutes. Call `check_job` with the returned `jobId` to poll for completion. Animate elements using GSAP, CSS transitions, or HyperFrames data-* timing attributes. Tailwind CSS works out of the box. Web fonts work via @font-face, @import, or a <link> tag. For audio, add a timed `<audio id="..." src="https://..." data-start="0" data-duration="...">` element. Use an absolute HTTP(S) URL. Inline base64/data/blob URLs, relative paths, and `<source>`-only audio are unsupported. If authored audio is missing or digitally silent in the encoded file, the render fails and is refunded instead of returning a silent video. Common sizes: 1920×1080 (16:9), 1080×1920 (9:16 vertical), 1080×1080 (square). Pricing starts at 5 credits and includes the first 15 effective seconds. Each additional 15 effective seconds costs 1 credit. Effective seconds = duration × (output pixels / 1920×1080) × (fps / 30), so longer, higher-resolution, and higher-FPS renders cost more. A renderer failure, encoded-file dimension mismatch, or authored-audio validation failure is refunded automatically.
render_html_video
Render a saved template one or more times with different parameter values. Returns PNG images. **Multi-variant rendering (the common case):** pass `renders` as an array — each entry is the per-variant modifications. Great for "give me 3 versions of this card with different headlines" or "render this template for X, Y, Z". Up to 4 variants per call. All variants share the same template and size; only `modifications` differs per variant. Charged 4× for 4 variants etc. **Single render:** pass `renders` as a 1-element array. **Looking up the template:** pass either template_id (UUID) or template_name (case-insensitive). If you don't know which template to use, call list_templates first. **How modifications work:** - Pass values keyed by parameter name, e.g. { headline: "Launch day!", hero_image: "https://..." } - Missing parameters fall back to their defaults. Required parameters with no default and no value error out. - Text values are HTML-escaped. image_url values are fetched server-side and inlined as data URIs. - Static assets defined on the template (logos, etc.) are always included. **Failure semantics:** all-or-nothing credit charge. If any variant fails to render, the entire credit charge is refunded. Successful variants are still returned so you can see what worked.
render_template
Resize or reformat a video to target dimensions. This is a standard FFmpeg resize operation—not AI upscaling—and does not add visual detail. Returns a permanent URL to the scaled video. Great for reformatting video for different platforms (e.g. 16:9 → 9:16 for Reels/TikTok). Use upscale_media when you want AI enhancement or higher-quality resolution. Tips: - Provide just width or just height to maintain aspect ratio. - Width and height must be even numbers. - Use mode=pad for letterboxing, mode=crop for center-crop.
scale_video
Search your media library. Assets include images, videos, audio, 3D models, documents, and ZIP archives that were generated, uploaded, or imported — each has a permanent URL, optional name, tags, and description. Filter by type, text query (matches name/description/prompt), tags, name, or source. Results ordered newest-first. Examples: search_assets({}) → recent assets. search_assets({ type: "image", query: "sunset" }) → matching images. search_assets({ tags: ["brand"] }) → tagged assets.
search_assets
Search Creative Claw's curated prompt examples for inspiration or a close starting point. Use when the user asks for examples, references, prompt ideas, a particular creative style, or something similar to an existing concept. All filters are optional; omit them to browse the catalog. Results are lean summaries and previews, not generation jobs. Do not call this before every generation automatically. After the user or agent selects an example, call get_example to retrieve its complete prompt. Then adapt that prompt to the user's subject and use the compatible Creative Claw generation tool named inside it.
search_examples
Report product feedback about Creative Claw — bugs, missing capabilities, confusing flows, or praise. Use this when the user asks to report feedback. You may also suggest it when you observe meaningful product friction, but do not send until the user approves: - The user wanted something no tool can do → category 'missing_feature'. - A tool errored, returned wrong/poor output, or you had to retry/work around it → 'bug'. - A tool, parameter, or its output was confusing or hard to use → 'confusing'. Set source='agent' for the above — you are reporting what you observed. Also use it to relay the user's OWN feedback (quote them) → source='user'. If the user expresses a wish, complaint, or compliment about the app, capture it here. Include known job or asset IDs in relatedIds; no lookup needed. It returns a short acknowledgement, does NOT cost credits, and never blocks the media workflow. One concise, specific report beats several vague ones.
submit_feedback
Record a privacy-safe interaction from a Creative Claw MCP App.
track_ui_event
Transcribe audio, video, or a public YouTube URL to text. Uploaded/direct media uses ElevenLabs Scribe with word-level timestamps and speaker diarization. YouTube URLs use the video's available captions with segment timestamps. **Caching:** Results are cached per organization by source URL. Calling `transcribe` with a URL that anyone in your org has already transcribed returns the existing transcript instantly with **no credits charged**. **Inputs (pass exactly one):** - `audio_url` — preferred. 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. - `video_url` — accepts a public YouTube watch/short URL directly. Other public video URLs are submitted to ElevenLabs when direct Scribe is available; the fal fallback extracts audio server-side. **YouTube:** Pass the YouTube URL directly in `video_url`; do not download it first. Creative Claw returns creator-provided or auto-generated captions when available. YouTube results have segment-level timestamps and no speaker diarization. If the video has no captions, upload its media file to transcribe the audio instead. **Google Drive:** Pass a public Google Drive video share link directly in `video_url`. Creative Claw resolves it server-side, sends it through the existing Modal audio-extraction worker, and then transcribes the durable extracted audio. The file never needs to be downloaded to the user's device. Public files up to 10 GB are supported; the link must allow anyone with the link to download the file. **Output:** YouTube caption results usually return completed immediately. Other media returns a job ID; use `check_job` until it completes. - Inline basics: full text, formatted text, language, duration, and word count. - Linked transcript JSON URL — YouTube JSON contains timestamped caption segments. For other media, `diarization_url` contains per-word timestamps + speaker IDs. **Supported formats:** audio — mp3, ogg, wav, m4a, aac. video — mp4, mov, mkv, webm and other formats supported by ElevenLabs. **Pricing:** YouTube caption lookup costs 2 credits. Other media costs ~44 credits/hour of audio through direct Scribe v2. A small hold is taken at submit time and reconciled against actual duration on completion. Cache hits cost nothing.
transcribe
Trim a video to a specific time range. Returns a permanent URL to the trimmed video. Each trim costs 2 credits. Specify start_time and either end_time or duration. If only start_time is given, trims 2 seconds from that point.
trim_video
Organize a media asset by setting its name, tags, or description. Assets are entries in your media library (images, videos, audio, 3D models). - **Name**: Unique per user — lets you reference assets by name instead of ID. - **Tags**: Labels for grouping (e.g. "brand", "logo", "draft"). - **Description**: Free-text description. Examples: update_asset({ id: "...", name: "my-logo", tags: ["brand"] }). Clear name: update_asset({ id: "...", clear_name: true }).
update_asset
Update a film project: save the script (logline + shots), advance status, attach generated assets, or change the cast/theme. Shots: pass the full `shots` array to replace the shot list (e.g. when first saving the script), OR `patch_shots` to merge changes into existing shots by id (e.g. after generating one shot's storyboard/clip — set its storyboardUrl/clipUrl/status). Each shot: { id, description, prompt?, narration?, storyboardUrl?, clipUrl?, audioUrl?, durationS?, model?, status? }. Status values: drafting → script_ok → storyboard_ok → rendering → preview_ok → final. Set status to reflect approval gates as the user approves.
update_film_project
Update an existing template's fields. Pass template_id or template_name, then any subset of fields to overwrite. Fields you omit are left alone. Kind cannot be changed after creation. **Replacement semantics:** parameters, model_params, and reference_asset_ids are fully replaced when passed. **Validation:** if html or prompt is replaced, every {{token}} must match a parameter — using the NEW parameters when also passed in the same call.
update_template
Create or update a brand theme. Themes store colors, fonts, logos, a markdown `notes` field (voice / audience / tone / do's-and-don'ts), a reference image, and any brand elements used for consistent media generation. Two modes: - **interactive** (`interactive: true`) — opens the visual editor in the chat for the user to drop fonts/colors/logos and click save. Use this for "edit my theme" / "help me set up a brand" style requests. - **direct** — pass `data`, `images`, and/or `set_default` to mutate without UI. Shallow-merges `data` by default; pass `override: true` to replace it entirely. `images` is always replaced. First image becomes the thumbnail. Creates a new theme if the name doesn't exist. First theme auto-becomes default. Examples: - update_theme({ interactive: true }) // create a new theme via the editor - update_theme({ name: "Acme", interactive: true }) // edit "Acme" in the editor - update_theme({ name: "Acme", data: { colors: [{ name: "Brand", hex: "#FF0000" }] } }) - update_theme({ name: "Acme", images: ["https://r2.../hero1.png"] })
update_theme
Add a file to your asset library by direct URL. This tool supports images, videos, audio, 3D models, and ZIP archives. HTML webpages and JSON/API responses are rejected. JSON-based glTF is accepted only when served as model/gltf+json with type 3d_model. ZIPs use type zip and are limited to 1 GiB. The check uses the server's Content-Type header and does not inspect file contents. The server stores accepted files permanently and returns a URL usable with other tools. Optionally set name, tags, and description for organization.
upload_asset
How do I improve a ChatGPT Plugin's discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
What are Creative Claw alternatives on ChatGPT?
As of 2026-09-11, Creative Claw competes with Deep Art AI, Fal, Higgsfield, Kolbo.AI, Krea, Magnific, Morphed, Morphix, OpenArt, Picsart, Pollo AI, Wixel in ChatGPT Multi-Modal Generative Media Platforms, ranked by public Discoverability Score.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.