GA Runway

Runway Characters (GWM-1 Avatars)

Runway's realtime conversational avatars, photoreal or animated, powered by its GWM-1 world model. Usable through LiveKit, a React SDK or a hosted widget.

Est. per minute$0.20 - 0.22

Overview

Best for: Creative or branded characters where visual quality matters more than sub-second latency.

At a glance

Session $/min$0.20
Entry plan $/mo$0
Free tierNo
Custom avatarYes
Own voiceYes
FPS24
Latency ms1,750
Max session min30
WebRTCYes
Self-hostNo
Open weightsNo

Latency is vendor server-side turnaround via a secondary summary. Session cap conflicts: 30 min (help center) vs 5 min (API reference). $0.20/min plus 2 credits upfront per session.

Audio in

User mic; or your LiveKit agent's audio

Audio out

Runway character voice, or your LiveKit TTS (which overrides the character voice)

Languages

Not captured.

Latency

Vendor claim (via secondary summary): 1.75 s server-side turnaround from end of user speech to character response; 24 fps.

Regions

Not captured.

Compliance

Not verified.

Features

  • photoreal and animated characters
  • custom characters (avatar_id) or presets (preset_id)
  • LiveKit plugin (Python and Node)
  • React SDK
  • hosted widget

Pricing

WhatPriceUnitNotes
gwm1_avatars session2 credits upfront, then 2 credits per 6 secondsper sessionAbout $0.20 per minute
Credit price$0.01per creditBought in the developer portal per project; sales tax may apply
How the per-minute estimate was worked out

2 credits per 6 s = 20 credits/min at $0.01, plus a $0.02 upfront charge per session

Free tier: None found.

Source: docs.dev.runwayml.com

Setup

  1. Create a project and API key at dev.runwayml.com and buy credits.
  2. Create a character (avatar_id) or pick a preset (preset_id).
  3. Install livekit-agents[runway] and set RUNWAYML_API_SECRET.
  4. Start runway.AvatarSession before your AgentSession; pass exactly one of avatar_id or preset_id.

Endpoint

LiveKit plugin (livekit-agents[runway]); Runway API at docs.dev.runwayml.com

Authentication

RUNWAYML_API_SECRET

Quick start python

# uv add "livekit-agents[runway]~=1.8"   env: RUNWAYML_API_SECRET
from livekit import agents
from livekit.agents import AgentServer, AgentSession
from livekit.plugins import runway

server = AgentServer()

@server.rtc_session(agent_name="my-agent")
async def my_agent(ctx: agents.JobContext):
    session = AgentSession(
        # stt=..., llm=..., tts=...
    )
    avatar = runway.AvatarSession(
        avatar_id="...",   # OR preset_id="...", never both
        max_duration=600,  # seconds
    )
    await avatar.start(session, room=ctx.room)
    await session.start(
        # room=ctx.room, agent=...
    )

Written from the current docs. Check the vendor's SDK version before you ship.

Warnings

Session length limits conflict

Help center lists 30 minutes for production; the API reference reportedly lists 5 minutes for gwm1_avatars. Design for reconnects and test the real cap.

Slower turn-taking than avatar-only vendors

Runway's own 1.75 s turnaround figure is slower than the sub-second claims of face-only APIs; fine for characters, less so for snappy support bots.

LiveKit TTS overrides the character

If you run TTS in LiveKit, the character's configured voice and personality are replaced.

Per-session upfront charge

Each session costs 2 credits up front, so many tiny sessions cost more than the per-minute rate suggests.

Plus 9 warnings that apply to all avatars and live video APIs. See category warnings.

Limits

  • Max session length: help center says 30 minutes for production API; API reference reportedly says 5 minutes (conflict)
  • Creating a character is free; billing starts when a realtime session starts

Models and products

NameStatusNotes
gwm1_avatarsGAReal-time conversational avatars powered by GWM-1; 24 fps.

Docs and sources

Docs

Sources used

Not fully verified

Max session length (conflicting), latency figure (from secondary summary of Runway pages), concurrency.

Similar avatars + video APIs

Spotted a wrong price or a dead link?