---
description: Connect transcription, recording, and AI services to live WebRTC media with the generally available Realtime SFU WebSocket adapter.
title: Realtime SFU WebSocket adapter is generally available
image: https://developers.cloudflare.com/changelog/post/2026-09-30-websocket-adapter-ga/og.png?v=730382f9e32ccc2c
---

[Skip to content](#main-content)

[View RSS feeds](https://developers.cloudflare.com/fundamentals/new-features/available-rss-feeds/) [ Subscribe to RSS](https://developers.cloudflare.com/changelog/rss/index.xml)

[Back to all posts](https://developers.cloudflare.com/changelog)

September 30, 2026

## Realtime SFU WebSocket adapter is generally available

[Realtime](https://developers.cloudflare.com/realtime/)

Copy as Markdown| [View as Markdown](https://developers.cloudflare.com/changelog/post/2026-09-30-websocket-adapter-ga/index.md)| [Agent setup](https://developers.cloudflare.com/agent-setup/)

The [WebSocket adapter](https://developers.cloudflare.com/realtime/sfu/features/media-transport-adapters/websocket-adapter/) for [Cloudflare's Realtime SFU](https://developers.cloudflare.com/realtime/sfu/) is now generally available. The SFU (selective forwarding unit) is managed WebRTC infrastructure for live audio, video, and data across [Cloudflare's global network in 330+ cities ↗︎](https://www.cloudflare.com/products/turn-sfu/).

The adapter connects live calls to any server that accepts WebSockets, such as a [Durable Object](https://developers.cloudflare.com/durable-objects/). It delivers uncompressed pulse-code modulation (PCM) audio and JPEG video frames. Your backend can process this media without implementing a WebRTC client.

#### What you can build

- Transcribe or record call audio, or let a voice agent hear and respond to participants. The [AI audio example](https://developers.cloudflare.com/realtime/sfu/examples/ai-audio/) uses Durable Objects and Workers AI for transcription and speech generation. Separate adapters receive PCM audio and send generated speech back to participants.
- Analyze images or build previews from live video. The [WebRTC-to-JPEG example ↗︎](https://github.com/cloudflare/realtime-examples/tree/main/video-to-jpeg) sends a browser's camera stream to a Durable Object as JPEG frames at one frame per second by default.

#### What changes for existing integrations

Existing adapter creation requests and media formats stay the same.

For WebRTC-to-WebSocket streaming, the SFU now automatically retries the same endpoint for up to 15 seconds instead of 5, with no additional API setting.

The [close API](https://developers.cloudflare.com/realtime/sfu/features/media-transport-adapters/websocket-adapter/#close-adapter) is now idempotent and returns success even if the adapter has already closed:

```json
{
	"tracks": [{ "adapterId": "<ADAPTER_ID>" }]
}
```

Refer to the [WebSocket adapter guide](https://developers.cloudflare.com/realtime/sfu/features/media-transport-adapters/websocket-adapter/) for setup, media formats, and API requests.

```json
{"@context":"https://schema.org","@type":"BlogPosting","@id":"https://developers.cloudflare.com/changelog/post/2026-09-30-websocket-adapter-ga/#page","headline":"Realtime SFU WebSocket adapter is generally available","description":"Connect transcription, recording, and AI services to live WebRTC media with the generally available Realtime SFU WebSocket adapter.","url":"https://developers.cloudflare.com/changelog/post/2026-09-30-websocket-adapter-ga/","inLanguage":"en","image":"https://developers.cloudflare.com/changelog/post/2026-09-30-websocket-adapter-ga/og.png?v=730382f9e32ccc2c","dateModified":"2026-09-30","datePublished":"2026-09-30","publisher":{"@type":"Organization","name":"Cloudflare","description":"One platform for your apps, agents, and workforce. Build, secure, and scale without managing infrastructure","url":"https://www.cloudflare.com/","sameAs":["https://github.com/cloudflare","https://www.linkedin.com/company/cloudflare","https://x.com/cloudflare"],"logo":{"@type":"ImageObject","url":"https://developers.cloudflare.com/logo.svg"},"address":{"@type":"PostalAddress","streetAddress":"101 Townsend St","addressLocality":"San Francisco","addressRegion":"CA","postalCode":"94107","addressCountry":"US"},"contactPoint":[{"@type":"ContactPoint","contactType":"Customer Support","url":"https://support.cloudflare.com/","availableLanguage":["English"]},{"@type":"ContactPoint","contactType":"Sales","url":"https://www.cloudflare.com/contact/","availableLanguage":["English"]}]},"isPartOf":{"@type":"WebSite","@id":"https://developers.cloudflare.com/#website","name":"Cloudflare Docs","url":"https://developers.cloudflare.com/"}}
```
