Template Photo et vidéo
Glimmer AI Photo Effects and Portrait Studio App
An Expo app for AI photo effects and headshots: pick a look, add one photo, get a set to compare and share. Gemini edits run through a Supabase Edge Function and are paid for in credits.
- 19 écrans
- iOS et Android
- Données d’exemple
- Mis à jour le 4 nov. 2026
- Version vérifiée
Copie gratuite · Code source complet · Sans carte bancaire
Écrans
6 écrans de l’app fonctionnelle.
Contenu
- 14 effects and 4 headshot styles with real before/after sample results of six AI-generated people
- Drag-to-compare before/after on the feed hero, effect pages and every result
- Gemini image edits through a Supabase Edge Function, one image per call, so progress is real
- Headshot sets of 8 made in the background from 6 to 10 selfies, which are deleted when the set is done
- Credits ledger in Postgres: welcome and Pro monthly grants, packs, and a spend and refund per image
- Likeness rules: consent once, and a check that refuses minors, public figures and explicit photos
À propos de ce modèle
Overview
Glimmer is a dark, photo-led AI photo studio in the style of Remini or Lensa. People pick an effect (oil portrait, film noir, cel shade, comic pop, Super 8 and more), add one photo of themselves, choose how many variations and what shape, and get a set they can compare with the original, label as AI-edited and share. Headshots turns 6 to 10 selfies into a set of 8 studio portraits.
It is an Expo SDK 57 / React Native app on the FluxNative kernel, with a Supabase backend: the AI runs in one Edge Function that calls Gemini with your key, and credits are kept in your own Postgres tables.
Key features
Effects feed with a self-sweeping before/after hero, trending cards, kinds as chips and every effect with its uses and price.
Two-step create: effect and photo (library, camera or the sample photo), an AI photo check in plain words, then variations, shape and a one-time likeness agreement.
An honest wait screen: place in line, images landing one by one, named steps, Stop with a confirmation; refusals and failures each have a designed end with the credits given back.
Results with drag-to-compare, favourites, a full-screen viewer, Run it again at its price, and Share with an "AI-edited" label switch (on by default).
My studio: sets being made now with real progress, every set by date, filters by effect or favourites, unfinished runs with credits back.
You: balance with a 7-day chart, Pro, photo rules and data, Delete my photos and data, reminders for headshot sets, purchases and legal pages.
Screens
18 screens: Welcome, a three-step intro (ending on the likeness rules), Effects, effect detail, Create, Options, Headshots, the wait screen, Results, a full-screen viewer, My studio, You, Credits, Pro (paywall), Photo rules and data, Terms, Privacy and About.
AI and backend
Tasks in supabase/functions/ai/tasks.ts: photo-check (free), apply-effect (2 to 4 credits an image), headshot-selfies and headshots (10 credits a set, made in the background), headshots-resume, credits and claim-credits.
Gemini image models edit the person's own photo; prompts for each effect live in supabase/functions/ai/effects.ts with the same ids and prices as the app's catalog.
The migration adds creations and credit_ledger with row-level security, and security-definer functions to grant, spend (with a per-user lock), refund and add packs; only the function can move credits.
No accounts: the app signs each install in anonymously. Uploaded selfies are deleted from storage when a set is done; Delete my photos and data removes every set and file.
Sample mode: with a blank .env every screen works on bundled sample content. The six sample people and all their results are AI-generated (fictional adults); CREDITS.md lists the model and prompt of every image.
Monetisation
Credits pay for each image (new people get 6). Credit packs (30, 80, 200) are consumables in a RevenueCat offering named credits; the server checks each purchase with RevenueCat before adding its credits. Glimmer Pro (weekly or yearly, entitlement pro) adds 120 credits a month and allows 4 variations per run instead of 2. Until you connect RevenueCat to sell, the paywall and Credits show sample prices and say subscriptions open in the App Store version.
Setup
Connect Supabase and apply the two migrations, add your Gemini key and deploy the functions, then connect RevenueCat with the Pro products and the credit packs. Each step below has a prompt your coding agent can run.
Ce que vous obtenez
- Code source complet — Expo et React Native en TypeScript, en app dans votre espace de travail.
- Aperçu en direct — testez chaque changement dans votre navigateur ou sur votre téléphone.
- Version vérifiée — elle compile et chaque écran s’ouvre sans erreur.
- Assistant IA — modifiez tout par chat ; chaque changement consomme des crédits.
- Builds et envoi aux stores — builds iOS et Android, envoyés à l’App Store et à Google Play depuis Publier.
- Aucun crédit pour copier — la copie elle-même est gratuite.
Conçu avec la version actuelle de FluxNative.
Ce qu’il vous faut
- Un compte FluxNative — le forfait Free accepte jusqu’à 2 apps.
- Aucun backend au départ — elle tourne sur des données d’exemple jusqu’à ce que vous connectiez le vôtre.
- Creator ou plus — pour les builds natifs et l’envoi aux stores.
- Comptes de store — Apple Developer Program (99 US$ par an) et Google Play (25 US$ une fois), pour publier.
Ce que contient le code
- écrans
- 19
- fichiers dans votre copie
- 423
- lignes écrites pour cette app
- 6 860
- composants d’interface prêts à l’emploi
- 142
Textes de l’app en anglais et vietnamien
Stack technique
- Expo SDK
- 57.0.22
- React Native
- 0.86.3
- React
- 19.2.8
- TypeScript
- 6.0.3
- Expo Router
- 57.0.21
- Supabase JS
- 2.112.3
- RevenueCat
- 10.9.1
Tiré du package.json de cette version.
Système de design
- Titres
- Plus Jakarta Sans
- Texte
- Police du système
- Mode sombre uniquement
- Liquid Glass
- Boutons en pilule
- Cartes média
Configuration après le fork
Votre copie s’ouvre avec l’assistant IA qui l’a créée. Suivez les étapes dans l’ordre : connectez sous Serveur ce qu’une étape demande, puis envoyez chaque prompt.
Connect Supabase
Server › Backend › Supabase. Apply both migrations, turn on anonymous sign-ins in the Supabase dashboard (Authentication › Sign In / Providers), and write the public URL and anon key to .env.
Prompt pour l’IAConnect this app to my Supabase project from Server › Backend › Supabase and write EXPO_PUBLIC_SUPABASE_URL and EXPO_PUBLIC_SUPABASE_ANON_KEY to .env. Apply supabase/migrations/20261019000000_ai_kit.sql, then supabase/migrations/20261019120000_glimmer.sql (creations, the credit ledger and its functions, effect_uses, Delete my data). Remind me to turn on Authentication › Sign In / Providers › Allow anonymous sign-ins in the Supabase dashboard, since the app signs each install in anonymously, and to keep the anonymous sign-in rate limit per IP low. Then confirm the Effects tab no longer shows the sample line and My studio starts empty.
Turn on the AI
Server › API keys & secrets: add GEMINI_API_KEY (a billed Google AI Studio project; image models have no free tier), then deploy the ai function and push its secrets.
Prompt pour l’IAAdd my Gemini key as GEMINI_API_KEY under Server › API keys & secrets. Deploy the ai Supabase Edge Function and push its secrets. Glimmer charges its own credits, so leave AI_FREE_UNITS_PER_DAY and AI_PRO_UNITS_PER_DAY unset. Then invoke the function as a test user with { "task": "credits" } and tell me the balance it returns (6 welcome credits for a new user), and with { "task": "photo-check" } on one of the sample photos in assets/samples/people to check the vision model answers.
Sell Pro and credit packs
Server › Monetization: RevenueCat products for Pro (weekly, yearly) and the three credit packs, the public SDK keys, the webhook secret and REVENUECAT_SECRET_KEY.
Prompt pour l’IAConnect RevenueCat under Server › Monetization. Create the entitlement pro and a current offering with glimmer_pro_weekly and glimmer_pro_annual, and an offering named credits with the consumables glimmer_credits_30, glimmer_credits_80 and glimmer_credits_200 (the number is the credits each adds). Write EXPO_PUBLIC_REVENUECAT_IOS_KEY and EXPO_PUBLIC_REVENUECAT_ANDROID_KEY to .env and update PLAN_PREVIEW and PACK_PREVIEW in src/services/iap/index.ts to the same prices. Save a long random REVENUECAT_WEBHOOK_SECRET and a RevenueCat v1 secret API key as REVENUECAT_SECRET_KEY under Server › API keys & secrets, deploy the revenuecat-webhook function with JWT verification off and redeploy ai, and give me the webhook URL and the Authorization header value to paste into RevenueCat › Integrations › Webhooks.
Set your prices and effects
Optional. Effect prices, welcome and Pro monthly credits live in the server's ai function (functions/ai/effects.ts) and src/services/effects/catalog.ts; change both together.
Prompt pour l’IAShow me the effects, their credit prices, the welcome credits (6) and Pro's monthly credits (120) from the server's ai function (functions/ai/effects.ts) and src/services/effects/catalog.ts. Apply the prices I give you in both files with the same ids, keep the server's effect prompts in step with any effect I rename or add, redeploy the ai function, and update the credit figures shown on the Pro and Credits screens.
Set your icon, store IDs and legal pages
Name, icon, colours and legal page URLs: app.json name and bundle id, assets/icon.svg, the seed in src/theme/brand.ts, and the privacy, terms and support URLs in .env.
Prompt pour l’IARename the app to the name I give you in app.json (name, slug, scheme, bundle id and package) and in the copy that says Glimmer. Redraw assets/icon.svg and assets/adaptive-icon.svg for my brand and render icon.png, adaptive-icon.png, favicon.png and splash-icon.png from them. Change brandSeed in src/theme/brand.ts to my colour. Write my EXPO_PUBLIC_PRIVACY_POLICY_URL, EXPO_PUBLIC_TERMS_URL and EXPO_PUBLIC_SUPPORT_URL to .env, and replace the sample text in src/features/legal with my own terms and privacy policy.
Comment utiliser ce modèle
- Utilisez le modèle pour obtenir une copie modifiable, avec son code source, dans votre espace de travail (Modèles).
- Demandez à l’assistant IA les changements voulus, avec vos propres mots (Travailler avec l’assistant).
- Essayez chaque changement dans l’aperçu en direct ou sur votre téléphone (Aperçu).
- Avec Creator ou plus, compilez-le pour iOS et Android et envoyez-le aux stores (Vue d’ensemble de la publication).
Licence et support
Licence
L’app créée pour vous vous appartient ; le code du modèle reste à InspireUI et vous est concédé sous licence pour vos apps (Conditions › Notre propriété intellectuelle).
Aide
- Guides sur les templates, l’assistant et la publication.
- Contacter le support depuis Aide ; réponse en général sous 1 à 2 jours ouvrés.
- Dans votre copie, interrogez l’assistant IA sur n’importe quel écran ou fichier.
Créé par FluxNative
Politique de supportQuestions
Est-ce gratuit ?
Copier un template gratuit ne coûte rien, pas même des crédits ; un template Premium est un achat unique par site web. Les changements par chat et les builds consomment des crédits.
Qu’est-ce qui m’appartient ?
L’app créée pour vous vous appartient. Le code du template reste à InspireUI et vous est concédé sous licence pour vos apps (Conditions › Notre propriété intellectuelle).
Faut-il savoir coder ?
Non. Demandez des changements à l’assistant en mots simples ; le code source complet est là si vous le voulez.
Y a-t-il un backend inclus ?
Non. Une app complète nomme le backend requis et vous connectez le vôtre sous Server ; un design tourne sur des données d’exemple.
Puis-je changer le design ?
Oui. L’onglet Design règle la couleur de marque, les couleurs, les polices et les angles sans coût en crédits ; l’assistant change le reste.
Quel forfait pour publier ?
Creator ou plus compile et envoie aux stores, avec vos propres comptes Apple et Google. L’app d’un template Premium se compile avec tout forfait dès que son site web est connecté.
Puis-je télécharger le code source ?
Oui, avec Télécharger le code source ou Push vers GitHub, dès que votre espace de travail a acheté un forfait, des crédits ou un template payant. L’app d’un template Premium exige aussi son site web connecté.
Et si elle a été créée avec une version antérieure de FluxNative ?
Votre copie fonctionne telle quelle. Demandez à l’assistant de la mettre à jour pour les nouveautés comme les langues et devises de l’app ; c’est la dernière étape de configuration.
Prêt à en faire votre app ?
Partez de Glimmer AI Photo Effects and Portrait Studio App et changez tout par chat. Votre copie inclut tout le code source.
Copie gratuite. Sans carte bancaire.