FIFA 2026
Fan Avatar Studio
Behind the scenes
How it works
A selfie goes in, a matchday fan card comes out — then it animates into a clip you can share. Here's the short version of what happens in between.
1. Pick a team and add a selfie
Choose a national team, then upload a photo or snap one with your camera right in the browser. Your image never leaves the request — it goes straight to the generator.
2. Verify you're human
A Cloudflare Turnstile challenge runs quietly before anything is generated, keeping bots and abuse out without the usual puzzle-solving.
3. Generate your fan card
Your selfie is combined with an official team-kit reference and sent to an image model, which paints you into matchday gear as a square fan card.
4. Bring it to life
In the background, the finished card is handed to a video model that animates it into a short clip. When it's ready, flip the card to watch it move.
5. Share it
Every card gets its own link and a generated social preview image, so posting it to X shows the card off automatically.
Built with
The studio is stitched together from a handful of tools. Follow the links for the official docs.
TanStack Start↗
Full-stack React framework powering the routes and server functions.
Cloudflare Workers↗
Runs the whole app — frontend, API routes, and background tasks — on the edge.
Cloudflare R2↗
Object storage for the generated card images, videos, and kit references.
Cloudflare Turnstile↗
Invisible, privacy-friendly bot protection on the generate step.
Replicate↗
Hosts and runs the AI models used for image and video generation.
OpenAI gpt-image-2↗
The image model that fuses your selfie with the team kit into a fan card.
Kling video↗
Animates the finished card into a short, looping matchday clip.
workers-og↗
Generates the Open Graph share images for each card link.
Tailwind CSS↗
Utility-first styling for the entire stadium-themed interface.