Integration

Vercel Functions with Meridian

Both Node serverless and Edge runtimes can call Meridian. Set MERIDIAN_KEY in project env vars, then point the OpenAI SDK or native fetch at the gateway.

Node serverless route

// app/api/chat/route.ts (Node runtime)
import { NextResponse } from "next/server";
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.MERIDIAN_KEY!,
  baseURL: "https://meridian.getnimbus.net/api/v1",
});

export async function POST(req: Request) {
  const { prompt } = await req.json();
  const resp = await client.chat.completions.create({
    model: "azure-swc/gpt-4.1",
    messages: [{ role: "user", content: prompt }],
  });
  return NextResponse.json({ reply: resp.choices[0].message.content });
}

Edge runtime streaming

// Edge runtime variant: streaming via fetch
export const runtime = "edge";

export async function POST(req: Request) {
  const { prompt } = await req.json();
  return fetch("https://meridian.getnimbus.net/api/v1/chat/completions", {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.MERIDIAN_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      model: "azure-swc/gpt-4.1",
      stream: true,
      messages: [{ role: "user", content: prompt }],
    }),
  });
}