{"adoption": {"forks": 343, "observed_at": "2026-08-28T04:06:04.969368+00:00", "stars": 2009}, "canonical_url": "https://ross.abutalabs.com/products/sadtalker-video-lip-sync", "card": {"archived": false, "artifact_type": "library", "description": "本项目基于SadTalkers实现视频唇形合成的Wav2lip。通过以视频文件方式进行语音驱动生成唇形，设置面部区域可配置的增强方式进行合成唇形（人脸）区域画面增强，提高生成唇形的清晰度。使用DAIN 插帧的DL算法对生成视频进行补帧，补充帧间合成唇形的动作过渡，使合成的唇形更为流畅、真实以及自然。", "domain": ["deep-learning", "computer-vision", "artificial-intelligence", "media"], "enriched": true, "function": ["video-processing", "machine-learning", "deep-learning", "image-processing", "cli"], "health_score": 20, "homepage": null, "language": "Python", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["Zz-ww/SadTalker-Video-Lip-Sync"], "name": "Zz-ww/SadTalker-Video-Lip-Sync", "platform": ["python", "cli"], "pushed_at": "2023-06-04T01:50:37+00:00", "repo": "Zz-ww/SadTalker-Video-Lip-Sync", "stars": 2009, "tags": ["lip-sync", "talking-head", "sadtalker", "wav2lip", "frame-interpolation", "dain", "face-enhancement", "audio-driven-video", "gpu-required", "video", "linux", "gpu"], "topics": [], "urls": [], "use_cases": ["generate lip-synced video from an audio track", "make a person in a video appear to speak given audio", "improve lip sync clarity with face or lip region enhancement", "interpolate video frames to make lip movement smoother", "compare lip sync quality against wav2lip, retalking, and sadtalker", "dub a video into another language with matching mouth movement"], "what_it_is": "A Python tool built on SadTalker that generates lip-synced video from an audio file and a source video, with configurable face/lip region enhancement for sharper results. It optionally uses the DAIN deep-learning frame interpolation model to smooth lip motion by increasing the output frame rate.", "when_to_avoid": ["you need a permissively licensed project - no license is specified", "you lack a CUDA GPU, since enhancement and DAIN interpolation are resource-heavy", "you need real-time or production-grade lip sync rather than offline batch generation", "you want an actively maintained project - the last release was mid-2023"], "when_to_choose": ["you need audio-driven lip sync on an existing video rather than a single photo", "you want sharper lip or face regions via configurable enhancement", "you want smoother mouth motion through DAIN frame interpolation and have GPU capacity to spare"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/sadtalker-video-lip-sync", "repo": "Zz-ww/SadTalker-Video-Lip-Sync", "role": "main", "score": 30}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:04.969368+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:01:15.260334+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6af0d02946206126dda152f45e1e79647cc5948022982518c04a8866cdd78a2c", "fetched_at": "2026-08-28T04:06:04.969368+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Zz-ww/SadTalker-Video-Lip-Sync"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:04.969368+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:01:15.260334+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6af0d02946206126dda152f45e1e79647cc5948022982518c04a8866cdd78a2c", "fetched_at": "2026-08-28T04:06:04.969368+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Zz-ww/SadTalker-Video-Lip-Sync"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:01:15.260334+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6af0d02946206126dda152f45e1e79647cc5948022982518c04a8866cdd78a2c", "fetched_at": "2026-08-28T04:06:04.969368+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Zz-ww/SadTalker-Video-Lip-Sync"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:06:04.969368+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:04.969368+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:04.969368+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:01:15.260334+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6af0d02946206126dda152f45e1e79647cc5948022982518c04a8866cdd78a2c", "fetched_at": "2026-08-28T04:06:04.969368+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Zz-ww/SadTalker-Video-Lip-Sync"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:04.969368+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:04.969368+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:01:15.260334+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6af0d02946206126dda152f45e1e79647cc5948022982518c04a8866cdd78a2c", "fetched_at": "2026-08-28T04:06:04.969368+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Zz-ww/SadTalker-Video-Lip-Sync"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:04.969368+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:04.969368+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:04.969368+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:01:15.260334+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6af0d02946206126dda152f45e1e79647cc5948022982518c04a8866cdd78a2c", "fetched_at": "2026-08-28T04:06:04.969368+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Zz-ww/SadTalker-Video-Lip-Sync"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:04.969368+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:04.969368+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:01:15.260334+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6af0d02946206126dda152f45e1e79647cc5948022982518c04a8866cdd78a2c", "fetched_at": "2026-08-28T04:06:04.969368+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Zz-ww/SadTalker-Video-Lip-Sync"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:01:15.260334+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6af0d02946206126dda152f45e1e79647cc5948022982518c04a8866cdd78a2c", "fetched_at": "2026-08-28T04:06:04.969368+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Zz-ww/SadTalker-Video-Lip-Sync"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:01:15.260334+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6af0d02946206126dda152f45e1e79647cc5948022982518c04a8866cdd78a2c", "fetched_at": "2026-08-28T04:06:04.969368+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Zz-ww/SadTalker-Video-Lip-Sync"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:01:15.260334+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6af0d02946206126dda152f45e1e79647cc5948022982518c04a8866cdd78a2c", "fetched_at": "2026-08-28T04:06:04.969368+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Zz-ww/SadTalker-Video-Lip-Sync"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 88, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1238, "days_push": 1187, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 30, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}