mesh-avatar-studio
Turn one illustration into an animated 2D mesh avatar with a coding agent and a local editor
Design a photoreal 3D character, then talk to it in Turkish or English.
Translation pending
DesignTypeScript · PythonGitHub @YigtwxxOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Photoreal customizable 3D character creator with AI chat and lip-sync
Taken from the repository README
Loading the full README.
Read the full README ↗A photorealistic, customizable 3D character creator that runs in the browser. The characters are MetaHumans, exported once from Unreal Engine and converted to web assets. After a character is created it talks to you: LLM chat with voice and word-synced lip-sync, in English and Turkish. Internal demo / POC.
Status (2026-10-21): the MetaHuman library is exported and converted; creator, character list, talk screen and dev curation all work. Current state, open work and the Mac move:
docs/handoff.md(Turkish).
/tr, /en).| Layer | Choice |
|---|---|
| App | Next.js (App Router), React 19, TypeScript (strict) |
| 3D | three.js, React Three Fiber, drei, postprocessing; GLB with meshopt, KTX2 textures |
| UI | Tailwind CSS v4, shadcn/ui, Motion, GSAP |
| State | zustand + zundo |
| i18n | next-intl |
| Data / auth | MongoDB (official driver) + Better Auth (anonymous plugin) |
| Asset pipeline | Unreal Engine 5.8 (MetaHuman export, Windows only), Python (uv), OpenRigLogic, KTX-Software |
| Tests | Vitest, Playwright, pytest |
web/ Next.js app (UI, 3D renderer, route handlers)
pipeline/ MetaHuman export (Unreal) and conversion to web GLB/KTX2 assets
docs/ Handoff, export notes, account setup, design specs
The MetaHuman assets are not in git. They live in an archive folder (~/MetaHumanArchive, tens of GB) and the web app reads them through a link at web/public/assets/mh (gitignored).
Prerequisites: Node 22+, pnpm 12, MongoDB Community Server (mongod on PATH, or MONGOD_BIN), and Python 3.13+ with uv for the asset pipeline.
On a fresh Mac, after installing Homebrew: brew install gh node@22 uv cmake, brew tap mongodb/brew && brew install mongodb-community (don't start it as a service), put /opt/homebrew/opt/node@22/bin on PATH, npm install -g [email protected], then gh repo clone Yigtwxx/ai-sims ~/ai-sims (private repo; gh auth login first). Full steps: docs/handoff.md, "Mac kurulumu".
ln -s ~/MetaHumanArchive/web web/public/assets/mh # the converted MetaHuman assets
cp .env.example web/.env.local # then fill in; see docs/setup-accounts.md
cd web
pnpm install
pnpm db:start # mongod on 127.0.0.1:27018, data in .data/mongo
pnpm dev # http://localhost:3000
Getting the archive from the Windows PC over the local network: docs/handoff.md, "Mac'e taşıma".
cp .env.example web/.env.local
cd web
pnpm install
pnpm db:start # also finds a portable mongod under ~/tools/mongodb
pnpm dev
On the export PC web/public/assets/mh is a link to C:\Users\Asus\MetaHumanArchive\web. On another Windows machine create it with mklink /J web\public\assets\mh <archive>\web (cmd).
.data/mongo (dedicated instance on port 27018, separate from any other MongoDB you run). pnpm db:start creates the folder.mongodb://localhost:27018, database ai-sims.characters, thumbnails (app) and user, session, account, verification (Better Auth).pnpm db:stop.web/.env.local, never into code. Variable names: .env.example. Step-by-step setup for every account, free-tier limits and how to verify each key: docs/setup-accounts.md (Turkish).TTS_ENABLE_EDGE=1; they give word timings for lip-sync.POST /api/chat answers 503 ai_not_configured and POST /api/tts answers 503 tts_not_configured.curl localhost:3000/api/health reports which services are configured (booleans only; the route returns 404 in production).cd pipeline
uv sync
uv run asset-pipeline --help # ue, mh-convert, mh-prune, mh-similar, serve-slim
uv run asset-pipeline mh-convert --all # archive exports -> web assets, incremental
<archive>/build/stamps/) record absolute archive paths, so on a moved archive the first run rebuilds every unit it is asked for.asset-pipeline ue <job> runs the Unreal export jobs and works only on the Windows PC with UE 5.8. Jobs and archive layout: docs/metahuman-export.md (Turkish).mh-convert needs the OpenRigLogic bindings for this platform (uv run --no-sync python scripts/build_openriglogic.py) and KTX-Software 4.4.2 ($KTX_TOOLS or PATH).docs/specs/2026-10-20-metahuman-web-assets.md.cd web && pnpm typecheck && pnpm lint && pnpm test # repository tests need `pnpm db:start`, they skip otherwise
pnpm test:e2e # Playwright
cd pipeline && uv run ruff check && uv run ruff format --check && uv run pytest
Proprietary. Internal demo, all rights reserved. MetaHuman assets are used under the Unreal Engine EULA, which forbids using them to train or test AI; check this before productising.