[ PROMPT_NODE_24858 ]
photo-avatars
[ SKILL_DOCUMENTATION ]
# 照片数字人(会说话的照片)
照片数字人允许您对静态照片进行动画处理,使其开口说话。这对于从肖像、头像或任何合适的图像创建个性化视频内容非常有用。
## 概览
HeyGen 提供了几种基于照片的数字人方案:
| 类型 | 描述 | 质量 |
|------|-------------|---------|
| Talking Photo | 基础照片动画 | 良好 |
| Photo Avatar | 带有动作的增强型照片数字人 | 更好 |
| Avatar IV | 最新一代照片数字人 | 最佳 |
## 上传照片以制作 Talking Photo
### 第一步:上传图像
typescript
// 将照片作为资产上传
const assetId = await uploadFile("./portrait.jpg", "image/jpeg");
### 第二步:创建 Talking Photo
bash
curl -X POST "https://api.heygen.com/v2/talking_photo"
-H "X-Api-Key: $HEYGEN_API_KEY"
-H "Content-Type: application/json"
-d '{
"image_url": "https://files.heygen.ai/asset/your_asset_id"
}'
### TypeScript
typescript
interface TalkingPhotoResponse {
error: null | string;
data: {
talking_photo_id: string;
};
}
async function createTalkingPhoto(imageUrl: string): Promise {
const response = await fetch("https://api.heygen.com/v2/talking_photo", {
method: "POST",
headers: {
"X-Api-Key": process.env.HEYGEN_API_KEY!,
"Content-Type": "application/json",
},
body: JSON.stringify({ image_url: imageUrl }),
});
const json: TalkingPhotoResponse = await response.json();
if (json.error) {
throw new Error(json.error);
}
return json.data.talking_photo_id;
}
## 在视频中使用 Talking Photo
typescript
const videoConfig = {
video_inputs: [
{
character: {
type: "talking_photo",
talking_photo_id: "your_talking_photo_id",
},
voice: {
type: "text",
input_text: "Hello! This is my talking photo speaking!",
voice_id: "1bd001e7e50f421d891986aad5158bc8",
},
},
],
dimension: { width: 1920, height: 1080 },
};
const videoId = await generateVideo(videoConfig);
## Avatar IV API
Avatar IV 是 HeyGen 最新的照片数字人技术,具有更高的质量和更自然的动作。
### 生成 Avatar IV 视频
bash
curl -X POST "https://api.heygen.com/v2/video/av4/generate"
-H "X-Api-Key: $HEYGEN_API_KEY"
-H "Content-Type: application/json"
-d '{
"photo_s3_key": "path/to/uploaded/photo.jpg",
"script": "Hello! This is Avatar IV with enhanced quality.",
"voice_id": "1