const { useState, useEffect } = React; /* === Image helper === */ const uImg = (id, w = 600, h = 800) => `https://images.unsplash.com/photo-${id}?w=${w}&h=${h}&fit=crop&auto=format&q=80`; /* ===================== URGENCY BAR ===================== */ function UrgencyBar() { return null; } /* ===================== HERO ===================== */ const HEADLINES = { A: ["Você imagina o ensaio. ", "A Robô VISI cria o PROMPT! 🤖"], B: ["O Robô que transforma uma foto em ", "ensaio de R$5.000 — em segundos."], C: ["Para de criar prompt na mão. ", "Existe um robô fazendo isso melhor do que você."] }; function HeroSection({ variant = "A" }) { const [txt, hl] = HEADLINES[variant] || HEADLINES.A; return (
🔥TENDÊNCIA QUE ESTÁ EXPLODINDO EM 2026

{txt}{hl}

A Robô VISI é o jeito mais fácil de gerar prompts fotográficos ultra-realistas para ensaios de praia, luxo, casais, futebol e muito mais. Mesmo sem ideia, ela tem modelos para prompts em segundos🔥.

); } /* ===================== VIDEO ===================== */ function VideoPlayer() { const playerRef = React.useRef(null); const pollRef = React.useRef(null); const [isPlaying, setIsPlaying] = useState(false); const [showOverlay, setShowOverlay] = useState(true); const [showRestart, setShowRestart] = useState(false); const [progress, setProgress] = useState(0); const [currentTime, setCurrentTime] = useState(0); const [duration, setDuration] = useState(0); const [isMuted, setIsMuted] = useState(false); const [showControls, setShowControls] = useState(false); const [showCta, setShowCta] = useState(false); const hideTimer = React.useRef(null); const VIDEO_ID = 'Tg4P51gTSoY'; const formatTime = (t) => { if (!t || isNaN(t)) return '0:00'; const m = Math.floor(t / 60); const s = Math.floor(t % 60); return m + ':' + (s < 10 ? '0' : '') + s; }; const stopPoll = () => clearInterval(pollRef.current); const startPoll = () => { stopPoll(); pollRef.current = setInterval(() => { const p = playerRef.current; if (!p || !p.getCurrentTime) return; const ct = p.getCurrentTime() || 0; const d = p.getDuration() || 0; setCurrentTime(ct); if (d) { setDuration(d); setProgress((ct / d) * 100); } }, 250); }; const scheduleHide = () => { clearTimeout(hideTimer.current); hideTimer.current = setTimeout(() => { const p = playerRef.current; if (p && p.getPlayerState && p.getPlayerState() === 1) { setShowControls(false); } }, 3000); }; const handleFirstPlay = () => { const p = playerRef.current; if (!p) return; p.unMute(); setIsMuted(false); p.playVideo(); setShowOverlay(false); setShowControls(true); scheduleHide(); }; const togglePlay = () => { const p = playerRef.current; if (!p) return; if (p.getPlayerState() === 1) p.pauseVideo(); else p.playVideo(); setShowControls(true); scheduleHide(); }; const toggleMute = (e) => { e.stopPropagation(); const p = playerRef.current; if (!p) return; if (p.isMuted()) { p.unMute(); setIsMuted(false); } else { p.mute(); setIsMuted(true); } }; const restart = (e) => { if (e) e.stopPropagation(); const p = playerRef.current; if (!p) return; setShowRestart(false); setProgress(0); setCurrentTime(0); p.seekTo(0, true); p.playVideo(); setShowControls(true); scheduleHide(); }; const handleAreaTap = () => { if (showOverlay || showRestart) return; if (showControls) togglePlay(); else { setShowControls(true); scheduleHide(); } }; useEffect(() => { let cancelled = false; const onState = (e) => { const S = window.YT.PlayerState; if (e.data === S.PLAYING) { setIsPlaying(true); setShowRestart(false); startPoll(); setShowControls(true); scheduleHide(); } else if (e.data === S.PAUSED) { setIsPlaying(false); setShowControls(true); clearTimeout(hideTimer.current); } else if (e.data === S.ENDED) { setIsPlaying(false); stopPoll(); setProgress(100); setShowControls(false); setShowRestart(true); } }; const createPlayer = () => { if (cancelled) return; playerRef.current = new window.YT.Player('vp-yt', { videoId: VIDEO_ID, playerVars: { controls: 0, disablekb: 1, modestbranding: 1, rel: 0, fs: 0, playsinline: 1, iv_load_policy: 3, showinfo: 0 }, events: { onReady: (e) => { setDuration(e.target.getDuration() || 0); }, onStateChange: onState } }); }; if (window.YT && window.YT.Player) { createPlayer(); } else { const prev = window.onYouTubeIframeAPIReady; window.onYouTubeIframeAPIReady = () => { if (prev) prev(); createPlayer(); }; if (!document.getElementById('yt-iframe-api')) { const s = document.createElement('script'); s.id = 'yt-iframe-api'; s.src = 'https://www.youtube.com/iframe_api'; document.body.appendChild(s); } } const ctaTimer = setTimeout(() => setShowCta(true), 30000); return () => { cancelled = true; stopPoll(); clearTimeout(hideTimer.current); clearTimeout(ctaTimer); if (playerRef.current && playerRef.current.destroy) playerRef.current.destroy(); }; }, []); return (
{/* Restart overlay — after video ends (never loads another video) */} {showRestart && (
{ e.stopPropagation(); restart(e); }}>

Assistir novamente

)}
🔊 Verifique seu Áudio!
Quero meu Robô VISI agora

⚡ Acesso imediato após pagamento

); } /* ===================== TREND ===================== */ const TREND_CARDS = [ { emoji: "🏖️", title: "Ensaios de praia", text: "Resultados que parecem produção de R$5.000 com 1 foto sua." }, { emoji: "⚽", title: "Jogos de futebol", text: "Ação e emoção com luz cinematográfica. Sem estádio." }, { emoji: "💑", title: "Casais & datas", text: "Fotos românticas com cenários que não existem — até viram reais." }, { emoji: "💎", title: "Luxo & fashion", text: "Editorial de revista com roupas e ambientes de alto padrão." } ]; function TrendSection() { return (
POR QUÊ AGORA?

A maior virada da fotografia está acontecendo agora

Fotógrafos e criadores de conteúdo estão usando IA para produzir ensaios impossíveis com qualidade de estúdio profissional — sem câmera, sem locação, sem equipe.

{TREND_CARDS.map((c, i) => (
{c.emoji}

{c.title}

{c.text}

))}
+40estilos de ensaio
1foto de referência
0precisão de API
); } /* ===================== GALLERY ULTRA-REALISM ===================== */ const REALISM_PHOTOS = [ { src: "images/praia.jpg", tag: "Praia" }, { src: "images/luxo.jpg", tag: "Luxo" }, { src: "images/casal.jpg", tag: "Casal" } ]; function GalleryRealism() { return (
RESULTADOS REAIS

Ultra-realismo que você não acredita ser IA

{REALISM_PHOTOS.map((p, i) => (
{p.tag} {p.tag}
))}
); } /* ===================== HOW IT WORKS ===================== */ const STEPS_DATA = [ { title: "Pense na Foto de referência", desc: "Qualquer foto sua, de um cliente ou modelo. Ou siga as orientações do robô." }, { title: "Escolha o estilo do ensaio", desc: "Praia, futebol, luxo, casal, provador, editorial... mais de 40 estilos disponíveis." }, { title: "Copie o prompt e gere a imagem", desc: "O Robô entrega o prompt pronto e adaptado para o melhor resultado de Nano Banana — Ele estuda, e entrega em segundos o prompt atualizado para que você gere direto no site do Gemini, o melhor resultado possível." } ]; function HowItWorks() { return (
COMO FUNCIONA

Simples assim — 3 passos

{STEPS_DATA.map((s, i) => (
{i + 1}

{s.title}

{s.desc}

))}
); } /* ===================== GALLERY ENSAIOS ===================== */ const STYLE_PILLS = [ "🏖️ Praia", "⚽ Futebol", "💑 Casais", "🪞 Provadores", "💎 Luxo", "🏙️ Urbano", "🌿 Natural", "🔥 Ensaio +18" ]; const ENSAIO_GRID = [ { src: "images/futebol.jpg", tag: "Futebol" }, { src: "images/masculino-ensaio.jpg", tag: "Masculino" }, { src: "images/luxo-ensaio.jpg", tag: "Luxo" }, { src: "images/praia-ensaio.jpg", tag: "Praia" }, { src: "images/provador-ensaio.jpg", tag: "Provador" }, { src: "images/ensaio18.png", tag: "Ensaio +18" } ]; function GalleryEnsaios() { const [active, setActive] = useState(null); return (
GALERIA DE ENSAIOS

Veja os ensaios prontos que a Robô VISI já gerou

{STYLE_PILLS.map((pill, i) => ( ))}
{ENSAIO_GRID.map((p, i) => (
{p.tag} {p.tag}
))}

A Robô VISI pode fazer muito mais🔥

); } /* ===================== MENTOR ===================== */ function MentorSection() { return (
QUEM CRIA OS AGENTES?
Piedro — Mentor

Piedro

Mentor

A mente por trás da Robô VISI.

Especialista em inteligência artificial aplicada à criação de conteúdo, com anos de experiência construindo automações que simplificam processos criativos. Depois de investir mais de R$15 mil em cursos e incontáveis madrugadas testando ferramentas — decidiu criar algo que realmente funcionasse para qualquer pessoa.

Eu criei a Robô VISI porque cansei de ver gente boa travada em prompts ruins. Esse robô é o atalho que eu queria ter tido — e agora estou entregando de bandeja para quem estiver pronto.

E não se preocupe: minha didática é fácil de entender.

); } /* ===================== BONUSES ===================== */ const BONUSES = [ { emoji: "🤖", title: "Robô VISI Completo", desc: "+40 estilos, prompts otimizados para o Nano Banana Pro, acesso imediato.", value: "R$197" }, { emoji: "🔄", title: "60 Dias de Atualizações", desc: "1 mês de atualizações incluídas + 1 mês de bônus = 60 dias de novas gerações de prompts sem pagar nada a mais.", value: "R$47" }, { emoji: "💬", title: "Grupo Exclusivo no WhatsApp", desc: "Comunidade para tirar dúvidas, compartilhar resultados e receber dicas avançadas que não estão em lugar nenhum.", value: "R$97" }, { emoji: "⚡", title: "Suporte Via Chat", desc: "Qualquer dúvida sobre uso — geramos prompts juntos. Você nunca fica travado.", value: "R$37" } ]; function BonusSection() { return (
BÔNUS EXCLUSIVOS

Tudo que você leva junto com a Robô VISI

{BONUSES.map((b, i) => (
{b.emoji}

{b.title}

{b.desc}

{b.value}
))}
Valor total: R$378,00
); } /* ===================== PRICING ===================== */ function PricingSection() { return (
OFERTA

Tudo isso por uma oferta especial

Valor real: R$378,00

R$19,90

Pagamento único • Sem mensalidade • Acesso imediato

{[ "Robô VISI completo com +40 estilos", "60 dias de atualizações (1 mês incluso + 1 mês de presente)", "Grupo exclusivo no WhatsApp", "Suporte por chat incluso" ].map((item, i) => (
{item}
))}
Quero a Robô VISI por R$19,90

🔒 Pagamento seguro via Kiwify • Processamento imediato

); } /* ===================== LEGAL ===================== */ function LegalSection() { return (
Aviso Legal de Responsabilidade.{" "} Este site e o produto Robô VISI são de responsabilidade exclusiva da nossa empresa. Não somos afiliados, patrocinados, endossados ou administrados pelo Instagram, Meta Platforms, Inc., TikTok, YouTube, Google ou qualquer outra rede social ou plataforma de tecnologia. Toda a oferta, conteúdo, suporte, garantia e processamento financeiro são de inteira responsabilidade da IA CinePRO. As marcas e logotipos das plataformas mencionadas pertencem a seus respectivos proprietários e foram citados apenas a título informativo. Os resultados, depoimentos e números apresentados refletem experiências individuais e não representam promessa ou garantia de resultado. O sucesso de cada usuário depende de fatores como dedicação, comprometimento e contexto pessoal. Pagamento processado de forma segura pela Kiwify.
Política de Privacidade Termos de Uso
); } /* ===================== FOOTER ===================== */ function PageFooter() { return ( ); } /* ===================== SOCIAL PROOF POPUPS ===================== */ const PROOF_MESSAGES = [ { name: "Carlos", text: "acabou de comprar o pack" }, { name: "Ana", text: "acabou de comprar o Pack" }, { name: "Jonas", text: "acabou de adquirir o Pack Completo + 100 Prompts" }, { name: "Raíssa", text: "acabou de Comprar o Pack" }, { name: "Lucas", text: "acabou de comprar o Pack" }, { name: "Fernanda", text: "acabou de adquirir o Pack" }, { name: "Rafael", text: "acabou de comprar o Pack Completo" } ]; function SocialProof() { const [current, setCurrent] = useState(null); const [visible, setVisible] = useState(false); const indexRef = React.useRef(0); useEffect(() => { const showNext = () => { setCurrent(PROOF_MESSAGES[indexRef.current]); setVisible(true); setTimeout(() => { setVisible(false); indexRef.current = (indexRef.current + 1) % PROOF_MESSAGES.length; }, 3500); }; const initialTimer = setTimeout(() => { showNext(); const interval = setInterval(showNext, 15000); return () => clearInterval(interval); }, 2000); return () => clearTimeout(initialTimer); }, []); if (!current) return null; return (
{current.name} {current.text} agora mesmo
); } /* === Export to window === */ Object.assign(window, { UrgencyBar, HeroSection, VideoPlayer, TrendSection, GalleryRealism, HowItWorks, GalleryEnsaios, MentorSection, BonusSection, PricingSection, LegalSection, PageFooter, SocialProof });