統合
エンジン作成 / init() が失敗する
EngineConfigには空でないlicenseTokenが必要です。Web 設定にappId/appKeyフィールドはありません。- 本番: サーバーは認証 API のレスポンス本文(
{success, token}またはエラー JSON)を返す必要があります。認証とライセンス を参照してください。 - ページが SDK ランタイムファイルをダウンロードできることを確認します(バンドラ / CDN)。エラー処理 を参照してください。
- ページが HTTPS または localhost であることを確認します。
FacebetterError.codeを確認します(エラー処理)。
AppID / AppKey はどう渡す?
EngineConfig には書かないでください。キーはサーバーに置き、トークンを取得してから licenseToken に渡します。
ブラウザでオフライン .lic は使える?
使えません。Web はオンライン v2 認証が必要です。
パッケージのアップグレード方法は?
効果
美顔が弱すぎる、または強すぎる
強度範囲は[0.0, 1.0] です。リシェイプ範囲は [-1.0, 1.0](0 はオフ)です。静止画では FrameType.Image を試せます。スタイル列挙: パラメータ列挙。
フィルター / ステッカーが効かない
.fbd のパスまたはバイトを setFilter / setSticker に直接渡します。空文字列はエラーになります。オフにするには clearFilter() / clearSticker() を使います。
バーチャル背景が黒い / 変わらない
setVirtualBackgroundBlur(level) または setVirtualBackground(path|Uint8Array) を呼び出してください。options オブジェクトは渡しません。ぼかしに 0 を渡すと効果はオフになります。グリーンスクリーンでは setChromaKey はマスクのみを設定するので、ぼかしまたは背景画像も必要です。
出力が真っ黒
動画にまだフレームがない(videoWidth === 0)、または Canvas コンテキストを取得できない場合があります。processImage は engine.initialized のあとでのみ呼び出してください。
パフォーマンス
プレビューがカクつく
カメラ:FrameType.Video を使い、キャプチャ解像度を制限し(例: 720p)、キーポイントコールバックをオフにし、ループは requestAnimationFrame 内に置きます。engine.getStats().avgProcessTimeMs を確認できます。
ギャラリーの大きな静止画は、スライダーのたびに原寸を processImage に渡さないでください。ファイルを開いたときに小さいプレビューフレームを作り、書き出しで原寸を 1 回処理します。ベストプラクティス を参照してください。
SPA でメモリが増え続ける
ページを離れるときにengine.destroy() を呼び出します。ルート切り替えでエンジンインスタンスをリークしないでください。
互換性
Chrome 57+、Firefox 52+、Safari 11+、Edge 16+ に対応します。モバイルではキャプチャ解像度とパラメータ強度を下げることを推奨します。React の例
demo/web/react にあります。

