# SadTalker > Talking-head generation from a single photo and an audio track — animates the face with natural head motion, eye blinks, and optional GFPGAN enhancement. - **Provider**: replicate - **Model ID**: cjwbw/sadtalker - **Category**: lipsync_face_animation - **Credits**: 91 per request - **Pricing Type**: fixed ## API Endpoint Base URL: https://api.core.today/v1 ### Create Prediction POST /predictions ### Get Status GET /predictions/{job_id} ### Cancel DELETE /predictions/{job_id} ## Authentication Header: `X-API-Key: YOUR_API_KEY` ## Input Parameters - `pose_style` (integer, optional): Pose style (Default: `0`; Range: min: 0, max: 45) - `preprocess` (string, optional): Choose how to preprocess the images (Default: `crop`; Options: `crop`, `resize`, `full`, `extcrop`, `extfull`) - `facerender` (string, optional): Choose face render (Default: `facevid2vid`; Options: `facevid2vid`, `pirender`) - `source_image` (string, **required**): Upload the source image, it can be video.mp4 or picture.png - `use_eyeblink` (boolean, optional): Use eye blink (Default: `True`) - `size_of_image` (integer, optional): Face model resolution (Default: `256`; Options: `256`, `512`) - `expression_scale` (number, optional): a larger value will make the expression motion stronger (Default: `1`) - `use_enhancer` (boolean, optional): Use GFPGAN as Face enhancer (Default: `False`) - `driven_audio` (string, **required**): Upload the driven audio, accepts .wav and .mp4 file - `still_mode` (boolean, optional): Still Mode (fewer head motion, works with preprocess 'full') (Default: `True`) ## Example Request ```json { "model": "cjwbw/sadtalker", "input": { "pose_style": 0, "preprocess": "crop", "facerender": "facevid2vid", "source_image": "https://replicate.delivery/pbxt/IkgW9tngATq608Qf6haUXDpg81s5YBJfS9GaBiCFjdKXk4F5/art_1.png", "use_eyeblink": true, "size_of_image": 256, "expression_scale": 1, "use_enhancer": true, "still_mode": true, "driven_audio": "https://replicate.delivery/pbxt/IkgWA4bLoXpk5NwVsfOBzHh7MswfNLTgtf44Qr2gdOTOWvSX/japanese.wav" } } ``` ## Response Format ```json { "job_id": "abc123", "status": "pending", "provider": "replicate", "model": "black-forest-labs/flux-schnell", "created_at": "2026-01-01T00:00:00Z", "result": null, "error": null } ``` Status values: `pending`, `processing`, `completed`, `failed`, `cancelled` ## Usage Flow 1. POST /predictions with model and input → receive job_id 2. Poll GET /predictions/{job_id} until status is `completed` or `failed` 3. Result contains output URL(s) or data ## Output Type url ## Tags talking-head, lipsync, face-animation, avatar, sadtalker ## Documentation https://replicate.com/cjwbw/sadtalker