ReplicateAI集成处理器Skill replicate-handler

这是一个用于集成Replicate AI服务的技能工具,主要功能是调用和运行Replicate平台上的各类AI模型,如图像生成、大语言模型(LLM)等。它提供了两种任务处理模式:快速同步调用适用于短任务,以及基于Inngest的异步轮询机制来处理视频生成等可能超时的长任务。关键词:Replicate AI集成,AI模型调用,图像生成,大语言模型,异步任务处理,Inngest,Node.js SDK。

AI应用 0 次安装 0 次浏览 更新于 3/1/2026

名称: replicate-handler 描述: 与Replicate AI集成,用于运行模型(图像生成、大语言模型等)。

Replicate处理器

设置

  1. 安装: npm install replicate
  2. 环境变量: 在 .env(以及 .env.local)文件中添加 REPLICATE_API_TOKEN

使用模式

1. 快速运行(短任务)

对于快速完成(几秒钟)的模型,使用 replicate.run

import Replicate from "replicate";

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

// 运行一个模型
const output = await replicate.run(
  "所有者/模型:版本",
  {
    input: {
      prompt: "..."
    }
  }
);

2. 长时间运行任务(使用Inngest)

对于可能超时的任务(视频生成、大型模型),使用Inngest的 step.sleep 来轮询完成状态。

// 在一个Inngest函数中
export const generateVideo = inngest.createFunction(
  { id: "generate-video" },
  { event: "video.generate" },
  async ({ event, step }) => {
    
    // 1. 创建预测
    const prediction = await step.run("create-prediction", async () => {
      return await replicate.predictions.create({
        version: "模型版本哈希",
        input: { prompt: event.data.prompt }
      });
    });

    let status = prediction.status;
    let result = prediction;

    // 2. 轮询完成状态
    while (status !== "succeeded" && status !== "failed" && status !== "canceled") {
      // 休眠5秒(Inngest处理此操作,不消耗服务器时间)
      await step.sleep("wait-for-model", "5s");

      // 检查状态
      result = await step.run("check-status", async () => {
        return await replicate.predictions.get(prediction.id);
      });
      status = result.status;
    }

    // 3. 处理结果
    if (status === "failed") {
      throw new Error(`Replicate失败: ${result.error}`);
    }
    
    return result.output;
  }
);

类型参考

完整Replicate SDK的类型定义请参见 reference.md