Build a compact call
A private call between two people, or a handful: camera, microphone, screen share, leave and end. It is the quickest way to put calling in your product, and every other product guide here starts from it.

- 1 request
- from your server creates the room
- 9 SDKs
- have a complete, runnable compact-call tutorial
- 0 installs
- to join through the room link in a browser
How it fits together
- CallerTaps CallIn your web, mobile or desktop app.
- Your serverCreates the roomAfter signing the person in. Your API key stays here.
- MediaSFUCarries the callAudio, video and screen share between everyone in the room.
- Both peopleTalk, then leaveLeave drops one person. End closes the call for all.
What MediaSFU handles
| You need | MediaSFU gives you | Read |
|---|---|---|
| A join screen, video tiles and call controls | The supplied room UI in every SDK, or your own UI on the same engine | Choose a UI level |
| Camera, microphone and screen share | Device controls and remote media rendering | Devices by SDK |
| Leave for one person, end for everyone | Separate Leave and End actions, with End for the host only | Leave, end and rejoin |
| Calls that survive a network drop | Reconnect and media recovery | Recovery by SDK |
| Phone callers in the same call | SIP dial-in on the room | Rooms API |
Set it up
-
Create the room from your server. A two-person call needs a capacity of 2:
curl -X POST https://mediasfu.com/v1/rooms \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $MEDIASFU_API_USERNAME:$MEDIASFU_API_KEY" \
-d '{"action":"create","userName":"host","duration":30,"capacity":2,"eventType":"conference"}'The response carries
roomName,meetingIDandpublicURL. -
Send only those room details to your app. The API key never leaves your server; Secure backend has a complete Node route for this.
-
Join from your app with your SDK (below), or open
publicURLin a browser tab or iframe when you don't need an SDK at all.
Build it in your SDK
- ReactJSComplete tutorial
- AngularComplete tutorial
- VueComplete tutorial
- React NativeComplete tutorial
- ExpoComplete tutorial
- FlutterComplete tutorial
- AndroidComplete tutorial
- Kotlin MultiplatformStart from the SDK starter
- Swift / AppleStart from the SDK starter
- UnityComplete tutorial
- Shared coreComplete tutorial
Check it works
- Join from two browser profiles or devices. Both people appear in the participant list.
- Turn on camera and microphone on one side and confirm the other side sees and hears it. Share a screen, then stop it.
- Leave from one side: the other person stays. End as the host: both see the call finish.
Go further
- Make it look like your app: restyle or replace parts of the room.
- Add AI notes and translation to your calls.
- Turn it into a support line with AI agents and a phone number.