Moyan SEE logo
Moyan SEE SDK v1.0.0 · free

Download the Moyan SEE SDK and ship HD meetings in minutes.

One small JavaScript SDK for both sides of the product: create video meetings and audio calls from your server with an API key, and embed the meeting room straight into your own pages — no key, no sign-up for your users.

Ways to download

moyan-see-sdk.zip

Everything below in one package — browser build, module build, TypeScript types and README.

Download

moyan-see.js

Browser build. Drop in a <script> tag and use the MoyanSee global.

Download

moyan-see.mjs

ES module for Node 18+, Bun, Deno, Cloudflare Workers and bundlers.

Download

moyan-see.d.ts

TypeScript definitions for full autocomplete and type safety.

Download

Or pull it from the terminal

curl -O https://see.moyanai.app/sdk/moyan-see.mjs
curl -O https://see.moyanai.app/sdk/moyan-see.d.ts

# or the full package
curl -O https://see.moyanai.app/sdk/moyan-see-sdk.zip && unzip moyan-see-sdk.zip

Loading it straight from our CDN works too — no download needed: https://see.moyanai.app/sdk/moyan-see.js

Embed a meeting in your own page

Runs in the browser and needs no API key. Your visitors type a name and join — no account required — with HD video, screen sharing and chat inside your layout.

<div id="meeting"></div>
<script src="https://see.moyanai.app/sdk/moyan-see.js"></script>
<script>
  // No API key needed — embedding and join links are public.
  MoyanSee.embedMeeting({
    container: "#meeting",
    roomCode: "K7QP2M",
    height: "720px",
  });
</script>

Create meetings from your server

Keep your API key server-side. Every call counts towards your API plan.

import { createClient } from "./moyan-see.mjs";

const moyan = createClient({ apiKey: process.env.MOYAN_SEE_API_KEY });

// Create an HD video meeting
const meeting = await moyan.meetings.create({
  title: "Weekly sync",
  agenda: "Roadmap review",
  scheduled_at: "2026-10-01T10:00:00Z",
  duration_minutes: 45,
});
console.log(meeting.join_url);

// Create a voice-only call
const call = await moyan.createAudioCall({ title: "Support call" });

// List your meetings
const all = await moyan.meetings.list();
import { createClient, MoyanSeeError } from "./moyan-see.mjs";

try {
  await moyan.meetings.create({ title: "Demo" });
} catch (err) {
  if (err instanceof MoyanSeeError) {
    // err.status: 401 invalid key · 429 monthly limit · 400 bad input
    console.error(err.status, err.message, err.body);
  }
}

Make it look like your product

Pass a theme object to embedMeeting() or joinUrl() and the room repaints with your colours, corner radius and font. The same options also work as plain link parameters, so meetings you create through the API can carry your branding too: /meeting?room=K7QP2M&theme=light&accent=%23ff6a00&radius=8

// Match the room to your own brand — no API key needed.
MoyanSee.embedMeeting({
  container: "#meeting",
  roomCode: "K7QP2M",
  height: "720px",
  borderRadius: "24px",
  className: "my-meeting-frame",
  theme: {
    theme: "light",          // "light" or "dark"
    accent: "#ff6a00",       // buttons, highlights, active states
    bg: "#ffffff",           // page background
    surface: "#f4f5f7",      // panels, tiles, cards
    text: "#111418",         // text colour
    radius: 8,               // corner radius in px
    font: "Inter, sans-serif",
  },
});

// Or build a themed join link for email / your own button:
MoyanSee.joinUrl("K7QP2M", { theme: { theme: "light", accent: "#ff6a00" } });

What the SDK gives you

Free to use with any plan

The SDK itself costs nothing. It uses your API allowance: 500 calls a month free, then 25,000 or 250,000 monthly calls on the API plans.