Skip to main content
SDK 2.0.0. Autenticación: Autenticación y licencia. Enumeraciones: Enumeraciones de parámetros.

Integración

Falló la creación del motor / init()

  • EngineConfig debe tener un licenseToken no vacío. En Web no hay campos appId / appKey en la config.
  • Producción: tu servidor debe devolver el cuerpo de la API de autenticación ({success, token} o JSON de error). Consulta Autenticación y licencia.
  • Confirma que la página puede descargar los archivos de runtime del SDK (bundler / CDN). Consulta Manejo de errores.
  • Confirma que la página es HTTPS o localhost.
  • Revisa FacebetterError.code (Manejo de errores).

¿Cómo paso AppID / AppKey?

No lo hagas: no van en EngineConfig. Guárdalos en el servidor, obtén un token y pasa licenseToken.

¿Puedo usar un .lic sin conexión en el navegador?

No. Web debe completar una ruta v2 en línea.

¿Cómo actualizo el paquete?

Efectos

La belleza se ve débil o demasiado fuerte

Las intensidades son [0.0, 1.0]. El remodelado es [-1.0, 1.0] (0 = desactivado). Prueba FrameType.Image para estáticos. Enumeraciones de estilo: Enumeraciones de parámetros.

El filtro / sticker no hace nada

Pasa la ruta o bytes .fbd directamente a setFilter / setSticker. Una cadena vacía lanza excepción: llama a clearFilter() / clearSticker().

El fondo virtual queda en blanco

Llama a setVirtualBackgroundBlur(level) o setVirtualBackground(path|Uint8Array), no a un objeto de opciones. Un desenfoque 0 borra el efecto. En pantalla verde, setChromaKey solo define la máscara; sigue haciendo falta desenfoque o una imagen.

La salida es negra

El vídeo puede no tener aún un fotograma (videoWidth === 0). Falta el contexto del canvas. Llama a processImage solo después de engine.initialized.

Rendimiento

La vista previa es lenta

Cámara: usa FrameType.Video, limita la resolución de captura (por ejemplo 720p), evita callbacks de landmarks y ejecuta el bucle en requestAnimationFrame. Observa engine.getStats().avgProcessTimeMs. En fotos grandes de galería, no envíes el original a processImage en cada tick del deslizador. Crea un fotograma de vista previa más pequeño al abrir el archivo; exporta el original una vez. Véase Mejores prácticas.

La memoria crece en una SPA

Llama a engine.destroy() al salir de la página. No dejes motores huérfanos entre cambios de ruta.

Compatibilidad

Admitido: Chrome 57+, Firefox 52+, Safari 11+, Edge 16+. En móvil, baja la resolución de captura y las intensidades de los efectos.

Ejemplo React

Ejemplo completo: demo/web/react en el repositorio del SDK.

Relacionado