← Creative ClawCONTENT HISTORY

Update to Creative Claw

Snapshot Oct 24, 2026 · 12:48 UTC · version 5.4.2

Collection source: downloaded plugin package.

WHAT CHANGED

Instructions updated for creativeclaw-create-avatar

Skill instructions — Now says: For each Creative Claw tool call that exposes it, pass the optional `skills_used` array with `creativeclaw-create-avatar`, any other Creative Claw skills...

Observed in instructions or declared skills. Runtime behavior has not been tested.

Save Creative Claw and check future changes in Following.

Up to 10 plugins free · no card required.

All fields and original values.

Skill instructions

Before

Oct 3, 2026 · 06:03 UTC

- **Own voice:** use creativeclaw-clone-voice when available, or the packaged [cloning workflow](references/voices/cloning.md): at least one minute of clean recording, private upload, explicit speaker consent, cloning

After

Oct 24, 2026 · 12:48 UTC

For each Creative Claw tool call that exposes it, pass the optional `skills_used` array with `creativeclaw-create-avatar`, any other Creative Claw skills actually followed, and guide entries in the form `<skill-name>/<relative-guide-path...

Supporting files

Before

Oct 3, 2026 · 06:03 UTC

[{"relative_path":"agents/openai.yaml","size_in_bytes":530},{"relative_path":"references/avatars/identity.md","size_in_bytes":4558},{"relative_path":"references/images/gpt-image-2.md","size_in_bytes":11212},{"relative_path":"references/i...

After

Oct 24, 2026 · 12:48 UTC

[{"relative_path":"agents/openai.yaml","size_in_bytes":530},{"relative_path":"references/avatars/identity.md","size_in_bytes":4558},{"relative_path":"references/images/gpt-image-2.md","size_in_bytes":11212},{"relative_path":"references/i...

Compare saved observations

Download comparison JSON

SKILL.md text changes

− removed · + added

--- before
+++ after
@@ -5,6 +5,10 @@
 
 # Create your avatar
 
+For each Creative Claw tool call that exposes it, pass the optional `skills_used` array with `creativeclaw-create-avatar`, any other Creative Claw skills actually followed, and guide entries in the form `<skill-name>/<relative-guide-path>` (for example, `creativeclaw-create-avatar/references/workflow-basics.md`). Include only skills and guides followed for that call. Omit attribution if the user declines tracking or the field is unavailable. Never send other plugin names, private data, or local paths.
+
+**Not connected yet?** If no Creative Claw tools (such as `list_models` or `generate_image`) are available, the plugin is installed but the server is not connected. Stop and tell the user to open the plugin's Connectors tab in their app (or the MCP server list in a terminal client), connect Creative Claw, sign in, and ask again. Do not substitute other tools or describe a result that was not generated.
+
 Use this for a reusable identity, not an ordinary one-off portrait. Read [shared execution guidance](references/workflow-basics.md), [upload routing](references/platform-upload.md), and [avatar and character-sheet production](references/avatars/identity.md).
 
 ## Create and save
@@ -22,7 +26,7 @@
 When the Character will speak and the voice is unknown, ask one question: design a new voice from a description (three auditions), use your own voice (recording plus consent), or pick a stock voice. If the voice doesn't matter, pick a stock voice and name it. Save every choice to the SAME character_id.
 
 - **Design** (fictional Character, or a voice that isn't the user's own): use `design_voice` and save the chosen preview to the SAME character_id; no recording or cloning consent is needed. Auditions use the Character's real lines. In ChatGPT the Voice Studio card saves the choice; read it back from `list_characters` rather than saving again. See [voice design](references/voices/voice-design.md).
-- **Own voice:** use creativeclaw-clone-voice when available, or the packaged [cloning workflow](references/voices/cloning.md): at least one minute of clean recording, private upload, explicit speaker consent, cloning and a short audition. Never infer cloning permission from photos, uploads or avatar creation. Replacing a source invalidates existing provider copies and needs explicit direction.
+- **Own voice:** use creativeclaw-clone-voice when available, or the packaged [cloning workflow](references/voices/cloning.md): one up-front ask for speaker consent and the recording's language, at least one minute of clean recording, private upload, cloning right after it and a short audition. Never infer cloning permission from photos, uploads or avatar creation. Replacing a source invalidates existing provider copies and needs explicit direction.
 - **Stock:** `manage_character({ id, voice_model, voice_id })` with an exact voice ID from `get_model_params`.
 
 Each saved voice speaks with its own model: designed ElevenLabs → `speech/elevenlabs-v4`; Google-designed → `speech/gemini-3.8-flash-tts`; Cartesia clone → `speech/cartesia-sonic`; ElevenLabs clone → v2 (steady) or v4 (expressive, dialogue); stock → its saved model. Read the selected [v4](references/voices/elevenlabs-v4.md), [v2](references/voices/elevenlabs-v2.md), or [Cartesia](references/voices/cartesia.md) guide and [language routing](references/voices/languages.md).
Full technical diff · 2 changed fields

changed /included_files

BEFORE
[
  {
    "relative_path": "agents/openai.yaml",
    "size_in_bytes": 530
  },
  {
    "relative_path": "references/avatars/identity.md",
    "size_in_bytes": 4558
  },
  {
    "relative_path": "references/images/gpt-image-2.md",
    "size_in_bytes": 11212
  },
  {
    "relative_path": "references/images/index.md",
    "size_in_bytes": 456
  },
  {
    "relative_path": "references/images/nano-banana-2.md",
    "size_in_bytes": 8855
  },
  {
    "relative_path": "references/images/nano-banana-pro.md",
    "size_in_bytes": 8824
  },
  {
    "relative_path": "references/images/seedream-5-pro.md",
    "size_in_bytes": 9556
  },
  {
    "relative_path": "references/job-recovery.md",
    "size_in_bytes": 3786
  },
  {
    "relative_path": "references/media-assembly.md",
    "size_in_bytes": 8654
  },
  {
    "relative_path": "references/platform-upload.md",
    "size_in_bytes": 1416
  },
  {
    "relative_path": "references/video/voice-in-video.md",
    "size_in_bytes": 3328
  },
  {
    "relative_path": "references/voices/alternatives.md",
    "size_in_bytes": 1807
  },
  {
    "relative_path": "references/voices/cartesia-sonic-guide.md",
    "size_in_bytes": 5007
  },
  {
    "relative_path": "references/voices/cartesia.md",
    "size_in_bytes": 2239
  },
  {
    "relative_path": "references/voices/chatterbox-guide.md",
    "size_in_bytes": 3493
  },
  {
    "relative_path": "references/voices/cloning.md",
    "size_in_bytes": 4372
  },
  {
    "relative_path": "references/voices/elevenlabs-v2-guide.md",
    "size_in_bytes": 8088
  },
  {
    "relative_path": "references/voices/elevenlabs-v2.md",
    "size_in_bytes": 1792
  },
  {
    "relative_path": "references/voices/elevenlabs-v3-guide.md",
    "size_in_bytes": 9402
  },
  {
    "relative_path": "references/voices/elevenlabs-v3.md",
    "size_in_bytes": 1938
  },
  {
    "relative_path": "references/voices/elevenlabs-v4-guide.md",
    "size_in_bytes": 8693
  },
  {
    "relative_path": "references/voices/elevenlabs-v4.md",
    "size_in_bytes": 2069
  },
  {
    "relative_path": "references/voices/languages.md",
    "size_in_bytes": 2853
  },
  {
    "relative_path": "references/voices/minimax-speech-guide.md",
    "size_in_bytes": 3449
  },
  {
    "relative_path": "references/voices/voice-design.md",
    "size_in_bytes": 2243
  },
  {
    "relative_path": "references/voices/xai-tts-guide.md",
    "size_in_bytes": 11625
  },
  {
    "relative_path": "references/workflow-basics.md",
    "size_in_bytes": 7260
  }
]
AFTER
[
  {
    "relative_path": "agents/openai.yaml",
    "size_in_bytes": 530
  },
  {
    "relative_path": "references/avatars/identity.md",
    "size_in_bytes": 4558
  },
  {
    "relative_path": "references/images/gpt-image-2.md",
    "size_in_bytes": 11212
  },
  {
    "relative_path": "references/images/index.md",
    "size_in_bytes": 575
  },
  {
    "relative_path": "references/images/nano-banana-2.md",
    "size_in_bytes": 9762
  },
  {
    "relative_path": "references/images/nano-banana-pro.md",
    "size_in_bytes": 8798
  },
  {
    "relative_path": "references/images/seedream-5-pro.md",
    "size_in_bytes": 10038
  },
  {
    "relative_path": "references/job-recovery.md",
    "size_in_bytes": 3786
  },
  {
    "relative_path": "references/media-assembly.md",
    "size_in_bytes": 8654
  },
  {
    "relative_path": "references/platform-upload.md",
    "size_in_bytes": 1416
  },
  {
    "relative_path": "references/video/heygen-lipsync.md",
    "size_in_bytes": 11997
  },
  {
    "relative_path": "references/video/spoken-languages.md",
    "size_in_bytes": 7949
  },
  {
    "relative_path": "references/video/voice-in-video.md",
    "size_in_bytes": 4887
  },
  {
    "relative_path": "references/voices/alternatives.md",
    "size_in_bytes": 1943
  },
  {
    "relative_path": "references/voices/cartesia-sonic-guide.md",
    "size_in_bytes": 5002
  },
  {
    "relative_path": "references/voices/cartesia.md",
    "size_in_bytes": 2238
  },
  {
    "relative_path": "references/voices/chatterbox-guide.md",
    "size_in_bytes": 3509
  },
  {
    "relative_path": "references/voices/cloning.md",
    "size_in_bytes": 6290
  },
  {
    "relative_path": "references/voices/elevenlabs-v2-guide.md",
    "size_in_bytes": 8079
  },
  {
    "relative_path": "references/voices/elevenlabs-v2.md",
    "size_in_bytes": 1786
  },
  {
    "relative_path": "references/voices/elevenlabs-v3-guide.md",
    "size_in_bytes": 9376
  },
  {
    "relative_path": "references/voices/elevenlabs-v3.md",
    "size_in_bytes": 1935
  },
  {
    "relative_path": "references/voices/elevenlabs-v4-guide.md",
    "size_in_bytes": 8693
  },
  {
    "relative_path": "references/voices/elevenlabs-v4.md",
    "size_in_bytes": 2069
  },
  {
    "relative_path": "references/voices/fish.md",
    "size_in_bytes": 17534
  },
  {
    "relative_path": "references/voices/heygen.md",
    "size_in_bytes": 3560
  },
  {
    "relative_path": "references/voices/languages.md",
    "size_in_bytes": 4133
  },
  {
    "relative_path": "references/voices/minimax-speech-guide.md",
    "size_in_bytes": 3490
  },
  {
    "relative_path": "references/voices/speech-localization.md",
    "size_in_bytes": 3869
  },
  {
    "relative_path": "references/voices/voice-design.md",
    "size_in_bytes": 3897
  },
  {
    "relative_path": "references/voices/xai-tts-guide.md",
    "size_in_bytes": 11591
  },
  {
    "relative_path": "references/workflow-basics.md",
    "size_in_bytes": 10396
  }
]

changed /skill_md_contents

BEFORE
"---\nname: creativeclaw-create-avatar\ndescription: Create a reusable personal avatar or fictional Character from photos or a brief, generate and approve a consistent character sheet, save it in Characters, and optionally give it a voice (designed, cloned with consent, or stock).\n---\n\n# Create your avatar\n\nUse this for a reusable identity, not an ordinary one-off portrait. Read [shared execution guidance](references/workflow-basics.md), [upload routing](references/platform-upload.md), and [avatar and character-sheet production](references/avatars/identity.md).\n\n## Create and save\n\n1. Search list_characters for an existing match. Reuse its ID when updating the same avatar; do not create duplicates.\n2. For a personal avatar, ask for a few clear photos, ideally a front face, three-quarter/side view and useful body/wardrobe view. Use available photos if sufficient; do not demand a fixed count or invent unseen personal details. For a fictional Character, use the approved brief instead.\n3. Import attached/local photos using the appropriate client route. Choose the strongest face anchor and assign other photos explicit identity, proportions or wardrobe roles.\n4. Use generate_image and current model parameters to create one consistent character-sheet direction. The identity reference explains layout and prompting. Preserve approved likeness rather than beautifying or redesigning the person.\n5. Show the completed sheet and ask for likeness/canonical-state approval before saving it as the Character visual. Honor approval already given for that exact result.\n6. Save using manage_character({ title, description, image_url }) or id plus changed fields for an existing Character. The description records stable appearance, not a temporary scene. Save the approved sheet as the canonical image and retain a clean face portrait and other views as named assets for downstream use. For a real person, keep their best original photo as an extra identity reference beside the sheet; generated sheets drift. Later video keyframes use one image model for the whole project (default `image/nano-banana-2`); the sheet stays a valid anchor whichever model made it.\n7. Return the saved Character ID/name and explain that future requests can name it. State what was saved and any likeness limitations. Do not claim a trained visual identity model or guaranteed consistency.\n\n## Optional voice\n\nWhen the Character will speak and the voice is unknown, ask one question: design a new voice from a description (three auditions), use your own voice (recording plus consent), or pick a stock voice. If the voice doesn't matter, pick a stock voice and name it. Save every choice to the SAME character_id.\n\n- **Design** (fictional Character, or a voice that isn't the user's own): use `design_voice` and save the chosen preview to the SAME character_id; no recording or cloning consent is needed. Auditions use the Character's real lines. In ChatGPT the Voice Studio card saves the choice; read it back from `list_characters` rather than saving again. See [voice design](references/voices/voice-design.md).\n- **Own voice:** use creativeclaw-clone-voice when available, or the packaged [cloning workflow](references/voices/cloning.md): at least one minute of clean recording, private upload, explicit speaker consent, cloning and a short audition. Never infer cloning permission from photos, uploads or avatar creation. Replacing a source invalidates existing provider copies and needs explicit direction.\n- **Stock:** `manage_character({ id, voice_model, voice_id })` with an exact voice ID from `get_model_params`.\n\nEach saved voice speaks with its own model: designed ElevenLabs → `speech/elevenlabs-v4`; Google-designed → `speech/gemini-3.8-flash-tts`; Cartesia clone → `speech/cartesia-sonic`; ElevenLabs clone → v2 (steady) or v4 (expressive, dialogue); stock → its saved model. Read the selected [v4](references/voices/elevenlabs-v4.md), [v2](references/voices/elevenlabs-v2.md), or [Cartesia](references/voices/cartesia.md) guide and [language routing](references/voices/languages.md).\n\n## Reuse\n\nFor identity-guided images, resolve the sheet/portrait into the selected model's supported reference fields. For video, make a clean keyframe per shot from the sheet and portrait; a sheet grid is never a literal opening frame. `character_id` appends the saved image to `image_urls` as a reference, never a start frame. Use it in reference mode; omit it with `image_url`/`last_frame_url` (the server rejects that mix).\n\nVisual and voice reuse are separate: a Character ID does not put its saved voice into native video dialogue. For speech in video, pick a path from [voice in video](references/video/voice-in-video.md).\n"
AFTER
"---\nname: creativeclaw-create-avatar\ndescription: Create a reusable personal avatar or fictional Character from photos or a brief, generate and approve a consistent character sheet, save it in Characters, and optionally give it a voice (designed, cloned with consent, or stock).\n---\n\n# Create your avatar\n\nFor each Creative Claw tool call that exposes it, pass the optional `skills_used` array with `creativeclaw-create-avatar`, any other Creative Claw skills actually followed, and guide entries in the form `<skill-name>/<relative-guide-path>` (for example, `creativeclaw-create-avatar/references/workflow-basics.md`). Include only skills and guides followed for that call. Omit attribution if the user declines tracking or the field is unavailable. Never send other plugin names, private data, or local paths.\n\n**Not connected yet?** If no Creative Claw tools (such as `list_models` or `generate_image`) are available, the plugin is installed but the server is not connected. Stop and tell the user to open the plugin's Connectors tab in their app (or the MCP server list in a terminal client), connect Creative Claw, sign in, and ask again. Do not substitute other tools or describe a result that was not generated.\n\nUse this for a reusable identity, not an ordinary one-off portrait. Read [shared execution guidance](references/workflow-basics.md), [upload routing](references/platform-upload.md), and [avatar and character-sheet production](references/avatars/identity.md).\n\n## Create and save\n\n1. Search list_characters for an existing match. Reuse its ID when updating the same avatar; do not create duplicates.\n2. For a personal avatar, ask for a few clear photos, ideally a front face, three-quarter/side view and useful body/wardrobe view. Use available photos if sufficient; do not demand a fixed count or invent unseen personal details. For a fictional Character, use the approved brief instead.\n3. Import attached/local photos using the appropriate client route. Choose the strongest face anchor and assign other photos explicit identity, proportions or wardrobe roles.\n4. Use generate_image and current model parameters to create one consistent character-sheet direction. The identity reference explains layout and prompting. Preserve approved likeness rather than beautifying or redesigning the person.\n5. Show the completed sheet and ask for likeness/canonical-state approval before saving it as the Character visual. Honor approval already given for that exact result.\n6. Save using manage_character({ title, description, image_url }) or id plus changed fields for an existing Character. The description records stable appearance, not a temporary scene. Save the approved sheet as the canonical image and retain a clean face portrait and other views as named assets for downstream use. For a real person, keep their best original photo as an extra identity reference beside the sheet; generated sheets drift. Later video keyframes use one image model for the whole project (default `image/nano-banana-2`); the sheet stays a valid anchor whichever model made it.\n7. Return the saved Character ID/name and explain that future requests can name it. State what was saved and any likeness limitations. Do not claim a trained visual identity model or guaranteed consistency.\n\n## Optional voice\n\nWhen the Character will speak and the voice is unknown, ask one question: design a new voice from a description (three auditions), use your own voice (recording plus consent), or pick a stock voice. If the voice doesn't matter, pick a stock voice and name it. Save every choice to the SAME character_id.\n\n- **Design** (fictional Character, or a voice that isn't the user's own): use `design_voice` and save the chosen preview to the SAME character_id; no recording or cloning consent is needed. Auditions use the Character's real lines. In ChatGPT the Voice Studio card saves the choice; read it back from `list_characters` rather than saving again. See [voice design](references/voices/voice-design.md).\n- **Own voice:** use creativeclaw-clone-voice when available, or the packaged [cloning workflow](references/voices/cloning.md): one up-front ask for speaker consent and the recording's language, at least one minute of clean recording, private upload, cloning right after it and a short audition. Never infer cloning permission from photos, uploads or avatar creation. Replacing a source invalidates existing provider copies and needs explicit direction.\n- **Stock:** `manage_character({ id, voice_model, voice_id })` with an exact voice ID from `get_model_params`.\n\nEach saved voice speaks with its own model: designed ElevenLabs → `speech/elevenlabs-v4`; Google-designed → `speech/gemini-3.8-flash-tts`; Cartesia clone → `speech/cartesia-sonic`; ElevenLabs clone → v2 (steady) or v4 (expressive, dialogue); stock → its saved model. Read the selected [v4](references/voices/elevenlabs-v4.md), [v2](references/voices/elevenlabs-v2.md), or [Cartesia](references/voices/cartesia.md) guide and [language routing](references/voices/languages.md).\n\n## Reuse\n\nFor identity-guided images, resolve the sheet/portrait into the selected model's supported reference fields. For video, make a clean keyframe per shot from the sheet and portrait; a sheet grid is never a literal opening frame. `character_id` appends the saved image to `image_urls` as a reference, never a start frame. Use it in reference mode; omit it with `image_url`/`last_frame_url` (the server rejects that mix).\n\nVisual and voice reuse are separate: a Character ID does not put its saved voice into native video dialogue. For speech in video, pick a path from [voice in video](references/video/voice-in-video.md).\n"
Full snapshot data
{
  "description": "Create a reusable personal avatar or fictional Character from photos or a brief, generate and approve a consistent character sheet, save it in Characters, and optionally give it a voice (designed, cloned with consent, or stock).",
  "included_files": [
    {
      "relative_path": "agents/openai.yaml",
      "size_in_bytes": 530
    },
    {
      "relative_path": "references/avatars/identity.md",
      "size_in_bytes": 4558
    },
    {
      "relative_path": "references/images/gpt-image-2.md",
      "size_in_bytes": 11212
    },
    {
      "relative_path": "references/images/index.md",
      "size_in_bytes": 575
    },
    {
      "relative_path": "references/images/nano-banana-2.md",
      "size_in_bytes": 9762
    },
    {
      "relative_path": "references/images/nano-banana-pro.md",
      "size_in_bytes": 8798
    },
    {
      "relative_path": "references/images/seedream-5-pro.md",
      "size_in_bytes": 10038
    },
    {
      "relative_path": "references/job-recovery.md",
      "size_in_bytes": 3786
    },
    {
      "relative_path": "references/media-assembly.md",
      "size_in_bytes": 8654
    },
    {
      "relative_path": "references/platform-upload.md",
      "size_in_bytes": 1416
    },
    {
      "relative_path": "references/video/heygen-lipsync.md",
      "size_in_bytes": 11997
    },
    {
      "relative_path": "references/video/spoken-languages.md",
      "size_in_bytes": 7949
    },
    {
      "relative_path": "references/video/voice-in-video.md",
      "size_in_bytes": 4887
    },
    {
      "relative_path": "references/voices/alternatives.md",
      "size_in_bytes": 1943
    },
    {
      "relative_path": "references/voices/cartesia-sonic-guide.md",
      "size_in_bytes": 5002
    },
    {
      "relative_path": "references/voices/cartesia.md",
      "size_in_bytes": 2238
    },
    {
      "relative_path": "references/voices/chatterbox-guide.md",
      "size_in_bytes": 3509
    },
    {
      "relative_path": "references/voices/cloning.md",
      "size_in_bytes": 6290
    },
    {
      "relative_path": "references/voices/elevenlabs-v2-guide.md",
      "size_in_bytes": 8079
    },
    {
      "relative_path": "references/voices/elevenlabs-v2.md",
      "size_in_bytes": 1786
    },
    {
      "relative_path": "references/voices/elevenlabs-v3-guide.md",
      "size_in_bytes": 9376
    },
    {
      "relative_path": "references/voices/elevenlabs-v3.md",
      "size_in_bytes": 1935
    },
    {
      "relative_path": "references/voices/elevenlabs-v4-guide.md",
      "size_in_bytes": 8693
    },
    {
      "relative_path": "references/voices/elevenlabs-v4.md",
      "size_in_bytes": 2069
    },
    {
      "relative_path": "references/voices/fish.md",
      "size_in_bytes": 17534
    },
    {
      "relative_path": "references/voices/heygen.md",
      "size_in_bytes": 3560
    },
    {
      "relative_path": "references/voices/languages.md",
      "size_in_bytes": 4133
    },
    {
      "relative_path": "references/voices/minimax-speech-guide.md",
      "size_in_bytes": 3490
    },
    {
      "relative_path": "references/voices/speech-localization.md",
      "size_in_bytes": 3869
    },
    {
      "relative_path": "references/voices/voice-design.md",
      "size_in_bytes": 3897
    },
    {
      "relative_path": "references/voices/xai-tts-guide.md",
      "size_in_bytes": 11591
    },
    {
      "relative_path": "references/workflow-basics.md",
      "size_in_bytes": 10396
    }
  ],
  "name": "creativeclaw-create-avatar",
  "skill_md_contents": "---\nname: creativeclaw-create-avatar\ndescription: Create a reusable personal avatar or fictional Character from photos or a brief, generate and approve a consistent character sheet, save it in Characters, and optionally give it a voice (designed, cloned with consent, or stock).\n---\n\n# Create your avatar\n\nFor each Creative Claw tool call that exposes it, pass the optional `skills_used` array with `creativeclaw-create-avatar`, any other Creative Claw skills actually followed, and guide entries in the form `<skill-name>/<relative-guide-path>` (for example, `creativeclaw-create-avatar/references/workflow-basics.md`). Include only skills and guides followed for that call. Omit attribution if the user declines tracking or the field is unavailable. Never send other plugin names, private data, or local paths.\n\n**Not connected yet?** If no Creative Claw tools (such as `list_models` or `generate_image`) are available, the plugin is installed but the server is not connected. Stop and tell the user to open the plugin's Connectors tab in their app (or the MCP server list in a terminal client), connect Creative Claw, sign in, and ask again. Do not substitute other tools or describe a result that was not generated.\n\nUse this for a reusable identity, not an ordinary one-off portrait. Read [shared execution guidance](references/workflow-basics.md), [upload routing](references/platform-upload.md), and [avatar and character-sheet production](references/avatars/identity.md).\n\n## Create and save\n\n1. Search list_characters for an existing match. Reuse its ID when updating the same avatar; do not create duplicates.\n2. For a personal avatar, ask for a few clear photos, ideally a front face, three-quarter/side view and useful body/wardrobe view. Use available photos if sufficient; do not demand a fixed count or invent unseen personal details. For a fictional Character, use the approved brief instead.\n3. Import attached/local photos using the appropriate client route. Choose the strongest face anchor and assign other photos explicit identity, proportions or wardrobe roles.\n4. Use generate_image and current model parameters to create one consistent character-sheet direction. The identity reference explains layout and prompting. Preserve approved likeness rather than beautifying or redesigning the person.\n5. Show the completed sheet and ask for likeness/canonical-state approval before saving it as the Character visual. Honor approval already given for that exact result.\n6. Save using manage_character({ title, description, image_url }) or id plus changed fields for an existing Character. The description records stable appearance, not a temporary scene. Save the approved sheet as the canonical image and retain a clean face portrait and other views as named assets for downstream use. For a real person, keep their best original photo as an extra identity reference beside the sheet; generated sheets drift. Later video keyframes use one image model for the whole project (default `image/nano-banana-2`); the sheet stays a valid anchor whichever model made it.\n7. Return the saved Character ID/name and explain that future requests can name it. State what was saved and any likeness limitations. Do not claim a trained visual identity model or guaranteed consistency.\n\n## Optional voice\n\nWhen the Character will speak and the voice is unknown, ask one question: design a new voice from a description (three auditions), use your own voice (recording plus consent), or pick a stock voice. If the voice doesn't matter, pick a stock voice and name it. Save every choice to the SAME character_id.\n\n- **Design** (fictional Character, or a voice that isn't the user's own): use `design_voice` and save the chosen preview to the SAME character_id; no recording or cloning consent is needed. Auditions use the Character's real lines. In ChatGPT the Voice Studio card saves the choice; read it back from `list_characters` rather than saving again. See [voice design](references/voices/voice-design.md).\n- **Own voice:** use creativeclaw-clone-voice when available, or the packaged [cloning workflow](references/voices/cloning.md): one up-front ask for speaker consent and the recording's language, at least one minute of clean recording, private upload, cloning right after it and a short audition. Never infer cloning permission from photos, uploads or avatar creation. Replacing a source invalidates existing provider copies and needs explicit direction.\n- **Stock:** `manage_character({ id, voice_model, voice_id })` with an exact voice ID from `get_model_params`.\n\nEach saved voice speaks with its own model: designed ElevenLabs → `speech/elevenlabs-v4`; Google-designed → `speech/gemini-3.8-flash-tts`; Cartesia clone → `speech/cartesia-sonic`; ElevenLabs clone → v2 (steady) or v4 (expressive, dialogue); stock → its saved model. Read the selected [v4](references/voices/elevenlabs-v4.md), [v2](references/voices/elevenlabs-v2.md), or [Cartesia](references/voices/cartesia.md) guide and [language routing](references/voices/languages.md).\n\n## Reuse\n\nFor identity-guided images, resolve the sheet/portrait into the selected model's supported reference fields. For video, make a clean keyframe per shot from the sheet and portrait; a sheet grid is never a literal opening frame. `character_id` appends the saved image to `image_urls` as a reference, never a start frame. Use it in reference mode; omit it with `image_url`/`last_frame_url` (the server rejects that mix).\n\nVisual and voice reuse are separate: a Character ID does not put its saved voice into native video dialogue. For speech in video, pick a path from [voice in video](references/video/voice-in-video.md).\n"
}

SHA-256 of public snapshot: cce88edd1dd73c2d1fe52f6d6abdb832592f18190ca9baca6cc3906d71bea776