Building with an SDK
Start with the canonical quickstart. Keep direct HTTP usage focused on room setup and access.
Open SDK quickstartUnderstand how the dashboard, developer console, SDK documentation, and API workbench fit together.
Guide switcher
This page covers dashboard/API feature configuration. Use the dashboard guide for non-technical walkthroughs and the docs portal for SDK implementation.
Core building blocks for real-time rooms, recording, and event management.
MediaSFU integrations have two distinct phases: configure the room through HTTP, then operate the live session through an SDK and realtime events. Choose the path below before working through the detailed references.
Start with the canonical quickstart. Keep direct HTTP usage focused on room setup and access.
Open SDK quickstartUse these developer-console guides for credentials, defaults, artifacts, and platform integrations.
Continue to RoomsUse the dashboard-first guide for room, recording, billing, and workspace workflows.
Open User GuideSet domains, event defaults, recording behavior, and optional integrations.
Create a room, issue host or member access, and initialize the selected SDK.
Use SDK methods and socket events for media controls, moderation, and live state.
Retrieve recordings, AI notes, activity, and other post-session artifacts.
Get started quickly with our video tutorial series. Perfect for visual learners and those who want to see MediaSFU in action.
Start your MediaSFU journey with this introduction covering platform capabilities, use cases, and development approaches.
Understanding MediaSFU Rooms
Once connected, clients publish and consume events related to media capture, device state, and room lifecycle changes. If your use case is recording-heavy, the later sections cover the recommended patterns for stable recording sessions.
For most teams, create + member onboarding is enough to get started quickly. You can layer on advanced controls as your product requirements grow.
Note: If you are using an official SDK, you can focus on the core room APIs first. The deeper sections are mainly for custom SDK builders or unsupported language environments.
If yes, use the modern SDK path. If not, continue with this low-level Rooms reference.
Learn about managing and utilizing domains on MediaSFU, including registration, verification, and control functions.
Registered domains define where production requests may originate and can also establish an institution login boundary. Your subscription determines how many domains the workspace can register.
Production API requests are accepted only from an origin registered to your workspace.
Unregistered origins and localhost remain available for development and sandbox testing.
Enable institution login on a registered domain to let authenticated people with matching email addresses join the workspace as sub-users. Keep it disabled when domain ownership should only control API access.
Add the exact application origin.
Choose institution-login behavior.
Send production requests from that origin.
Continue with the guide sections above to list, create, update, or delete domains.
Configure participant limits, media defaults, SIP behavior, translation presets, and AI notes from one focused event-settings workflow.
Move through the API workflow in order, or jump straight to the action you need.
Users can define parameters such as the number of participants per page, preferred video orientation, and other relevant settings. This now also includes translation presets, audio vs text-only translation output, and AI notes room flags. This streamlines the event creation process, ensuring that each event aligns with the user's preferred configuration.
enableAiNotes requires a non-empty translationConfigNickName. For notes without translated audio, send aiNotesOnly: true; the backend normalizes the room to supportTranslation: true and translationOutputMode: "text-only"./v1/eventssettings and /v1/rooms accept enableAiNotes, aiNotesOnly, translationOutputMode, translationConfigNickName, and optional aiNoteTakerConfig.Use the Sandbox to experiment with the API, modify parameters, and analyze responses for different scenarios.
Learn about managing and configuring recording settings on MediaSFU for optimal recording experiences.
Users can define parameters such as the number of participants per page, preferred video orientation, and other relevant settings. This streamlines the recording creation process, ensuring that each recording aligns with the user's preferred configuration.
Use the Sandbox to experiment with the API, modify parameters, and analyze responses for different scenarios.
Guide to managing sub-users in MediaSFU
Sub-users operate within the same account, sharing the balance and credentials automatically. This is useful for institutions, companies, or individual users who want to use the same account under different aliases or for accounting purposes.
As the primary user, you have full control over sub-users, including the ability to manage and monitor their usage across your organization or team.
Follow the steps below to get started with sub-users using our API:
Guide to managing recordings in MediaSFU
MediaSFU's recording system allows you to capture and manage video recordings from your events, meetings, and webinars. The recordings feature provides full functionality for listing, accessing, and managing recorded content.
To get recordings from MediaSFU, follow these simple steps using our API:
Use the GET endpoint to retrieve and manage your recordings. The system provides detailed information about each recording including duration, file size, creation date, and access URLs.
Room flags, translation presets, authenticated app configuration support, and REST payload behavior for optional AI Notes.
The technical AI Notes path is tied to the translation runtime. A translation config defines the STT, LLM, TTS, output mode, and optional AI note-taker defaults. A room or event setting then opts into that config with room-level flags.
Stores provider nicknames, pipeline settings, language filters, output mode, and aiNoteTakerConfig.
Enable notes for a specific room with enableAiNotes or force notes-only behavior with aiNotesOnly.
Generated summaries, markdown notes, and transcript exports surface in the dashboard and optional public passcode flow.
Guide to managing AI credentials in MediaSFU
AI Credentials in MediaSFU allow you to securely store and manage authentication information for AI services like LLM, TTS, STT, and realtime speech-to-speech providers.
Create, update, delete, and list AI credentials through our REST API endpoints with support for VISION and VOICE services.
Guide to managing SIP configurations in MediaSFU
A SIP configuration joins a provider or carrier to MediaSFU, assigns the contact number used for routing, and defines how inbound and outbound calls should behave.
Configure SIP providers, trunks, and verified DIDs.
Direct inbound calls and enable outbound calling.
Attach IVR, playback, callbacks, or AI agents.
Apply IP rules, geographic restrictions, and recording policy.
Verify the contact number, confirm provider credentials, and test inbound and outbound routing in the sandbox. Configurations may belong to the main workspace or a specific sub-user.
Real-time translation for meetings
MediaSFU's real-time translation enables participants in meetings to speak in their native language while others hear the translation in their preferred language. Presets can default to translated audio or text-only output, and can advertise AI note-taking support.
Automatic speech-to-text converts spoken words into text in real-time.
Advanced LLMs translate text while preserving context and meaning.
Natural-sounding text-to-speech delivers translations as audio.
Each participant chooses their listening language independently.
Enable room summaries alongside translation, or run notes-only mode with text-only output.
Audio captured and streamed
Speech converted to text
Text translated to target languages
Translated audio delivered
What are disposable API keys?
Disposable API keys are temporary, scoped credentials that allow third parties to perform specific operations on your account without exposing your main API key.
Keys expire after a configurable duration (1 day to 1 year, or never).
Restrict to specific operations (create rooms, make calls, etc.).
Only works from specified domains for additional security.
Instantly revoke access at any time if compromised.
Define permissions & domains
They integrate the key
Limited to allowed ops
Access ends automatically