Zur Navigation springen

create asset

Register a media URL as a reusable asset and get back its id. Use the id in generation inputs (input[].assetId) or as a voice clone sample. To upload a local file, first request a presigned URL via POST /v2/assets/upload, PUT the file there, then register the returned url here. Registration verifies the upload happened and enforces plan limits on the actual file size.

projectId is optional. When provided it must reference a project in your organization — a stale or foreign id is rejected with a 422 and errorCode project_not_found; omit the field if you don’t need the asset attached to a project.

A link to a single TikTok, Instagram, Facebook, or YouTube video is imported instead of registered. The response is 409 import_in_progress until the video is downloaded; send the same request again after Retry-After to get the imported VIDEO asset, named after the video. A failed import returns 422 import_failed; check the message or upload the file instead. A 429 means the concurrent or daily import limit was reached; follow Retry-After. Link imports return 403 import_not_enabled when unavailable for your account and 503 import_unavailable when temporarily unavailable. See Asset Uploads.

Authentifizierung

x-api-keystring
API-Key-Authentifizierung via Header

Anfrage

This endpoint expects an object.
urlstringErforderlich

The public URL of the media to register — e.g. the url returned by POST /v2/assets/upload. Registration verifies the upload happened and enforces plan limits on the actual file size. A link to a single TikTok, Instagram, Facebook, or YouTube video is imported as a VIDEO asset instead.

typeenumErforderlich
The type of asset.
Erlaubte Werte:
namestringOptional
An optional display name for the asset.
visibilityenumOptionalStandardwert ist USER
Who can see the asset. Defaults to USER.
Erlaubte Werte:
projectIdstringOptional

Optionally attach the asset to a project (created via POST /v2/projects) so it appears in Studio under that project’s media. Must reference a project in your organization — otherwise the request is rejected with 422.

inputTypeenumOptional
The source of the asset.
thumbnailUrlstring or nullOptional
Optional thumbnail URL for the asset.
sizelongOptional
File size in bytes.
formatstringOptional
File format or extension.
durationSecondsdoubleOptional
Media duration in seconds.
widthintegerOptional
Width in pixels for video or image assets.
heightintegerOptional
Height in pixels for video or image assets.
contentSha256stringOptionalFormat: "^[a-f0-9]{64}$"

SHA-256 digest of the file’s bytes, as 64 lowercase hex characters.

Antwort

Asset registered successfully
idstring
A unique identifier for an asset.
createdAtdatetime
The date and time the asset was created.
updatedAtdatetime
The date and time the asset was last updated.
typeenum
The type of asset file.
Erlaubte Werte:
visibilityenum
Visibility scope for the asset.
Erlaubte Werte:
namestringOptional
The filename of the asset.
urlstringOptional
The URL to access the asset media.
sizelongOptional
File size in bytes.
formatstringOptional

File format/extension (e.g., “mp4”, “wav”).

inputTypeenumOptional
The source type of the asset.
durationSecondsdoubleOptional

Duration of the media in seconds (for audio/video).

thumbnailUrlstringOptional
URL to the asset's thumbnail image.
widthintegerOptional

Width in pixels (for video/image).

heightintegerOptional

Height in pixels (for video/image).

projectIdstringOptional
The id of the project this asset is attached to, or null when it belongs to no project.
proxyPathstring or nullOptional
Stable API proxy path for authenticated media playback.

Fehler

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
409
Link Import IN Progress Error
422
Unprocessable Entity Error
429
Link Import Too Many Requests Error
500
Internal Server Error
503
Service Unavailable Error