agentsclimarketplace

Avatar invent

Skill puntorigen/avatar-skills/avatar-invent

Cloud-based agent skills for creating AI avatar talking-head videos and short-form reels (skills.sh format)

Install
npx -y skills add puntorigen/avatar-skills --skill avatar-invent

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 27 days oldThe repository was created 27 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Invent a brand-new FICTIONAL avatar from a text description — no real person, photo or recording needed. Generates a front-facing, well-lit, seated half-body presenter still (photorealistic by default; soft3d/Pixar, anime or a custom style on request) in a room that fits the topic, derives camera-angle variations, and DESIGNS a matching voice with ElevenLabs Voice Design which is then cloned with MiniMax — all written into the same per-avatar folder structure (scene.json, talking_profile.json, refs/, angles/, voices/, avatar.json) that avatar-reel-composer and reel-restyle consume. Defaults follow UGC talking-head reel best practices (eyes to lens, soft key from the left + soft backlight, vertical 9:16). Use when the user wants to make up / invent / fabricate an avatar, character or presenter for a reel from just a description (e.g. "inventa un avatar de una psicóloga para un reel", "create a fictional presenter", "necesito un personaje para generar un reel"), rather than cloning an existing person.

SKILL.md

8.1 KB, as published. Nobody here has run it

Avatar Invent

Fabricate a complete, reel-ready fictional avatar from a single text description. Where avatar-reel-composer's create_avatar.py clones a real person from their Instagram reels, this skill invents one: it casts a face, a room, a delivery style and a voice, and writes them into the exact same per-avatar folder structure the rest of the pipeline already understands.

The result is a first-class avatar — drop it straight into avatar-reel-composer / reel-restyle to produce reels.

Output location. A bare avatar name is created under ./avatares/<name>/ (so generated avatars never clutter the project root); pass an explicit path (e.g. path/to/nora) to override, or set AVATARES_ROOT. <avatar>/ below refers to that folder.

What it produces

<avatar>/
  brief.json             # the inputs (description, setting, style, ...)
  scene.json             # subject / wardrobe / scene / light  (drives the still + angles)
  talking_profile.json   # p-video delivery prompt (calm presenter, eyes to lens)
  voice_brief.json       # ElevenLabs voice description + sample text
  refs/<slug>_hero.png   # the hero presenter still (+ _hero_master.png)
  angles/<slug>_<move>_916.png   # camera-angle cuts (push_in, pull_out, ...)
  frames/frame_0001.png + manifest.json   # hero exposed as a clean reference frame
  voices/<name>.json + index.json + <name>_design_sample.mp3   # MiniMax voice_id
  avatar.json            # the record (invented: true, stages, artifacts)

Defaults (UGC talking-head reel best practices)

All baked into prompts/presets.json and overridable:

  • Photorealistic render (use --style soft3d for Pixar-like, --style anime, or any custom style string).
  • Vertical 9:16, eye-level, looking straight into the lens, leaning in slightly.
  • Seated, half-body (waist/chest-up) medium shot, with clean negative space on one side for captions.
  • Soft, flattering light: soft key from the left ~45°, a gentle rim/back light, open fill — no harsh shadows.
  • Phone-camera look: ~35–50mm, shallow depth of field, natural color.
  • Room fits the topic via --setting (office, home, studio, street, outdoors, kitchen, cafe, gym, clinic, …).
  • Neutral mid-sentence expression (lips slightly parted) so the still animates well for lip-sync.

Setup

Keys are auto-discovered from the sibling skills (usually nothing to set):

  • ElevenLabs (voice design) ← audio-theater/config.json
  • Replicate (hero still via gpt-image-2 + MiniMax clone) ← gpt-image-2 / voice-clone
  • Gemini (only for --generator gemini) ← asset-generator/config.json
pip3 install -r .cursor/skills/avatar-invent/scripts/requirements.txt
# sibling deps (usually already installed):
pip3 install -r .cursor/skills/voice-clone/requirements.txt
pip3 install -r ~/.cursor/skills/gpt-image-2/scripts/requirements.txt

python3 .cursor/skills/avatar-invent/scripts/setup_key.py --show   # verify keys

Cloning the designed voice with MiniMax needs cloudflared (preferred) or ngrok on PATH, same as the voice-clone skill (brew install cloudflared).

Workflow

The orchestrator runs an idempotent stage machine and stops once for an agent review (the creative casting step) before any paid generation.

# 1) Invent: auto-drafts scene/profile/voice, then pauses for review.
python3 .cursor/skills/avatar-invent/scripts/invent_avatar.py nora \
    --description "Chilean woman, mid 30s, warm and reassuring, clinical psychologist" \
    --setting clinic --language es

#    -> review & refine nora/scene.json, talking_profile.json, voice_brief.json
#       (make the SUBJECT a vivid concrete face; tune wardrobe/room/voice).

# 2) Re-run to generate the hero still + angles + designed-and-cloned voice:
python3 .cursor/skills/avatar-invent/scripts/invent_avatar.py nora

# Inspect readiness any time (no API spend):
python3 .cursor/skills/avatar-invent/scripts/invent_avatar.py nora --status

Skip the pause with --no-review for a one-shot run. Re-run any stage with --force-stage hero / --force-stage voice etc.

The author checkpoint (why it matters)

The script seeds scene.json / talking_profile.json / voice_brief.json from the brief + the topic's defaults, but the SUBJECT field is just your raw description. Refine it into a concrete, vivid person (age, face, hair, skin, expression) — gpt-image-2's identity fidelity is only as good as that text, and the same scene.json is reused for every camera angle, so a precise subject is what keeps the avatar from drifting between cuts.

Common variations

# Pixar-style soft 3D character instead of photoreal
python3 .../invent_avatar.py leo --description "..." --setting home --style soft3d

# Horizontal 16:9 (angles auto-off; the hero still is the deliverable)
python3 .../invent_avatar.py max --description "..." --setting office -ar 16:9

# Use Gemini for the hero (native 9:16/16:9, up to 4K) instead of gpt-image-2
python3 .../invent_avatar.py mia --description "..." --generator gemini

# Custom camera moves
python3 .../invent_avatar.py mia --description "..." --moves push_in,low_angle,negative_space_left

Single-stage scripts (also usable standalone)

# Just the hero still from a scene.json (preview the prompt with --print-prompt):
python3 .cursor/skills/avatar-invent/scripts/generate_hero.py \
    --scene-file nora/scene.json --style photoreal -ar 9:16 -o nora/refs/ --slug nora

# Just the voice (ElevenLabs design -> MiniMax clone):
python3 .cursor/skills/avatar-invent/scripts/design_voice.py \
    --avatar-dir nora --name nora --voice-brief nora/voice_brief.json

After it's READY

Write a storyboard and compose, exactly like any other avatar:

python3 .cursor/skills/avatar-reel-composer/scripts/compose_reel.py \
    nora/reels/001_slug/storyboard.json --finish

How the voice works (ElevenLabs → MiniMax bridge)

A fictional avatar has no recording to clone, so the voice is designed from text: ElevenLabs Voice Design (/v1/text-to-voice/design) invents a voice from voice_brief.json's description and returns a long spoken sample. That clean sample is then handed to the voice-clone skill (MiniMax), producing the same voices/<name>.json + index.json (voice_id) every avatar uses — so avatar-reel-composer's narrate.py speaks the new voice with no changes. The ElevenLabs provenance (description, preview ids) is kept in voices/<name>_design.json.

See REFERENCE.md for the stage machine, the prompt internals, the presets schema and design notes.

Related skills

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.