Runway API v1

REST API for Runway AI — Gen-4.x native video plus third-party video models routed through Runway, a large image model catalog, Act Two character animation, lip sync, Frames, image and video upscale, video extend and Kling motion control. The Runway Unlimited plan unlocks credit-free exploreMode.

OpenAPI Specification

useapi-runwayml-v1-openapi.yml Raw ↑
# Derived from the first-party useapi.net Postman collection: https://useapi.net/assets/postman/runwayml-v1.json
# method: derived  |  no operation, path, parameter or example was invented.
openapi: 3.1.0
info:
  title: Runway API v1 by useapi.net
  version: 1.0.0
  description: "Full documentation available at [useapi.net](http://useapi.net/docs/api-runwayml-v1/).\n\nExperimental API\
    \ for the [Runway](https://runwayml.com/) with full support for:\n\n- Gen-3 Alpha and Gen-3 Alpha Turbo\n    \n    - Text\
    \ to Video\n        \n    - Image to Video\n        \n    - Video to Video\n        \n    - Extend Video\n        \n-\
    \ Gen-2 text and image to video, extend video\n    \n- Lip Sync for both image and video sources with support for a variety\
    \ of voices (28+ languages supported) or audio file\n    \n- Image to Text\n    \n- Image Upscaler\n    \n- Transcribe\
    \ audio or video to text, multiple languages supported\n    \n\nAPI provides support for webhook callbacks for your convenience.\n\
    \nFor free RunwayML accounts, the following features are unlocked with this Experimental API:\n\n- Watermarks will be\
    \ removed automatically for Gen-2 generations\n    \n- Unlimited number of Text to Image generations\n    \n- Unlimited\
    \ number of Image Upscaler generations\n    \n- Unlimited number of Transcribe generations\n\n---\n**Updated:** July 16,\
    \ 2026"
  contact:
    name: useapi.net support
    email: support@useapi.net
    url: https://useapi.net/docs/support
  x-derived-from: https://useapi.net/assets/postman/runwayml-v1.json
externalDocs:
  description: runwayml documentation
  url: https://useapi.net/docs/api-runwayml-v1
servers:
- url: https://api.useapi.net/v1/runwayml
security:
- bearerAuth: []
tags:
- name: runwayml
  description: Runway API v1 by useapi.net
paths:
  /accounts:
    get:
      operationId: getAccounts
      summary: accounts
      description: Retrieve RunwayML accounts information.
      tags:
      - runwayml
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
  /accounts/{email}:
    get:
      operationId: getAccountsByEmail
      summary: accounts/<email>
      description: Retrieve RunwayML account information.
      tags:
      - runwayml
      parameters:
      - name: email
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
    post:
      operationId: postAccountsByEmail
      summary: accounts/<email>
      description: '[Add or update RunwayML account.](https://useapi.net/docs/api-runwayml-v1/post-runwayml-accounts-email)'
      tags:
      - runwayml
      parameters:
      - name: email
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                maxJobs:
                  type: string
                email:
                  type: string
                password:
                  type: string
                useWorkspace:
                  type: string
            example:
              maxJobs: 'Required, supported range: 1...10'
              email: Please refer to https://useapi.net/docs/start-here/setup-runwayml
              password: Please refer to https://useapi.net/docs/start-here/setup-runwayml
              useWorkspace: Optional, true to auto-select the account's paid workspace, or a team id to pin one (see GET /features
                teams[])
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
    delete:
      operationId: deleteAccountsByEmail
      summary: accounts/<email>
      description: Delete RunwayML account.
      tags:
      - runwayml
      parameters:
      - name: email
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
  /frames/create:
    post:
      operationId: postFramesCreate
      summary: frames/create
      description: '## [Frames](https://useapi.net/docs/api-runwayml-v1/post-runwayml-frames-create)'
      tags:
      - runwayml
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                email:
                  type: string
                replyUrl:
                  type: string
                replyRef:
                  type: string
                maxJobs:
                  type: string
                exploreMode:
                  type: string
                seed:
                  type: string
                text_prompt:
                  type: string
                style:
                  type: string
                aspect_ratio:
                  type: string
                diversity:
                  type: string
                num_images:
                  type: string
                imageAssetId1:
                  type: string
                imageAssetId2:
                  type: string
                imageAssetId3:
                  type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
  /images/create:
    post:
      operationId: postImagesCreate
      summary: images/create
      description: '## [Images](https://useapi.net/docs/api-runwayml-v1/post-runwayml-images-create)'
      tags:
      - runwayml
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                model:
                  type: string
                text_prompt:
                  type: string
                email:
                  type: string
                aspect_ratio:
                  type: string
                resolution:
                  type: string
                num_images:
                  type: string
                imageAssetId1:
                  type: string
                imageAssetId2:
                  type: string
                imageAssetId3:
                  type: string
                imageAssetId4:
                  type: string
                imageAssetId5:
                  type: string
                imageAssetId6:
                  type: string
                imageAssetId7:
                  type: string
                imageAssetId8:
                  type: string
                style:
                  type: string
                diversity:
                  type: string
                seed:
                  type: string
                exploreMode:
                  type: string
                replyUrl:
                  type: string
                replyRef:
                  type: string
                maxJobs:
                  type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
  /videos/create:
    post:
      operationId: postVideosCreate
      summary: videos/create
      description: '## [Videos](https://useapi.net/docs/api-runwayml-v1/post-runwayml-videos-create)


        Unified video generation endpoint supporting 18 models across Seedance, Kling (incl. O3 omni and Motion Control),
        Wan, Veo, Sora, and Gen-4 families.'
      tags:
      - runwayml
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                model:
                  type: string
                text_prompt:
                  type: string
                email:
                  type: string
                duration:
                  type: string
                aspect_ratio:
                  type: string
                resolution:
                  type: string
                audio:
                  type: string
                seed:
                  type: string
                imageAssetId1:
                  type: string
                imageAssetId2:
                  type: string
                imageAssetId3:
                  type: string
                imageAssetId4:
                  type: string
                imageAssetId5:
                  type: string
                imageAssetId6:
                  type: string
                imageAssetId7:
                  type: string
                imageAssetId8:
                  type: string
                imageAssetId9:
                  type: string
                imageAssetId10:
                  type: string
                imageAssetId11:
                  type: string
                startFrameAssetId:
                  type: string
                endFrameAssetId:
                  type: string
                videoAssetId:
                  type: string
                videoAssetId2:
                  type: string
                videoAssetId3:
                  type: string
                audioAssetId1:
                  type: string
                audioAssetId2:
                  type: string
                audioAssetId3:
                  type: string
                characterOrientation:
                  type: string
                multishot_prompt_1:
                  type: string
                multishot_duration_1:
                  type: string
                multishot_prompt_2:
                  type: string
                multishot_duration_2:
                  type: string
                multishot_prompt_3:
                  type: string
                multishot_duration_3:
                  type: string
                multishot_prompt_4:
                  type: string
                multishot_duration_4:
                  type: string
                multishot_prompt_5:
                  type: string
                multishot_duration_5:
                  type: string
                multishot_prompt_6:
                  type: string
                multishot_duration_6:
                  type: string
                exploreMode:
                  type: string
                replyUrl:
                  type: string
                replyRef:
                  type: string
                maxJobs:
                  type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
  /videos/upscale:
    post:
      operationId: postVideosUpscale
      summary: videos/upscale
      description: '## [Videos Upscale](https://useapi.net/docs/api-runwayml-v1/post-runwayml-videos-upscale)


        Upscale a video to 4K using Topaz AI. Output preserves source aspect ratio (e.g. 1280×720 → 4096×2304). Max source
        duration 40 seconds. Unlimited with exploreMode.'
      tags:
      - runwayml
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                videoAssetId:
                  type: string
                exploreMode:
                  type: string
                replyUrl:
                  type: string
                replyRef:
                  type: string
                maxJobs:
                  type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
  /frames/describe/{image_assetId}:
    get:
      operationId: getFramesDescribeByImageassetid
      summary: frames/describe/<image_assetId>
      description: '## [Get image description](https://useapi.net/docs/api-runwayml-v1/get-runwayml-frames-describe)'
      tags:
      - runwayml
      parameters:
      - name: image_assetId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties: {}
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
  /gen4turbo/create:
    post:
      operationId: postGen4turboCreate
      summary: gen4turbo/create
      description: '## [Create a video using the first image(s) with a text prompt](https://useapi.net/docs/api-runwayml-v1/post-runwayml-gen4turbo-create)'
      tags:
      - runwayml
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                replyUrl:
                  type: string
                replyRef:
                  type: string
                maxJobs:
                  type: string
                firstImage_assetId:
                  type: string
                text_prompt:
                  type: string
                aspect_ratio:
                  type: string
                seconds:
                  type: string
                seed:
                  type: string
                exploreMode:
                  type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
  /gen4_5/create:
    post:
      operationId: postGen45Create
      summary: gen4_5/create
      description: '## [Create a video using text prompt or image](https://useapi.net/docs/api-runwayml-v1/post-runwayml-gen4_5-create)


        Gen-4.5 supports Text-to-Video (T2V) and Image-to-Video (I2V) modes. T2V generates 720p 16:9 videos from text prompts.
        I2V generates videos from a first image with optional text prompt, supporting multiple aspect ratios.'
      tags:
      - runwayml
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                email:
                  type: string
                firstImage_assetId:
                  type: string
                text_prompt:
                  type: string
                aspect_ratio:
                  type: string
                seconds:
                  type: string
                seed:
                  type: string
                exploreMode:
                  type: string
                replyUrl:
                  type: string
                replyRef:
                  type: string
                maxJobs:
                  type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
  /gen4/create:
    post:
      operationId: postGen4Create
      summary: gen4/create
      description: '## [Create a video using the first image(s) with a text prompt](https://useapi.net/docs/api-runwayml-v1/post-runwayml-gen4-create)'
      tags:
      - runwayml
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                replyUrl:
                  type: string
                replyRef:
                  type: string
                maxJobs:
                  type: string
                firstImage_assetId:
                  type: string
                text_prompt:
                  type: string
                aspect_ratio:
                  type: string
                seconds:
                  type: string
                seed:
                  type: string
                exploreMode:
                  type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
  /gen4/upscale:
    post:
      operationId: postGen4Upscale
      summary: gen4/upscale
      description: '## [Upscale to 4K the Gen-4, Gen-4 Turbo, Gen-3 Alpha and Gen-3 Alpha Turbo videos](https://useapi.net/docs/api-runwayml-v1/post-runwayml-gen4-upscale)'
      tags:
      - runwayml
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                replyUrl:
                  type: string
                replyRef:
                  type: string
                maxJobs:
                  type: string
                assetId:
                  type: string
                exploreMode:
                  type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
  /gen4/act-two:
    post:
      operationId: postGen4ActTwo
      summary: gen4/act-two
      description: '## [Gen4 Act-Two](https://useapi.net/docs/api-runwayml-v1/post-runwayml-gen4-act-two)'
      tags:
      - runwayml
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                replyUrl:
                  type: string
                replyRef:
                  type: string
                maxJobs:
                  type: string
                driving_assetId:
                  type: string
                character_assetId:
                  type: string
                expression_intensity:
                  type: string
                body_control:
                  type: string
                aspect_ratio:
                  type: string
                seed:
                  type: string
                exploreMode:
                  type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
  /gen4/act-two-voice:
    post:
      operationId: postGen4ActTwoVoice
      summary: gen4/act-two-voice
      description: '## [Gen4 Act-Two voice swap](https://useapi.net/docs/api-runwayml-v1/post-runwayml-gen4-act-two-voice)'
      tags:
      - runwayml
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                video_assetId:
                  type: string
                voiceId:
                  type: string
                exploreMode:
                  type: string
                replyUrl:
                  type: string
                replyRef:
                  type: string
                maxJobs:
                  type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
  /gen4/video:
    post:
      operationId: postGen4Video
      summary: gen4/video
      description: '## [Create a video using Runway Gen-4 Aleph (video-to-video)](https://useapi.net/docs/api-runwayml-v1/post-runwayml-gen4-video)'
      tags:
      - runwayml
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                replyUrl:
                  type: string
                replyRef:
                  type: string
                maxJobs:
                  type: string
                video_assetId:
                  type: string
                image_assetId:
                  type: string
                text_prompt:
                  type: string
                seed:
                  type: string
                exploreMode:
                  type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
  /gen3turbo/create:
    post:
      operationId: postGen3turboCreate
      summary: gen3turbo/create
      description: '## [Create a video using the first and/or last images with a text prompt](https://useapi.net/docs/api-runwayml-v1/post-runwayml-gen3turbo-create)'
      tags:
      - runwayml
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                replyUrl:
                  type: string
                replyRef:
                  type: string
                maxJobs:
                  type: string
                firstImage_assetId:
                  type: string
                lastImage_assetId:
                  type: string
                text_prompt:
                  type: string
                aspect_ratio:
                  type: string
                seconds:
                  type: string
                seed:
                  type: string
                exploreMode:
                  type: string
                horizontal:
                  type: string
                vertical:
                  type: string
                roll:
                  type: string
                zoom:
                  type: string
                pan:
                  type: string
                tilt:
                  type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
  /gen3turbo/video:
    post:
      operationId: postGen3turboVideo
      summary: gen3turbo/video
      description: '[Gen-3 Alpha Turbo Video to Video](https://useapi.net/docs/api-runwayml-v1/post-runwayml-gen3turbo-video)'
      tags:
      - runwayml
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                replyUrl:
                  type: string
                replyRef:
                  type: string
                maxJobs:
                  type: string
                exploreMode:
                  type: string
                assetId:
                  type: string
                text_prompt:
                  type: string
                structure_transformation:
                  type: string
                aspect_ratio:
                  type: string
                seed:
                  type: string
                resolution:
                  type: string
                seconds:
                  type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
  /gen3turbo/extend:
    post:
      operationId: postGen3turboExtend
      summary: gen3turbo/extend
      description: '## [Extend the Gen-3 Alpha Turbo video by 8 seconds](https://useapi.net/docs/api-runwayml-v1/post-runwayml-gen3turbo-extend)'
      tags:
      - runwayml
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                replyUrl:
                  type: string
                replyRef:
                  type: string
                maxJobs:
                  type: string
                exploreMode:
                  type: string
                assetId:
                  type: string
                seed:
                  type: string
                text_prompt:
                  type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
  /gen3turbo/expand:
    post:
      operationId: postGen3turboExpand
      summary: gen3turbo/expand
      description: '## [Gen-3 Alpha Turbo Expand Video](https://useapi.net/docs/api-runwayml-v1/post-runwayml-gen3turbo-expand)'
      tags:
      - runwayml
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                replyUrl:
                  type: string
                replyRef:
                  type: string
                maxJobs:
                  type: string
                exploreMode:
                  type: string
                videoAssetId:
                  type: string
                seed:
                  type: string
                imageAssetId:
                  type: string
                text_prompt:
                  type: string
                seconds:
                  type: string
                outpaint_aspect_ratio:
                  type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
  /gen3turbo/actone:
    post:
      operationId: postGen3turboActone
      summary: gen3turbo/actone
      description: '[Drive your image or video character performance using simple video and audio inputs.](https://useapi.net/docs/api-runwayml-v1/post-runwayml-gen3turbo-actone)'
      tags:
      - runwayml
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                replyUrl:
                  type: string
                replyRef:
                  type: string
                maxJobs:
                  type: string
                exploreMode:
                  type: string
                driving_assetId:
                  type: string
                character_assetId:
                  type: string
                motion_multiplier:
                  type: string
                aspect_ratio:
                  type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
  /gen3/create:
    post:
      operationId: postGen3Create
      summary: gen3/create
      description: '## [Create a video using text and/or image prompts](https://useapi.net/docs/api-runwayml-v1/post-runwayml-gen3-create)'
      tags:
      - runwayml
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                email:
                  type: string
                replyUrl:
                  type: string
                replyRef:
                  type: string
                maxJobs:
                  type: string
                exploreMode:
                  type: string
                image_assetId:
                  type: string
                image_as_end_frame:
                  type: string
              

# --- truncated at 32 KB (62 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/useapi/refs/heads/main/openapi/useapi-runwayml-v1-openapi.yml