Ferramentas
Capture Kit (JS) ACESSO ANTECIPADO
Captura guiada no navegador que resolve o maior problema de qualquer análise facial: foto ruim. Landmarks rodam localmente (WASM), o gate de qualidade valida pose, enquadramento e luz em tempo real, e o disparo só libera quando a análise vai passar.
O que o diferencia
- Privacidade primeiro: a detecção roda 100% no dispositivo. Nenhum pixel sai do navegador até o usuário confirmar o envio — para o seu servidor, nunca direto para a nossa API.
- Consentimento embutido: a etapa de consentimento LGPD (customizável) faz parte do fluxo do kit, com o registro estruturado que o campo
consentda API espera. - Comparabilidade longitudinal: o kit guarda os parâmetros de enquadramento da captura anterior do mesmo
subject_refe guia o usuário à mesma pose — fotos comparáveis mês a mês, requisito de qualquer acompanhamento de evolução.
Instalação
html
<script src="https://cdn.nutoken.com.br/capture-kit/v1/aos-capture.js" defer></script>
Uso básico
javascript
const kit = AOSCapture.init({
container: '#captura',
locale: 'pt-BR',
qualityPreset: 'MODERADO', // ESTRITO | MODERADO | RELAXADO
consent: { policyUrl: '/privacidade', policyVersion: '2026-10' },
subjectRef: 'u_84f2', // opcional: habilita guia de re-enquadramento
});
kit.on('qualityChanged', (q) => {
// q.ok, q.issues: ['face_too_small','lighting_too_dark', ...]
// q.guidance: "Aproxime um pouco a câmera" (já localizado)
});
kit.on('captured', async ({ blob, quality, consent }) => {
// Envie ao SEU backend; de lá, chame POST /v1/analyses
const form = new FormData();
form.append('image', blob, 'selfie.jpg');
form.append('consent', JSON.stringify(consent));
await fetch('/meu-backend/analisar', { method: 'POST', body: form });
});
kit.open();Presets de qualidade
Três presets calibrados; cada parâmetro pode ser sobrescrito individualmente via qualityOverrides:
| Parâmetro | ESTRITO | MODERADO | RELAXADO |
|---|---|---|---|
| Proporção do rosto (largura) | ≥ 0,70 | ≥ 0,60 | ≥ 0,50 |
| Yaw / Pitch (rotação) | ± 5° | ± 10° | ± 15° |
| Roll (inclinação) | ± 5° | ± 9° | ± 12° |
| Exposição (faixa aceita) | 0,80–1,0 | 0,70–1,0 | 0,55–1,0 |
| Uniformidade de luz | alta | média | básica |
javascript
AOSCapture.init({
qualityPreset: 'MODERADO',
qualityOverrides: { yawMax: 7, faceRatioMin: 0.65 }, // só o que precisar
});Qual escolher?
ESTRITO para acompanhamento clínico (comparabilidade máxima), MODERADO para apps de consumidor, RELAXADO para topo de funil onde cada fricção custa conversão — a API ainda revalida tudo no servidor.Eventos
| Evento | Quando dispara |
|---|---|
opened / closed | Ciclo de vida do componente |
cameraFailed | Permissão negada ou câmera indisponível (payload traz fallback de upload de arquivo) |
consentGiven | Usuário aceitou o termo (payload = objeto consent pronto para a API) |
qualityChanged | A cada avaliação do frame (~10×/s), com issues e orientação localizada |
captured | Foto validada e confirmada pelo usuário |
Mobile
O kit é responsivo e usa a câmera frontal em qualquer navegador móvel moderno — sem SDK nativo para instalar, sem AAR/framework para linkar. SDKs nativos (iOS/Android) para apps que precisem de captura offline estão no roadmap do programa de parceiros.