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

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âmetroESTRITOMODERADORELAXADO
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,00,70–1,00,55–1,0
Uniformidade de luzaltamédiabá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

EventoQuando dispara
opened / closedCiclo de vida do componente
cameraFailedPermissão negada ou câmera indisponível (payload traz fallback de upload de arquivo)
consentGivenUsuário aceitou o termo (payload = objeto consent pronto para a API)
qualityChangedA cada avaliação do frame (~10×/s), com issues e orientação localizada
capturedFoto 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.