Marketplace replicate-handler
Integrate with Replicate AI for running models (image generation, LLMs, etc.).
install
source · Clone the upstream repo
git clone https://github.com/aiskillstore/marketplace
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/aiskillstore/marketplace "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/aayushbaniya2006/replicate-handler" ~/.claude/skills/aiskillstore-marketplace-replicate-handler && rm -rf "$T"
manifest:
skills/aayushbaniya2006/replicate-handler/SKILL.mdsource content
Replicate Handler
Setup
- Install:
npm install replicate - Environment: Add
toREPLICATE_API_TOKEN
(and.env
)..env.local
Usage Patterns
1. Quick Run (Short Tasks)
For models that complete quickly (seconds), use
replicate.run.
import Replicate from "replicate"; const replicate = new Replicate({ auth: process.env.REPLICATE_API_TOKEN, }); // Run a model const output = await replicate.run( "owner/model:version", { input: { prompt: "..." } } );
2. Long-Running Tasks (with Inngest)
For tasks that might timeout (video generation, large models), use Inngest's
step.sleep to poll for completion.
// In an Inngest function export const generateVideo = inngest.createFunction( { id: "generate-video" }, { event: "video.generate" }, async ({ event, step }) => { // 1. Create Prediction const prediction = await step.run("create-prediction", async () => { return await replicate.predictions.create({ version: "model-version-hash", input: { prompt: event.data.prompt } }); }); let status = prediction.status; let result = prediction; // 2. Poll for Completion while (status !== "succeeded" && status !== "failed" && status !== "canceled") { // Sleep for 5s (Inngest handles this without consuming server time) await step.sleep("wait-for-model", "5s"); // Check status result = await step.run("check-status", async () => { return await replicate.predictions.get(prediction.id); }); status = result.status; } // 3. Handle Result if (status === "failed") { throw new Error(`Replicate failed: ${result.error}`); } return result.output; } );
Types Reference
See reference.md for the full type definitions of the Replicate SDK.