Runway Lip Sync API

Create generative videos where a selected face speaks lines from audio clips or AI-generated voices, supporting 28+ languages.

OpenAPI Specification

runway-lip-sync-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Runway Characters Avatars Lip Sync API
  description: The Runway Characters API enables developers to build real-time conversational avatars powered by GWM-1, Runway's General World Model. Characters are fully custom conversational video agents that can be created from a single image with no fine-tuning required, supporting photorealistic or animated styles, human or non-human appearances. The API manages avatars, real-time sessions via WebRTC, and knowledge documents that avatars can reference during conversations. Sessions have a maximum duration of 5 minutes.
  version: '2024-11-06'
  contact:
    name: Runway Support
    url: https://support.runwayml.com/
  termsOfService: https://runwayml.com/terms-of-use
servers:
- url: https://api.dev.runwayml.com/v1
  description: Production Server
security:
- bearerAuth: []
tags:
- name: Lip Sync
  description: Create generative videos where a selected face speaks lines from audio clips or AI-generated voices, supporting 28+ languages.
paths:
  /lip_sync:
    post:
      operationId: createLipSync
      summary: Create lip sync generation task
      description: Starts a new asynchronous task to create a generative video where a selected face speaks lines from audio clips or AI-generated voices. Supports 28+ languages using the eleven_multilingual_v2 model. Returns a task ID that can be polled for completion.
      tags:
      - Lip Sync
      parameters:
      - $ref: '#/components/parameters/RunwayVersion'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LipSyncRequest'
      responses:
        '200':
          description: Task created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskCreatedResponse'
        '400':
          description: Bad request - invalid parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized - invalid or missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  parameters:
    RunwayVersion:
      name: X-Runway-Version
      in: header
      required: true
      description: API version identifier. Must be set to the exact value 2024-11-06.
      schema:
        type: string
        enum:
        - '2024-11-06'
  schemas:
    TaskCreatedResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: The unique identifier for the created task. Use this ID to poll the task status endpoint.
    LipSyncRequest:
      type: object
      required:
      - model
      - input
      - audio
      properties:
        model:
          type: string
          description: The model to use for lip sync generation.
          enum:
          - gen4
          - gen4_turbo
        input:
          type: string
          description: An HTTPS URL or runway:// URI pointing to the input image or video containing the face to animate.
        audio:
          type: string
          description: An HTTPS URL or runway:// URI pointing to the audio file to sync with the face. Supports 28+ languages via eleven_multilingual_v2.
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
          description: A human-readable error message describing what went wrong.
        code:
          type: string
          description: A machine-readable error code identifying the type of error.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key passed via the HTTP Authorization header using the Bearer scheme. Obtain your API key from the Runway Developer Portal at https://dev.runwayml.com/.
externalDocs:
  description: Runway Characters Documentation
  url: https://docs.dev.runwayml.com/characters/