Install a Hono Vision server with webhook + KV support for async batch workflows.
bunx shadcn@latest add rajatsandeepsen/sarvam-simple/vision-server-webhookGet your key from sarvam.ai
SARVAM_API_KEY=your_api_key_hereimport { Hono } from "hono";
import visionServer from "./sarvam/vision/server";
const app = new Hono();
app.route(
"/vision",
visionServer({
SARVAM_API_KEY: process.env.SARVAM_API_KEY,
kvBinding: "KEYVALUE",
webHook: {
baseUrl: "https://your-domain.com/api/vision",
authToken: "your-callback-token", // optional
sendEmail: async (email, files) => {
// write your own logic
// files => [{ filename, url }]
},
},
}),
);
export default app;POST /vision/uploadPOST /vision/:id/uploadPOST /vision/:id/statusPOST /vision/:id/downloadPOST /vision/:id/emailPOST /vision/:id/webhook/vision/upload and receives { id }.{ job_id, email? } in KV (if configured)./vision/:id/webhook after processing.id -> job_id, downloads output URLs, then runs sendEmail(email, files).If webhook.authToken is set, webhook requests must include:
X-SARVAM-JOB-CALLBACK-TOKEN: <your-callback-token>