← ElevenLabsCONTENT HISTORY

Update to ElevenLabs

Snapshot Sep 30, 2026 · 22:53 UTC · version 1.0.0

Collection source: not recorded for this historical snapshot.

WHAT CHANGED · RULE-BASED ANALYSIS

First saved snapshot

No earlier snapshot is available to establish a change.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "name": "creative-studio",
  "description": "Generate and edit media through the connected ElevenLabs MCP server — speech, images, video, music, and transcription. Use when the user asks to generate a voiceover, image, video, or soundtrack, edit an image, or transcribe audio directly, rather than writing application code. Requires the ElevenLabs MCP server bundled with this plugin.",
  "included_files": [],
  "skill_md_contents": "---\nname: creative-studio\ndescription: Generate and edit media through the connected ElevenLabs MCP server — speech, images, video, music, and transcription. Use when the user asks to generate a voiceover, image, video, or soundtrack, edit an image, or transcribe audio directly, rather than writing application code. Requires the ElevenLabs MCP server bundled with this plugin.\nlicense: MIT\n---\n\n# ElevenLabs Creative Studio (via MCP)\n\nWorkflow guidance for the `creative_*` tools on the ElevenLabs MCP server. Every\ntool takes a `context` parameter — briefly state the user's goal in it. For\nbuilding media features into the user's own codebase (SDK, API), use the general\nskills instead (`text-to-speech`, `music`, `sound-effects`, `speech-to-text`).\n\n## How generations work\n\n- `creative_generate_speech`, `creative_generate_image`, and\n  `creative_generate_video` return immediately with a `flow_id`, `node_id`,\n  `session_ids`, and a canvas `url` the user can open to keep editing. If the\n  result doesn't render in a view, poll `creative_get_flow_run_status` until\n  `all_completed` or `has_failures` is true.\n- **Generations spend credits.** Pass `estimate_only: true` to price a long\n  video or a batch of variations before committing. Never call a generation\n  tool a second time to \"retry\" — that starts and charges a second generation.\n- `generations_count` defaults to 4 variations so the user can pick; keep the\n  default unless they ask for a specific number.\n\n## Speech\n\n- `voice_id` is required and only ever comes from `creative_list_voices` (or\n  the user) — never from memory. Pick a voice matching what the user described;\n  if they gave no hint, pick a clear general-purpose voice rather than asking.\n- Default model: `eleven_multilingual_v2`. Use `eleven_v3` when the script uses\n  inline audio direction tags like `[whispering]` or `[laughs softly]`.\n\n## Images\n\n- Default model: `gemini-2.5-flash-image`. Pick by need: `gpt-image-2` for\n  rendered text, infographics, UI mockups, or reference-driven edits;\n  `flux-2-pro` for fine detail and strict prompt adherence.\n- `creative_get_flow_node_types` lists what the workspace can run;\n  `creative_get_model_guide` explains how to prompt a specific model.\n\n## Flows: combining generations\n\n- Nodes on different flows cannot be connected. When one generation feeds\n  another (lipsync, a voiceover over video), call `creative_create_flow` first\n  and pass that `flow_id` to every related call.\n- Wire upstream nodes with `connect_from`. A `node_id` only ever comes from a\n  tool result or `creative_get_flow` — never invent one.\n- `creative_edit_image` requires `connect_from`: a node from an earlier\n  generation on the same flow, a library asset, or an upload.\n\n## Reference files and transcription\n\n- For a file already reachable (attached to the conversation, or a direct\n  link): `creative_attach_reference_file` — returns a node with content.\n- For a file on the user's machine: `creative_upload_flow_reference` — the node\n  stays empty until the user picks a file, so confirm it has an asset (via\n  `creative_get_flow`) before generating from it.\n- Transcribe with `creative_transcribe_audio`, passing the audio node's id as\n  `connect_from`; without it, a picker handles upload and transcription on its\n  own — don't call the tool again or poll while it's open.\n"
}

SHA-256: 2f78ba5872046ff7e1e1b87a4916ab17b2688237c04ba0f420d3b76739768871