---
title: "Add Rendition"
method: POST
path: "/v1/accounts/{{account_id}}/videos/{{video_id}}/assets/renditions"
tags: ["Media Assets"]
---

# Add Rendition

`POST /v1/accounts/{{account_id}}/videos/{{video_id}}/assets/renditions`

## Request

- Base URL: `https://cms.api.brightcove.com`
- URL: `https://cms.api.brightcove.com/v1/accounts/{{account_id}}/videos/{{video_id}}/assets/renditions`
- Auth: OAuth 2
  - Client credentials
  - Token URL: `https://oauth.brightcove.com/v4/access_token` scopes: `video-cloud/video/update`

Add a remote rendition to the given video. Note: you can use `/videos/ref:reference_id` instead of `/videos/video_id`

## Path parameters

- `account_id` string, required
- `video_id` string, required

## Headers

- `Content-Type` string, required
- `Authorization` string, required

## Request body

- VideoAsset
  - `account_id` string: the Video Cloud account id
  - `audio_only` boolean: this rendition contains only an audio track, no video track (a rendition for low bandwidth devices)
  - `cdn_origin_id` string: an internally used id (not applicable to remote assets)
  - `complete` boolean: whether processing is complete for the asset (will be true for remote assets if a remote_url is supplied)
  - `controller_type` string: the controller type for ingested renditions (not applicable to remote renditions or other types of assets)
  - `current_filename` string: the filename for an ingested asset in the Video Cloud system (not applicable to remote assets)
  - `drm` Drm, nullable: DRM packaging details (not applicable to remote assets or Dynamic Delivery accounts)
    - `metadata_cdn_origin_id` string
    - `metadata_sharded_directory` string
    - `packager_version` string
    - `state` string
  - `encoding_rate` integer: average encoding rate in kbps
  - `frame_height` integer: frame height in pixels
  - `frame_width` integer: frame width in pixels
  - `id` string: the asset id
  - `key_systems` string[]: array of strings that denote the kind of encryption used for DRM packaged renditions
  - `name` string: asset name
  - `progressive_download` boolean: whether ingested rendition is available by progressive download (not applicable to other asset types or remote renditions)
  - `reference_id` string: the media asset reference id (must be unique within the account) - this is **not** the same as the video reference id
  - `remote_stream_name` string: name for remote streams (not applicable to asset types other than rendition)
  - `remote_url` string: the url for a remote asset (not applicable to ingested assets); **`remote_url` is required when adding an asset (POST)**
  - `size` integer: the size of the asset in bytes (integer)
  - `type` string: the type of the asset
  - `updated_at` string: when the video was last modified
  - `uploaded_at` string: when the asset was added to the video in Video Cloud
  - `video_codec` string: not applicable to remote assets
  - `video_container` string: not applicable to remote assets
  - `video_duration` integer: duration in milliseconds

## Response `201`

Rendition asset created

- VideoAsset
  - `account_id` string: the Video Cloud account id
  - `audio_only` boolean: this rendition contains only an audio track, no video track (a rendition for low bandwidth devices)
  - `cdn_origin_id` string: an internally used id (not applicable to remote assets)
  - `complete` boolean: whether processing is complete for the asset (will be true for remote assets if a remote_url is supplied)
  - `controller_type` string: the controller type for ingested renditions (not applicable to remote renditions or other types of assets)
  - `current_filename` string: the filename for an ingested asset in the Video Cloud system (not applicable to remote assets)
  - `drm` Drm, nullable: DRM packaging details (not applicable to remote assets or Dynamic Delivery accounts)
    - `metadata_cdn_origin_id` string
    - `metadata_sharded_directory` string
    - `packager_version` string
    - `state` string
  - `encoding_rate` integer: average encoding rate in kbps
  - `frame_height` integer: frame height in pixels
  - `frame_width` integer: frame width in pixels
  - `id` string: the asset id
  - `key_systems` string[]: array of strings that denote the kind of encryption used for DRM packaged renditions
  - `name` string: asset name
  - `progressive_download` boolean: whether ingested rendition is available by progressive download (not applicable to other asset types or remote renditions)
  - `reference_id` string: the media asset reference id (must be unique within the account) - this is **not** the same as the video reference id
  - `remote_stream_name` string: name for remote streams (not applicable to asset types other than rendition)
  - `remote_url` string: the url for a remote asset (not applicable to ingested assets); **`remote_url` is required when adding an asset (POST)**
  - `size` integer: the size of the asset in bytes (integer)
  - `type` string: the type of the asset
  - `updated_at` string: when the video was last modified
  - `uploaded_at` string: when the asset was added to the video in Video Cloud
  - `video_codec` string: not applicable to remote assets
  - `video_container` string: not applicable to remote assets
  - `video_duration` integer: duration in milliseconds

## Other responses

- `401`: UNAUTHORIZED: Authentication failed; check to make sure your client credentials were correct for the access token
- `403`: NOT_AVAILABLE: The resource you are requesting is temporarily unavailable MIXED_REMOTE_NOT_ALLOWED: Remote renditions may not be added to ingested videos
- `404`: RESOURCE_NOT_FOUND: The api could not find the resource you requested
- `405`: METHOD_NOT_ALLOWED: The HTTP method specified is not allowed for this endpoint
- `409`: REFERENCE_ID_IN_USE: The specified reference id is already in use
- `422`: VALIDATION_ERROR: remote_url
- `429`: TOO_MANY_REQUESTS: You are submitting too many simultaneous requests or too many requests per second
- `500`: UNKNOWN: Issue in Brightcove system; try again later. TIMEOUT: Server likely too busy; try again later.

## Changes

- **2023-04-29** `d5befff2511b`: 1 info
  - endpoint added
- **2023-04-28** `5285220c7df0`: 1 breaking
  - api path removed without deprecation
- **2023-03-26** `751db20334e4`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/brightcovelearning/apis/brightcove-cms-api-reference/changes/v1/accounts/:{account_id}/videos/:{video_id}/assets/renditions/post.md)

---

[API](https://skmtc.dev/brightcovelearning/apis/brightcove-cms-api-reference.md) - [All operations](https://skmtc.dev/brightcovelearning/apis/brightcove-cms-api-reference/llms.txt) - [OpenAPI document](https://skmtc.dev/brightcovelearning/apis/brightcove-cms-api-reference/revisions/1b6182a4560a?raw)
