You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Node.js向Replicate API上传文件调用SadTalker模型

解决SadTalker API调用的"Unprocessable Entity"错误

你的代码存在两个核心问题,导致API返回"Unprocessable Entity"错误:

1. 未正确传递文件参数

原代码中,在fs.readFile的回调里调用getVideo()时,没有把读取到的inputImage和inputAudio传递给函数,导致函数内这两个变量为undefined,API无法解析无效的输入。

2. 嵌套回调的写法缺陷

嵌套的fs.readFile回调不仅容易造成回调地狱,还缺失了错误处理逻辑,无法排查文件读取失败的情况。


修正方案(推荐写法)

直接使用本地文件路径传递给Replicate API,SDK会自动处理文件读取,代码更简洁:

import Replicate from "replicate";
import dotenv from "dotenv";

dotenv.config();

async function getVideo() {
  const replicate = new Replicate({
    auth: process.env.REPLICATE_API_TOKEN,
  });

  try {
    const output = await replicate.run(
      "cjwbw/sadtalker:3aa3dac9353cc4d6bd62a8f95957bd844003b401ca4e4a9b33baa574c549d376",
      {
        input: {
          source_image: "./deepfakeImage.jpg",
          driven_audio: "./deepfakeAudio.mp3"
        }
      }
    );
    console.log("生成的视频URL:", output);
  } catch (err) {
    console.error("API调用失败:", err);
  }
}

getVideo();

备选方案(手动读取Buffer)

如果需要手动读取文件为Buffer传递,使用fs.promises的异步写法避免回调地狱:

import Replicate from "replicate";
import dotenv from "dotenv";
import fs from "fs/promises";

dotenv.config();

async function getVideo() {
  const replicate = new Replicate({
    auth: process.env.REPLICATE_API_TOKEN,
  });

  try {
    // 异步读取文件为Buffer
    const inputImage = await fs.readFile("./deepfakeImage.jpg");
    const inputAudio = await fs.readFile("./deepfakeAudio.mp3");

    const output = await replicate.run(
      "cjwbw/sadtalker:3aa3dac9353cc4d6bd62a8f95957bd844003b401ca4e4a9b33baa574c549d376",
      {
        input: {
          source_image: inputImage,
          driven_audio: inputAudio
        }
      }
    );
    console.log("生成的视频URL:", output);
  } catch (err) {
    console.error("操作失败:", err);
  }
}

getVideo();

额外检查项

  • 确认.env文件中的REPLICATE_API_TOKEN配置正确,且该密钥有权限访问SadTalker模型。
  • 确保图片和音频文件路径正确,相对于代码执行的当前工作目录。
  • 验证文件格式:图片需为清晰的人像照片(JPG/PNG),音频为标准MP3格式,时长建议控制在5分钟以内。

内容的提问来源于stack exchange,提问作者Leotheperegrine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 05:27:12