Pular para o conteúdo

Template de Fotografia e vídeo

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 telas
  • iOS e Android
  • Dados de exemplo
  • Atualizado em 4 de nov. de 2026
  • Versão verificada

Cópia grátis · Código completo · Sem cartão

Telas

6 telas do app em funcionamento.

O que vem incluído

  1. 14 effects and 4 headshot styles with real before/after sample results of six AI-generated people
  2. Drag-to-compare before/after on the feed hero, effect pages and every result
  3. Gemini image edits through a Supabase Edge Function, one image per call, so progress is real
  4. Headshot sets of 8 made in the background from 6 to 10 selfies, which are deleted when the set is done
  5. Credits ledger in Postgres: welcome and Pro monthly grants, packs, and a spend and refund per image
  6. Likeness rules: consent once, and a check that refuses minors, public figures and explicit photos

Sobre este modelo

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.

aiphoto effectsai portraitsheadshotsgeminisupabaserevenuecatcreditsreact nativeexpo

O que você recebe

  • Código completo: Expo e React Native em TypeScript, como um app no seu espaço de trabalho.
  • Prévia ao vivo: teste cada mudança no navegador ou no celular.
  • Versão verificada: compila e todas as telas abrem sem erros.
  • Assistente de IA: mude o que quiser pelo chat; cada mudança usa créditos.
  • Builds e envio às lojas: builds de iOS e Android, enviados à App Store e ao Google Play pelo Publish.
  • Copiar não gasta créditos: a cópia em si não custa nada.

Feito com a versão atual do FluxNative.

O que você precisa

  • Uma conta FluxNative: o plano Free comporta até 2 apps.
  • Sem backend para começar: usa dados de exemplo até você conectar o seu.
  • Creator ou superior: para builds nativos e envio às lojas.
  • Contas das lojas: Apple Developer Program (US$ 99 por ano) e Google Play (US$ 25 uma vez), para publicar.

O que vem no código

telas
19
arquivos na sua cópia
423
linhas escritas para este app
6.860
componentes de UI prontos
142

Textos do app em inglês e vietnamita

Stack técnica

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

Do package.json desta versão.

Design system

Títulos
Plus Jakarta Sans
Texto
Fonte do sistema
  • Só modo escuro
  • Liquid Glass
  • Botões em pílula
  • Cards de mídia

Configuração depois do fork

Sua cópia abre com o assistente de IA que a criou. Siga os passos em ordem: conecte em Server o que um passo pedir e depois envie cada prompt.

  1. 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 para a IA

    Connect 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.

  2. 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 para a IA

    Add 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.

  3. 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 para a IA

    Connect 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.

  4. 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 para a IA

    Show 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.

  5. 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 para a IA

    Rename 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.

Como usar este template

  1. Use o template para ter uma cópia editável, com o código-fonte, no seu espaço de trabalho (Templates).
  2. Peça ao assistente de IA as mudanças que quiser, com suas próprias palavras (Trabalhar com o assistente).
  3. Teste cada mudança na prévia ao vivo ou no seu celular (Prévia).
  4. No Creator ou superior, gere o app para iOS e Android e envie às lojas (Visão geral da publicação).

Licença e suporte

Licença

O app criado para você é seu; o código do modelo continua da InspireUI e é licenciado para uso nos seus apps (Termos › Nossa propriedade intelectual).

Ajuda

  • Guias sobre templates, o assistente e a publicação.
  • Falar com o suporte em Ajuda; respondemos em geral em 1–2 dias úteis.
  • Na sua cópia, pergunte ao assistente de IA sobre qualquer tela ou arquivo.

Feito pelo FluxNative

Política de suporte

Perguntas

É grátis?

Copiar um template grátis não custa nada, nem créditos; um Premium é uma compra única por site. Mudanças pelo chat e builds usam créditos.

O que é meu?

Você é dono do app feito para você. O código do template continua da InspireUI e é licenciado para uso nos seus apps (Terms › Our intellectual property).

Preciso saber programar?

Não. Peça mudanças ao assistente com suas palavras; o código completo está lá quando quiser.

Vem com backend?

Não. Um app completo diz qual backend precisa e você conecta o seu em Server; um design usa dados de exemplo.

Posso mudar o design?

Sim. A aba Design muda cor da marca, cores, fontes e cantos sem gastar créditos; o assistente muda o resto.

Qual plano preciso para publicar?

Creator ou superior faz build e envia às lojas, com suas próprias contas Apple e Google. O app de um template Premium faz build em qualquer plano depois que o site é conectado.

Posso baixar o código?

Sim, com Download source ou Push to GitHub, depois que seu espaço de trabalho comprar um plano, créditos ou um template pago. O app de um template Premium também precisa do site conectado.

E se foi feito com um FluxNative anterior?

Sua cópia funciona como está. Peça ao assistente para atualizá-la com recursos novos, como idiomas e moedas do app; é o último passo da configuração.

Pronto para transformar no seu app?

Comece a partir de Glimmer AI Photo Effects and Portrait Studio App e mude o que quiser pelo chat. Sua cópia vem com o código-fonte completo.

Cópia grátis. Sem cartão de crédito.

Taking a little longer than usual…

Loading FluxNative