02Video

Video calls that adaptto every connection

One-to-one and group video calls for your app, with SDKs for Flutter, Web, Android and iOS.

One video call SDK for every kind of call

Add face-to-face video to your app without running media servers.

One-to-one calls, group calls and rooms people return to all work the same way in the SDK: a room, and a token from your server for each person.

FlutterWebAndroidiOS

Fig. 02 / Group call and quality layersA group call, and how each viewer gets the picture their connection can carry.
Sender
Publishes several quality layers from one camera.
Receivers
Each one gets the layer that fits their network.
  • One-to-one video calls

    Two people face to face: a match call in a dating app, a consultation, a call between friends. Your server gives both people a token for the same room.

  • Group video calls

    Several people on camera at once, for meetings, classes or hangouts. The SDK reports who is speaking, so your layout can follow the conversation.

  • Rooms people come back to

    A room is a name your server issues tokens for. Keep the same name for a team room, a class or a community space, and people rejoin it whenever they need it.

Adaptive quality

Video adapts to each person's connection, so a call keeps going when one network gets worse.

  • Several quality layers

    The camera is sent in several quality layers at once. Each person receives the layer their connection can carry.

  • One weak link stays local

    Someone on a weak mobile connection gets a lighter picture, and everyone else keeps theirs.

  • Look good on camera

    The real-time beauty filter is included free with a Gravix Cloud subscription, on Android and the web, with a Flutter plugin.

    See the beauty filter

Private by design

Your server decides who joins each room, and media is encrypted in transit.

  • Tokens from your server

    Your backend signs a short-lived access token for each user. The App Certificate stays on your server and never ships inside the app.

  • A region near each person

    Each person connects through a region near them, and media takes a short route between participants.

  • Encrypted in transit

    Audio and video are encrypted in transit with DTLS-SRTP, and signalling runs over TLS.

  • Same rooms, every product

    Calls, audio rooms, live streams and AI agents all use the same rooms, tokens and SDKs. Add a product without adding a stack.

Add video in three steps

The token comes from your server. The App Certificate never ships inside the app.

  1. 01

    Create a project

    Get your App ID and App Certificate from the Gravix Cloud console. The App Certificate stays on your server.

  2. 02

    Issue a token from your server

    Your backend signs a short-lived access token for each user and room, after your own login and checks.

  3. 03

    Join from the app

    Join the room with the SDK, turn on the camera and render each remote video track.

  4. SDKs: Flutter, Web, Android, iOS

    Flutter: flutter pub add gravix_rtc

    Web: npm install gravix-rtc

lib/room.dart
import 'package:gravix_rtc/gravix_rtc.dart';

final room = GravixRoomService();

// Your server signs the token. The App Certificate never ships in the app.
final tokens = GravixTokenProvider.endpoint(
  Uri.parse('https://api.example.com/rtc/token'),
  headers: {'Authorization': 'Bearer $session'},
);

final joined = await room.connectWithTokenProvider(
  tokenProvider: tokens,
  request: GravixTokenRequest(room: roomId, identity: userId, name: displayName),
  publishMic: true,
  enableVideo: true,
);

room.onRemoteVideoTrack = (uid, track) => showTile(uid, track);

Video pricing

PricingFrom $1 per 2,000 minutes on Starter. Professional is $200 per 150 concurrent participants. Enterprise is $7,999 (terms and conditions apply).

The beauty filter is included free with every subscription. New accounts get 10,000 free minutes. See pricing

Video questions

Can I build both one-to-one and group video calls?

Yes. A one-to-one call and a group call are the same thing to the SDK: a room. Your server decides who gets a token for which room.

What happens when someone has a weak connection?

Video is sent in several quality layers. Each person receives the layer their connection can carry, so one weak connection does not lower the picture for everyone else.

How many people can join a video call?

Tell us your use case and expected group size and we will confirm the plan. Call or WhatsApp +880 1703-449000, or email sales@gravixcloud.com.

Is the beauty filter included?

Yes. The real-time beauty filter is included free with a Gravix Cloud subscription, on Android and the web, with a Flutter plugin.

Add video calls to your app

Tell us about your calls and your audience. Call, WhatsApp or email our team.