← ClaudeAtlas

portrait-clone-genlisted

Make an AI clone image of the person in a TikTok link, Instagram link, screenshot or picture: ScrapeCreators pulls the cover and the first video frame, the portrait-clone skill locks every visual variable into a JSON prompt, GPT Image 2 on Runware renders it, local post-processing matches the source medium, the character gets an invented name and the result is saved as clones/<name>.jpg. Input: link / screenshot / image. Output: one image file. Trigger phrases: 'сделай клона', 'клонируй', 'клон по ссылке', 'клон по скриншоту', 'клон по картинке', 'сделай персонажа по ролику', 'portrait clone gen', 'clone this person', 'clone from tiktok', 'clone from instagram'
maxxyart/portrait-clone · ★ 0 · AI & Automation · score 72
Install: claude install-skill maxxyart/portrait-clone
# Portrait Clone Gen **Input:** TikTok link (video or photo post), Instagram link (reel, post, carousel), a screenshot or a picture (file path or image attached in chat). **Output:** one image file `clones/<name-slug>.jpg` in the current project. Library format for every avatar: JPG, long side 1920 px (9:16 = 1080x1920), whatever the source resolution. Work files live in `clones/_work/<name-slug>/` (prompt.json, meta.json, source frames, raw PNG, reference-vs-clone preview), and every avatar has a row in `clones/index.csv`. Scripts: `scripts/` in this skill's folder (default install: `~/.claude/skills/portrait-clone-gen/scripts/`, adjust the paths below if you installed elsewhere). Needs Python 3.9+ with Pillow, and ffmpeg for video links. Keys: `RUNWARE_API_KEY` (always) and `SCRAPE_CREATORS_API_KEY` (links only), read from the environment, from the file in `PORTRAIT_CLONE_ENV_FILE`, or from `./.env`. ## Pipeline 1. **Prepare references** - Link: `python3 ~/.claude/skills/portrait-clone-gen/scripts/prepare_reference.py "<url>"` → `clones/_work/<platform>-<id>/`: `first_frame.png`, `cover.jpg`, `frame_25|50|75.png` (videos), `meta.json` (author, caption, stats). - Screenshot / picture file(s): `python3 …/prepare_reference.py "<path>" ["<path2>" …]` → `input_N.jpg`. - Image attached in chat without a file path: create `clones/_work/img-<timestamp>/` yourself and work from what you see (hex values are then visual estimates). 2. **Look at every reference** (Rea