AI character portraits and short videos
AotAvatar
Transform an uploaded portrait into an anime-inspired character, then create a short cinematic video from the result. Visit https://aotavatar.com.
Outcome
A working generation workflow combines character styles, background jobs, a personal media vault, credit accounting, and API access.
My role
Full-Stack Engineer
How I helped
- Built the photo-to-character transformation and regeneration workflow.
- Connected asynchronous image and video generation to a credit-based product.
- Added account-scoped media and a versioned automation API.
Product
The workflow in context
Live homepage screenshot captured directly from https://aotavatar.com.

The solution
Users upload a portrait, select a character style, and follow generation progress until their image is ready. Regeneration and short video synthesis extend the same workflow.
What changed
The Rails application includes seven character styles, asynchronous portrait generation, six-second video synthesis, a credit system, and a versioned JSON API. An offline SVG generator supports local verification without calling an AI provider.
Behind the solution
Devise manages accounts, Active Storage holds source and generated media, and Solid Queue workers handle image and video generation through Google GenAI. The interface uses a military-inspired palette and sharp editorial layouts.
Technical decisions
- Run slow generation outside web requests and expose job progress to the UI.
- Keep credit accounting and generation state in the application database.
- Generate a style-specific storyboard frame before video synthesis.
- Support local development with a procedural image fallback.
Key features
- Portrait upload, character selection, and regeneration.
- Short cinematic video generation.
- Personal media vault and credit-based usage.
- Versioned REST API for automation.
Product boundaries
AotAvatar is an independent anime-inspired project, not affiliated with or endorsed by the original rights holders. No adoption or conversion metrics are claimed here.
AI system implementation
Google GenAI receives the uploaded portrait and selected character direction through background generation workers. A style-specific storyboard frame precedes video synthesis. Solid Queue runs slow generation, Active Storage retains source and output media, and database state tracks progress and credits. The local procedural SVG generator is a development aid, not evidence of model-generated results.
Could a similar approach help your business?
Tell me where work gets stuck. We can identify a practical first improvement and what success should look like.
Discuss your challenge