Runway · Schema

Runway Avatar

Represents an avatar persona in the Runway Characters system. Avatars are persistent conversational video agents with defined appearance, voice, and personality, created from a single reference image.

Video GenerationImage GenerationArtificial IntelligenceMachine LearningGenerative AIAvatarsCharactersWebRTCCreative Tools

Properties

Name Type Description
id string The unique identifier for the avatar.
name string A human-readable name for the avatar persona.
referenceImage string The HTTPS URL of the reference image used for the avatar's appearance. Any visual style works, from photorealistic humans to animated mascots.
personality string Instructions defining the avatar's personality, behavior, and conversational style.
voice object Voice configuration for the avatar.
openingMessage string An optional opening message that the avatar speaks when a session starts.
documentIds array List of knowledge document IDs attached to the avatar, providing additional context during conversations.
createdAt string The ISO 8601 timestamp when the avatar was created.
View JSON Schema on GitHub

JSON Schema

runway-avatar-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://api.dev.runwayml.com/schemas/runway/avatar.json",
  "title": "Runway Avatar",
  "description": "Represents an avatar persona in the Runway Characters system. Avatars are persistent conversational video agents with defined appearance, voice, and personality, created from a single reference image.",
  "type": "object",
  "required": ["id", "name"],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "description": "The unique identifier for the avatar."
    },
    "name": {
      "type": "string",
      "description": "A human-readable name for the avatar persona.",
      "minLength": 1
    },
    "referenceImage": {
      "type": "string",
      "format": "uri",
      "description": "The HTTPS URL of the reference image used for the avatar's appearance. Any visual style works, from photorealistic humans to animated mascots."
    },
    "personality": {
      "type": "string",
      "description": "Instructions defining the avatar's personality, behavior, and conversational style."
    },
    "voice": {
      "$ref": "#/$defs/VoiceConfig",
      "description": "Voice configuration for the avatar."
    },
    "openingMessage": {
      "type": "string",
      "description": "An optional opening message that the avatar speaks when a session starts."
    },
    "documentIds": {
      "type": "array",
      "description": "List of knowledge document IDs attached to the avatar, providing additional context during conversations.",
      "maxItems": 50,
      "items": {
        "type": "string",
        "format": "uuid"
      }
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "description": "The ISO 8601 timestamp when the avatar was created."
    }
  },
  "$defs": {
    "VoiceConfig": {
      "type": "object",
      "description": "Configuration for the avatar's voice, specifying the voice provider and preset.",
      "required": ["type", "presetId"],
      "properties": {
        "type": {
          "type": "string",
          "description": "The voice provider type.",
          "enum": ["runway-live-preset"]
        },
        "presetId": {
          "type": "string",
          "description": "The identifier of the voice preset to use for the avatar."
        }
      }
    },
    "RealtimeSession": {
      "type": "object",
      "description": "A live WebRTC session connecting a user to an avatar for real-time conversational interaction. Sessions have a maximum duration of 5 minutes.",
      "required": ["id", "status"],
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid",
          "description": "The unique identifier of the session."
        },
        "status": {
          "type": "string",
          "description": "The current status of the session.",
          "enum": ["PENDING", "READY", "ACTIVE", "ENDED"]
        },
        "model": {
          "type": "string",
          "description": "The model type used for the session.",
          "enum": ["gwm1_avatars"]
        },
        "serverUrl": {
          "type": "string",
          "format": "uri",
          "description": "The WebRTC server URL to connect to."
        },
        "token": {
          "type": "string",
          "description": "The one-time authentication token for the WebRTC connection."
        },
        "roomName": {
          "type": "string",
          "description": "The name of the WebRTC room to join."
        },
        "maxSessionDurationSeconds": {
          "type": "integer",
          "description": "Maximum session duration in seconds.",
          "maximum": 300
        }
      }
    },
    "Document": {
      "type": "object",
      "description": "A domain-specific knowledge document that avatars can reference during conversations to provide accurate, contextual responses.",
      "required": ["id", "name"],
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid",
          "description": "The unique identifier of the document."
        },
        "name": {
          "type": "string",
          "description": "A human-readable name for the knowledge document."
        },
        "content": {
          "type": "string",
          "description": "The text content of the knowledge document. Each avatar supports up to 50,000 tokens of knowledge across all attached documents."
        },
        "createdAt": {
          "type": "string",
          "format": "date-time",
          "description": "The ISO 8601 timestamp when the document was uploaded."
        }
      }
    },
    "PresetAvatar": {
      "type": "string",
      "description": "Available preset avatar identifiers for quick session creation without custom avatar setup.",
      "enum": [
        "game-character",
        "music-superstar",
        "game-character-man",
        "cat-character",
        "influencer",
        "tennis-coach",
        "human-resource",
        "fashion-designer",
        "cooking-teacher"
      ]
    }
  }
}