Description
The livekit-plugins-runway plugin (v1.5.6) sends a livekit key in the request body to POST /v1/realtime_sessions, but Runway's public API at api.dev.runwayml.com rejects it with:
Unrecognized key: livekit
Plugin code reference
In livekit/plugins/runway/avatar.py, the _create_session method constructs:
body = {
"model": "gwm1_avatars",
"avatar": self._avatar,
"livekit": {
"url": livekit_url,
"token": livekit_token,
"roomName": room_name,
"agentIdentity": self._local_participant_identity,
},
}
This is sent to POST {api_url}/v1/realtime_sessions.
Runway's documented API
The Runway Characters integration guide shows a different flow that does not include the livekit key:
client.realtimeSessions.create({
model: 'gwm1_avatars',
avatar: { type: 'custom', avatarId },
personality,
startScript,
})
Instead, the documented flow creates a session, polls until READY, then calls /v1/realtime_sessions/:id/consume to retrieve LiveKit connection credentials (url, token, roomName) from Runway's own LiveKit server.
Expected behavior
The plugin's approach (passing your own LiveKit credentials so Runway joins your room) is essential for the agent integration use case — it allows your LiveKit agent (with custom STT/LLM/TTS) to coexist with Runway's avatar video in the same room.
Questions
- Is the
livekit key on POST /v1/realtime_sessions a feature that hasn't been deployed to the public API yet?
- Does it require a specific account flag or API key tier to be enabled?
- Is there an ETA for when this will be available on the public API?
Environment
livekit-plugins-runway: 1.5.6 (latest)
livekit-agents: 1.5.6
- Python: 3.14
- Runway API URL:
https://api.dev.runwayml.com
Full error
Failed to start Runway avatar session: message='Runway API returned an error',
status_code=400, retryable=False,
body={"error":"Unrecognized key: livekit"}
cc @robinandeer (PR author of #5355)
Description
The
livekit-plugins-runwayplugin (v1.5.6) sends alivekitkey in the request body toPOST /v1/realtime_sessions, but Runway's public API atapi.dev.runwayml.comrejects it with:Plugin code reference
In
livekit/plugins/runway/avatar.py, the_create_sessionmethod constructs:This is sent to
POST {api_url}/v1/realtime_sessions.Runway's documented API
The Runway Characters integration guide shows a different flow that does not include the
livekitkey:Instead, the documented flow creates a session, polls until
READY, then calls/v1/realtime_sessions/:id/consumeto retrieve LiveKit connection credentials (url, token, roomName) from Runway's own LiveKit server.Expected behavior
The plugin's approach (passing your own LiveKit credentials so Runway joins your room) is essential for the agent integration use case — it allows your LiveKit agent (with custom STT/LLM/TTS) to coexist with Runway's avatar video in the same room.
Questions
livekitkey onPOST /v1/realtime_sessionsa feature that hasn't been deployed to the public API yet?Environment
livekit-plugins-runway: 1.5.6 (latest)livekit-agents: 1.5.6https://api.dev.runwayml.comFull error
cc @robinandeer (PR author of #5355)