跳转到主要内容
PATCH
/
asset
/
{assetId}
TypeScript
import { Livepeer } from "livepeer";
import { Type } from "livepeer/models/components";

const livepeer = new Livepeer({
  apiKey: "<YOUR_BEARER_TOKEN_HERE>",
});

async function run() {
  const result = await livepeer.asset.update({
    name: "filename.mp4",
    playbackPolicy: {
      type: Type.Webhook,
      webhookId: "1bde4o2i6xycudoy",
      webhookContext: {
        "streamerId": "my-custom-id",
      },
      refreshInterval: 600,
    },
  }, "<id>");

  // Handle the result
  console.log(result);
}

run();
{
  "id": "09F8B46C-61A0-4254-9875-F71F4C605BC7",
  "source": {
    "type": "url",
    "url": "<string>",
    "gatewayUrl": "<string>",
    "encryption": "<unknown>"
  },
  "name": "filename.mp4",
  "type": "video",
  "playbackId": "eaw4nk06ts2d0mzb",
  "userId": "66E2161C-7670-4D05-B71D-DA2D6979556F",
  "playbackUrl": "https://livepeercdn.com/asset/ea03f37e-f861-4cdd-b495-0e60b6d753ad/index.m3u8",
  "downloadUrl": "https://livepeercdn.com/asset/eaw4nk06ts2d0mzb/video/download.mp4",
  "playbackPolicy": {
    "type": "webhook",
    "webhookId": "1bde4o2i6xycudoy",
    "webhookContext": {
      "streamerId": "my-custom-id"
    },
    "refreshInterval": 600,
    "allowedOrigins": [
      "<string>"
    ]
  },
  "creatorId": {
    "type": "unverified",
    "value": "user123"
  },
  "profiles": [
    {
      "bitrate": 3000000,
      "width": 1280,
      "name": "720p",
      "height": 720,
      "quality": 23,
      "fps": 30,
      "fpsDen": 1,
      "gop": 2,
      "profile": "H264Baseline",
      "encoder": "H.264"
    }
  ],
  "storage": {
    "ipfs": {
      "spec": {},
      "nftMetadata": {
        "cid": "<string>",
        "url": "<string>",
        "gatewayUrl": "<string>"
      },
      "updatedAt": 1587667174725
    },
    "status": {
      "phase": "ready",
      "tasks": {
        "pending": "09F8B46C-61A0-4254-9875-F71F4C605BC7",
        "last": "09F8B46C-61A0-4254-9875-F71F4C605BC7",
        "failed": "09F8B46C-61A0-4254-9875-F71F4C605BC7"
      },
      "progress": 0.5,
      "errorMessage": "Failed to update storage"
    }
  },
  "status": {
    "phase": "uploading",
    "updatedAt": 1587667174725,
    "progress": 123,
    "errorMessage": "<string>"
  },
  "projectId": "aac12556-4d65-4d34-9fb6-d1f0985eb0a9",
  "createdAt": 1587667174725,
  "createdByTokenName": "<string>",
  "size": 84934509,
  "hash": [
    {
      "hash": "9b560b28b85378a5004117539196ab24e21bbd75b0e9eb1a8bc7c5fd80dc5b57",
      "algorithm": "sha256"
    }
  ],
  "videoSpec": {
    "format": "mp4",
    "duration": 23.8328,
    "bitrate": 1000000,
    "tracks": [
      {
        "type": "video",
        "codec": "aac",
        "startTime": 23.8238,
        "duration": 23.8238,
        "bitrate": 1000000,
        "width": 1920,
        "height": 1080,
        "pixelFormat": "yuv420p",
        "fps": 30,
        "channels": 2,
        "sampleRate": 44100,
        "bitDepth": 16
      }
    ]
  }
}

更新资产

授权

Authorization
string
header
必填

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

路径参数

assetId
string
必填

ID of the asset

请求体

application/json
name
any
creatorId
playbackPolicy
object

Whether the playback policy for an asset or stream is public or signed

storage
any

响应

Success

id
string
必填
示例:

"09F8B46C-61A0-4254-9875-F71F4C605BC7"

source
object
必填
name
string
必填

The name of the asset. This is not necessarily the filename - it can be a custom name or title.

示例:

"filename.mp4"

type
enum<string>

Type of the asset.

可用选项:
video,
audio
示例:

"video"

playbackId
string

The playback ID to use with the Playback Info endpoint to retrieve playback URLs.

示例:

"eaw4nk06ts2d0mzb"

userId
string
已弃用
示例:

"66E2161C-7670-4D05-B71D-DA2D6979556F"

playbackUrl
string

URL for HLS playback. It is recommended to not use this URL, and instead use playback IDs with the Playback Info endpoint to retrieve the playback URLs - this URL format is subject to change (e.g. https://livepeercdn.com/asset/ea03f37e-f861-4cdd-b495-0e60b6d753ad/index.m3u8).

示例:

"https://livepeercdn.com/asset/ea03f37e-f861-4cdd-b495-0e60b6d753ad/index.m3u8"

downloadUrl
string

The URL to directly download the asset, e.g. https://livepeercdn.com/asset/eawrrk06ts2d0mzb/video. It is not recommended to use this for playback.

示例:

"https://livepeercdn.com/asset/eaw4nk06ts2d0mzb/video/download.mp4"

playbackPolicy
object

Whether the playback policy for an asset or stream is public or signed

creatorId
object
profiles
object[]

Requested profiles for the asset to be transcoded into. Configured on the upload APIs payload or through the stream.recordingSpec field for recordings. If not specified, default profiles are derived based on the source input. If this is a recording, the source will not be present in this list but will be available for playback.

storage
object
status
object

Status of the asset

projectId
string

The ID of the project

示例:

"aac12556-4d65-4d34-9fb6-d1f0985eb0a9"

createdAt
number

Timestamp (in milliseconds) at which asset was created

示例:

1587667174725

createdByTokenName
string

Name of the token used to create this object

size
number

Size of the asset in bytes

示例:

84934509

hash
object[] | null

Hash of the asset

videoSpec
object

Video metadata

Last modified on March 1, 2026