Quatro a seis fotos normais do mesmo ambiente, ou só uma descrição em texto, viram uma panorâmica equiretangular fotorrealista que você gira como num tour virtual. Sem câmera 360, sem scan, sem software 3D.

A IA entende como as fotos se conectam (o mesmo sofá em duas fotos, a mesma janela de dois ângulos) e reconstrói o cômodo como um espaço único, em formato 2:1 de 4096×2048, pronto para qualquer viewer 360.
Preserva paredes, portas, janelas, móveis e materiais. Não redesenha, não inventa objetos, cada móvel aparece uma vez só. O que nenhuma foto mostra é inferido de forma conservadora.
Sem fotos? Descreva o cômodo em texto. A IA cria cinco fotos coerentes do mesmo ambiente e depois monta a 360°. Serve para conceito, preview e conteúdo.
Proporção 2:1 exata, resolução mínima 4096×2048, score de costura entre as bordas, regeneração automática se a costura falhar e suavização final. Tudo no relatório.
É reconstrução por IA, não medição. Serve para marketing imobiliário, preview, tour virtual e insumo para vídeo IA. Não substitui um scan LiDAR.
O Gemini lê todas as fotos como um único espaço: paredes, portas, janelas, móveis, iluminação, direção estimada de cada foto e o que falta.
As fotos entram como referência num modelo com 2:1 nativo. O padrão é o Flux 2 Klein via Freepik/Magnific; GPT Image 2 e Gemini via OpenRouter são alternativas.
Ratio corrigido, reamostragem até 4096×2048, score de costura (≤12 boa, ≤30 aceitável, >30 visível), uma regeneração automática e crossfade nas bordas.
As chaves são lidas em runtime do seu arquivo de ambiente. Nada é copiado para o projeto.
FastAPI, Pillow, NumPy e httpx.
# na pasta do projeto pip install -r requirements.txt
Freepik/Magnific para gerar, Gemini para a visão. OpenRouter é opcional.
# ~/projetos/wifi/.env MAGNIFIC_API_KEY=... GEMINI_API_KEY=... OPENROUTER_API_KEY=... # opcional
4 a 6 JPG/PNG do mesmo cômodo, de ângulos diferentes. Cobertura boa vale mais do que cinco fotos quase iguais.
sala/ ├── 01.jpg # virada pro sofá ├── 02.jpg # virada pra janela └── 03.jpg # virada pra entrada
Todos usam o mesmo motor. A saída vai para ~/projetos/output/fotos3d/<nome>/ com o PNG, a análise, o prompt e o relatório.
Aponte a pasta e dê um nome. O modelo padrão é o Flux 2 Klein (10 créditos Magnific por imagem).
cd ~/projetos/fotos3d python3 -m engine.pipeline /caminho/fotos-da-sala --nome sala-302 # ~1 min
Descreva o cômodo. A IA cria cinco fotos coerentes e segue o mesmo fluxo.
python3 -m engine.pipeline --assunto "sala moderna, sofá cinza em L, janela grande com vista pro jardim, piso de madeira clara" --nome demo
Troque de modelo quando quiser mais referências ou 4K nativo. O relatório registra qual foi usado.
python3 -m engine.pipeline sala/ --nome sala-302 --modelo gpt-image-2 --size 4K python3 -m engine.pipeline sala/ --nome sala-302 --modelo or-gemini-pro # via OpenRouter
Arraste as fotos (ou cole o caminho da pasta), escolha o modelo com o custo ao lado, acompanhe o progresso e gire o resultado no viewer embutido. Galeria com tudo o que já foi gerado.
uvicorn web.app:app --port 8360 # abre http://127.0.0.1:8360
Olhe sempre no viewer, não na imagem plana: móvel duplicado, porta repetida, parede impossível, salto de luz ou quebra no ponto de virada. Se algo estiver errado, regenere ou troque de modelo.
# viewer avulso: abra no navegador e arraste o PNG viewer/index.html # relatório com ratio, resolução e score de costura ~/projetos/output/fotos3d/sala-302/relatorio.json
Instale uma vez e depois peça em linguagem natural: "usa a skill property-360 nas fotos da pasta X".
ln -s ~/projetos/fotos3d/skill/property-360 ~/.claude/skills/property-360
| Modelo | Provedor | 2:1 nativo | Resultado no teste | Custo |
|---|---|---|---|---|
flux-klein (padrão) | Freepik / Magnific | sim, 2048×1024 reamostrado | equiretangular real, muito fiel | 10 créditos |
gpt-image-2 | Freepik / Magnific | sim, até 4K, 16 refs | melhor qualidade: projeção esférica correta, costura boa | ~45 a 90 créditos |
or-gemini-pro | OpenRouter | não (16:9 reamostrado) | 360 plausível, menos fiel aos detalhes | ~US$ 0,13 |
or-gemini-flash | OpenRouter | não | tende a sair grande-angular, não 360 | ~US$ 0,04 |
Acima, as fotos de entrada. Abaixo, a panorâmica gerada (parece esticada na tela plana, mas fecha 360° no viewer).





A versão 1.0 resolve uma sala por vez. As próximas fases ligam as salas num tour.