moyan-see-sdk.zip
Everything below in one package — browser build, module build, TypeScript types and README.
Download
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.
Everything below in one package — browser build, module build, TypeScript types and README.
DownloadBrowser build. Drop in a <script> tag and use the MoyanSee global.
DownloadES module for Node 18+, Bun, Deno, Cloudflare Workers and bundlers.
DownloadTypeScript definitions for full autocomplete and type safety.
Downloadcurl -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.zipLoading it straight from our CDN works too — no download needed: https://see.moyanai.app/sdk/moyan-see.js
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>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);
}
}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" } });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.