npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@visgate_ai/server-proxy

v0.1.5

Published

Framework-agnostic server proxy for Visgate API — add your API key on the server, keep it out of the client.

Downloads

512

Readme

@visgate_ai/server-proxy

Server-side proxy for the Visgate API. Keeps your API key on the server so the client never sees it.

  • Framework-agnostic core: proxyToVisgate(request, options) — use with any Node server.
  • Next.js: Drop-in route handlers; one line to mount the proxy.

Install

npm install @visgate_ai/server-proxy

Environment

On the server, set:

  • VISGATE_API_KEY (required) — your Visgate API key (vg-...).
  • VISGATE_BASE_URL (optional) — defaults to https://visgateai.com/api/v1.

BYOK (Bring Your Own Key): To use provider keys on the server (so the client never sends them), set:

  • VISGATE_FAL_KEY or FAL_KEY — Fal API key.
  • VISGATE_REPLICATE_KEY or REPLICATE_API_TOKEN — Replicate API token.
  • VISGATE_RUNWAY_KEY or RUNWAY_API_KEY — Runway API key.
  • VISGATE_RUNPOD_KEY or RUNPOD_API_KEY — RunPod API key.

The proxy injects these headers when the client does not send them.

Next.js (App Router)

  1. Create the route file:

app/api/visgate/[...path]/route.ts

// Video generation can take several minutes; set maxDuration to avoid 502 Bad Gateway.
export const maxDuration = 300;

export { GET, POST, PUT, DELETE, OPTIONS } from "@visgate_ai/server-proxy/next";
  1. In your client (browser), use the Visgate SDK with proxyUrl:
import { Client } from "@visgate_ai/client";

const client = new Client({ proxyUrl: "/api/visgate" });
const result = await client.generate("a sunset");

No API key in the client — the proxy adds it on the server.

For video generation, use a longer client timeout (e.g. 5 minutes) so the request does not abort before the API responds:

const client = new Client({ proxyUrl: "/api/visgate", timeout: 300_000 });
const result = await client.videos.generate("fal-ai/veo3", "a sunset");

Core API (any framework)

import { proxyToVisgate } from "@visgate_ai/server-proxy";

// In your handler (e.g. Express, Hono, etc.):
const response = await proxyToVisgate(request, {
  pathSegments: ["health"], // or ["videos", "generate"], ["images", "generate"], etc.
  // apiKey: process.env.VISGATE_API_KEY (default)
  // baseUrl: process.env.VISGATE_BASE_URL (default)
  // timeoutMs: 300000 (default 5 min; increase for very long video jobs)
});
// Return response to the client

License

MIT