零成本制作日语数字人视频:从脚本到成片的完整链路
起因
我想做一个日语数字人视频,用于测试内容自动化的可能性。
手头的资源有限:
- VPS 没有 GPU,5.8Gi 内存
- 不想花钱订阅数字人 SaaS
- 不懂日语,但需要日语文案
目标:用免费工具跑通「输入主题 → 输出数字人日语视频」的完整链路。
整体架构
text
VPS(你的服务器)
├── One API → 生成日语脚本
└── edge-tts → 生成日语配音
↓
Mac(本地)
└── FFmpeg → 转为 WAV 格式
↓
免费云端工具(Vidnoz AI / DreamFace)
└── 数字人口型合成
↓
最终视频
核心思路:你的 VPS 负责”大脑”(脚本 + 配音),免费云端工具负责”身体”(口型合成)。
第一步:用 One API 生成日语脚本
你的 VPS 上已经配好了 One API,里面有多层 LLM 渠道。我用的是 Ollama Cloud 的 gemma4:31b(免费、非推理模型、响应快)。
bash
curl -s -X POST http://172.17.0.1:3000/v1/chat/completions \
-H "Authorization: Bearer sk-你的OneAPI令牌" \
-H "Content-Type: application/json" \
-d '{
"model": "gemma4:31b",
"messages": [{"role": "user", "content": "あなたはプロのナレーターです。次のテーマで、15秒程度の自己紹介口播文案を日本語で書いてください。テーマ:AIで未来を創る。出力は文案のみ。"}],
"max_tokens": 300,
"stream": false
}' | python3 -c "import sys,json; print(json.load(sys.stdin)['choices'][0]['message']['content'])"
生成的日语脚本:
text
AIで、未来を創る。 こんにちは。ナレーターの〇〇です。 テクノロジーが進化する時代だからこそ、心に響く「声」の力を。 あなたのビジョンに、確かな説得力と彩りを添えます。 共に、新しい時代の扉を開きましょう。
⚠️ 踩坑:推理模型返回空 content
最初用 gpt-oss:20b,返回的 content 字段是空的。原因是推理模型会先在 thinking 字段消耗 token,max_tokens 不够时 content 就被截断了。
解决:换成非推理模型 gemma4:31b,直接输出 content。
第二步:用 edge-tts 生成日语配音
edge-tts 是微软 Edge 浏览器的语音合成引擎的 Python 封装,完全免费、无需 API Key。
bash
# 把脚本写入文件
cat > /tmp/script.txt << 'EOF'
AIで、未来を創る。
こんにちは。ナレーターの〇〇です。
テクノロジーが進化する時代だからこそ、心に響く「声」の力を。
あなたのビジョンに、確かな説得力と彩りを添えます。
共に、新しい時代の扉を開きましょう。
EOF
# 生成日语配音
python3 -c "
import asyncio, edge_tts
text = open('/tmp/script.txt').read().strip()
async def main():
comm = edge_tts.Communicate(text, 'ja-JP-NanamiNeural')
await comm.save('/tmp/japanese_voice.mp3')
asyncio.run(main())
"
日语音色推荐:
| 音色 ID | 说明 |
|---|---|
ja-JP-NanamiNeural | 女声,自然流畅(我用的这个) |
ja-JP-KeitaNeural | 男声 |
ja-JP-AoiNeural | 女声,更年轻 |
⚠️ 踩坑:edge-tts 不在系统 Python 里
直接运行 python3 -c "import edge_tts" 报 ModuleNotFoundError。原因是 edge-tts 装在 venv 里,不在系统 Python。
解决:先激活 venv:
bash
cd /opt/rag-nvidia source venv/bin/activate
第三步:转成 WAV 格式
免费数字人工具通常要求 WAV 格式的音频。从 VPS 下载 MP3 到 Mac,用 FFmpeg 转换:
bash
# 在 Mac 上执行 scp root@162.43.92.249:/tmp/japanese_voice.mp3 ~/Downloads/ ffmpeg -i ~/Downloads/japanese_voice.mp3 -ar 16000 -ac 1 ~/Downloads/japanese_voice.wav
转换结果:
| 项目 | 值 |
|---|---|
| 文件 | japanese_voice.wav |
| 大小 | 692 KB |
| 时长 | 22.13 秒 |
| 采样率 | 16000 Hz |
| 声道 | 单声道 |
第四步:用免费工具生成数字人视频
我用的是 Vidnoz AI(网页端,每天免费 8 积分)。
操作步骤:
- 访问
vidnoz.com,注册免费账号 - 进入 「AI Talking Head」 功能
- 选择 日语 作为语言
- 上传人像照片(正面清晰,面部无遮挡)
- 上传
japanese_voice.wav - 点击生成(消耗积分)
- 下载视频(免费版带 Vidnoz 水印)
其他可选工具:
| 工具 | 免费额度 | 特点 |
|---|---|---|
| DreamFace | 免费(App 内购) | 手机操作,体验好 |
| HeyGen | 每月 3 个视频 | 质量最高,但有水印 |
| UGC Maker | 每天 4 积分 | 无需注册,可商用 |
完整成本分析
| 环节 | 工具 | 成本 |
|---|---|---|
| 日语脚本 | One API + Ollama Cloud | 免费 |
| 日语配音 | edge-tts | 免费 |
| 格式转换 | FFmpeg | 免费 |
| 数字人合成 | Vidnoz AI | 免费(每天 8 积分) |
| 总计 | 0 元 |
踩坑记录
1. 推理模型返回空 contentgpt-oss:20b 会先在 thinking 字段消耗 token,max_tokens 不够时 content 为空。换成非推理模型 gemma4:31b 解决。
2. edge-tts 不在系统 Python
edge-tts 装在 venv 里,需要先 source venv/bin/activate 才能用。
3. 数字人工具要求 WAV 格式
从 MP3 转 WAV 时,建议用 -ar 16000 -ac 1(16kHz 单声道),兼容性最好。
4. 免费工具的水印
Vidnoz 免费版输出带水印。如果对无水印有要求,需要付费或换工具。
可优化的方向
1. 自动化
把 Step 1-3 串成一个 VPS 脚本,一条命令生成「日语脚本 + 配音 + WAV」。
2. 质量提升
- 脚本用
kimi-k3或nemotron-3-ultra生成更自然的日语 - 配音尝试不同音色
- 数字人换用质量更高的工具
3. 批量生产
写循环脚本,一次生成多个视频的脚本和配音,批量上传到数字人工具。
总结
核心洞察:没有 GPU 不代表不能做数字人视频。把链路拆成”脚本生成”、”配音生成”、”口型合成”三段,前两段用 VPS 免费完成,第三段用免费云端工具完成。
唯一需要手动操作的是上传到数字人工具,因为免费工具通常没有开放 API。但整个流程的核心(日语脚本 + 日语配音)已经完全自动化。
