- Reduce media latency among participants to improve video quality.
- Region-based pricing and new REST resources to define location.
- New REST API to exert greater control of your Room Participants.
Today, we are excited to announce new capabilities to Programmable Video that will help you reduce media latency and offer you more control over your real-time video experiences.
- Global Low Latency Media Routing: Starting today, you can now choose which region your media is routed through to minimize latency between participants.
- New
MediaRegion
Property: Specify the desired Media Region where you want your media to live, when creating Group Rooms via the REST API. - Participant REST API: New controls for participant behavior. Query Participant state and kick Participants out of the Room.
- PublishedTrack REST API: Query tracks published to a room by Participants.
Global Service, Local Media
Now, you can improve call quality for users outside the US with Global Low Latency for Programmable Video Group Rooms. One of the unbendable rules in networking is — you can’t beat physics — and, in particular, the speed of light. If your users are far away from the media server that’s routing their conversation, they will complain about higher audio latency and poorer video quality.
That’s why we are introducing Media server region selection for Group Rooms.
For example, if you have a call where everyone is in Europe, then you’re able to set Ireland or Germany as the ‘Media Region’ property and have all the media data for the call route through the chosen data center. This reduces latency and improves call quality because the packets have to travel shorter distances and through fewer hops.
New Media Server Regions
To enable GLL, we’ve deployed Twilio Group Rooms media servers in 9* regions across the globe. You can select a Media Server Region for your Group Room when you create the Room via Twilio’s REST API. Media servers in the selected region will be used to route media between connected participants. Media servers have fixed IP address ranges that you can add to your firewall allow list. Note: Regardless of the Room’s MediaRegion, Twilio will store recordings in US1, Twilio’s US East Coast data center.
How do I select a Media Region?
We’ve added a property called MediaRegion
to the Rooms REST API. When you create a room using the Rooms REST API, set the desired Region Id on the MediaRegion
property. If you don’t select a region, we’ll default to us1.
Location | Region ID |
US East Coast (Virginia) | us1 |
US West Coast (Oregon) | us2 |
Ireland | ie1 |
Germany | de1 |
Singapore | sg1 |
Japan | jp1 |
India | in1 |
Australia | au1 |
Brazil | br1 |
For example, to create a Video Room called “DailyStandup” for your users in Australia, set MediaRegion
to au1 by making the following API request:
curl -XPOST 'https://video.twilio.com/v1/Rooms' \
-u '{API Key SID}:{API Secret}' \
-d 'UniqueName=DailyStandup' \
-d 'MediaRegion=au1' \
-d 'StatusCallback=http://example.org'
New Region-Based Pricing
To get you the most competitive rates in your chosen region, today we are announcing new region based pricing. See the updated pricing page for details.

More Control With New REST API Resources
In addition to Video GLL, we are excited to announce the availability of the Participants REST API resource and PublishedTrack REST API resource that help you gain more control over Participants in Rooms.
You can now query to check which participants are connected
to the Room and list the media tracks that are being published to the Room by a given participant or by all participants. With this data, you can make decisions about what to do with participants, like when you want to remove a participant from a Room.
For example, to query if the Camera
media track published by Participant Alice
to the Room DailyStandup
is enabled or disabled, make the following API request.
curl -G 'https://video.twilio.com/v1/Rooms/DailyStandup/Participants/Alice/PublishedTracks/Camera' \
-u 'SKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:your_api_key_secret'
POST’ing to the Participants REST resource with the ‘Status’ set to ‘disconnected’ will remove a given Participant from the Room.
curl -XPOST 'https://video.twilio.com/v1/Rooms/DailyStandup/Participants/Alice' \
-u 'SKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:your_api_key_secret' \
-d 'Status=disconnected'
To learn more check out the REST API documentation.
We can’t wait to see what you build with Programmable Video!