{
  "character_asset_id": "char_godfortune_boy_dosa",
  "created_at": "2026-05-20T08:41:59Z",
  "updated_at": "2026-05-20T08:55:52Z",
  "status": "lp2_face_motion_preview_generated_with_v2b_failure",
  "engine": {
    "name": "ComfyUI-LivePortraitKJ",
    "repository": "https://github.com/kijai/ComfyUI-LivePortraitKJ",
    "commit": "4d9dc6205b793ffd0fb319816136d9b8c0dbfdff",
    "license": "MIT"
  },
  "source_image": "/data/studio-core/artifacts/character_assets/char_godfortune_boy_dosa/reference/face_focus/main_face_reference.png",
  "driving_images": "/data/studio-core/engines/ComfyUI/input/godfortune_boy_dosa/liveportrait_driving_v1",
  "workflow": "/data/studio-core/tmp/comfyui-workflows/godfortune-liveportrait-face-motion-v1.json",
  "outputs": {
    "frames_dir": "/data/studio-core/artifacts/character_assets/char_godfortune_boy_dosa/liveportrait/face_motion_v1/frames",
    "contact_sheet": "/data/studio-core/artifacts/character_assets/char_godfortune_boy_dosa/liveportrait/face_motion_v1/liveportrait_face_motion_v1_contact_sheet.png",
    "preview_video": "/data/studio-core/artifacts/character_assets/char_godfortune_boy_dosa/liveportrait/face_motion_v1/liveportrait_face_motion_v1.mp4"
  },
  "failed_or_rejected_outputs": {
    "v2_lip_retarget": {
      "workflow": "/data/studio-core/tmp/comfyui-workflows/godfortune-liveportrait-face-motion-v2-lip-retarget.json",
      "performance_log": "/data/studio-core/logs/perf/20260520T085257Z-godfortune-liveportrait-face-motion-v2-lip-retarget",
      "reason": "FaceAlignment failed on extreme O/U mouth-shape driving frames, producing None crop entries."
    },
    "v2b_lip_retarget_detectable": {
      "workflow": "/data/studio-core/tmp/comfyui-workflows/godfortune-liveportrait-face-motion-v2b-lip-retarget-detectable.json",
      "performance_log": "/data/studio-core/logs/perf/20260520T085422Z-godfortune-liveportrait-face-motion-v2b-lip-retarget-detectable",
      "outputs_dir": "/data/studio-core/artifacts/character_assets/char_godfortune_boy_dosa/liveportrait/face_motion_v2b_lip_retarget",
      "reason": "Workflow completed, but mouth motion stayed weak and one eye produced visible artifacts. Do not use as default preview."
    }
  },
  "performance_log": "/data/studio-core/logs/perf/20260520T084033Z-godfortune-liveportrait-face-motion-v1-models-ready",
  "assessment": {
    "gate_result": "pass",
    "identity_stability": "good",
    "motion_strength": "weak_to_medium",
    "notes": [
      "LivePortraitKJ imports successfully with existing IPAdapter and VideoHelperSuite.",
      "The first successful preview preserved the Godfortune face and gat better than manual mouth overlay.",
      "The driving images were temporary mouth-shape stills, so this is not a final audio-sync quality test.",
      "MediaPipe cropper path is currently blocked by mediapipe package API mismatch. FaceAlignment cropper path works after local import compatibility patch.",
      "Torch landmark runner required a PyTorch 2.6+ weights_only compatibility patch for landmark_model.pth.",
      "Lip retargeting with artificial mouth-shape stills is not suitable: it either fails face detection on extreme mouth shapes or creates eye artifacts without meaningful mouth motion."
    ]
  },
  "next_recommendation": "Do not treat LivePortrait as the lip-sync engine by itself. Use it only if a natural driving video or audio-to-landmark driver is available. Next compare an audio-driven engine such as SadTalker or EchoMimic in isolation."
}
