Media

Assets

Requests, objects, and responses.

Guide →

Base URL and authentication

List assets

GET /media/v1/libraries/{library_id}/assets

ParameterLocationTypeDescription
library_idpathstringLibrary ID
asset_folderquerystringOrganizational folder; does not change public_id. Listing by it matches that level only, not subfolders; an empty string is the root
resource_typequeryimage / video / rawimage, video (including audio), or raw; auto applies to uploads only, and listing with auto or any other value returns 400
cursorquerystringPrevious next_cursor
limitqueryinteger1–200 items per page, default 50

Returns: AssetPage.

Response

HTTP 200

Successful response.

application/json

NameTypeDescription
dataarray<object>Assets in this page, ordered by creation time descending.
data[].asset_idstringGenerated asset identifier: 32 lowercase hexadecimal characters, preserved across overwrites.
data[].public_idstringDelivery identifier unique within this library, used in asset URLs.
data[].display_namestringHuman-readable asset name, independent of its delivery identifier.
data[].asset_folderstringOrganizational folder path; the empty string denotes the root folder.
data[].resource_typestringStored media category: image for images, video for video or audio, and raw for other files. Upload also accepts auto for detection.
data[].typestringPublic asset delivery mode; upload is the only supported value.
data[].formatstringDetected file format used as the delivery URL extension.
data[].versionnumberMonotonically increasing asset version used in delivery URLs; based on upload time in Unix seconds and advanced on overwrite.
data[].version_idstringIdentifier for this asset version, regenerated on overwrite.
data[].bytesnumberSize of the original source content, in bytes.
data[].etagstringMD5 digest of the source bytes, as 32 lowercase hexadecimal characters.
data[].widthnumberSource image or video width in pixels, when known.
data[].heightnumberSource image or video height in pixels, when known.
data[].durationnumberSource audio or video duration in seconds, when known.
data[].pagesnumber
data[].is_audiobooleanTrue for audio-only media, which uses resource_type video.
data[].original_filenamestringOriginal or overridden source filename with its final extension removed.
data[].tagsarray<string>Labels attached to the asset.
data[].contextobjectCustom string metadata; omitted when empty or excluded by the search projection.
data[].created_atstringTime this asset identity was created, in UTC.
data[].urlstringURL for retrieving this version of the asset’s original content.
data[].secure_urlstringHTTPS delivery URL for this asset version; equal to url.
data[].placeholderbooleanFalse because this response represents stored source content.
data[].existingboolean
data[].processingobjectProgress of understanding and embedding tasks for the asset.
data[].library_idstringIdentifier of the library containing this asset.
data[].sha256stringSHA-256 digest of the source bytes, as 64 lowercase hexadecimal characters.
data[].statusstringResource status; active identifies an asset that has not been deleted.
data[].semanticstringSearch-vector status: pending awaits vector generation or reprocessing; ready has searchable vectors; unavailable indicates disabled, unsupported or failed embedding. Existing vectors may still serve searches while reprocessing is pending.
data[].previewobjectGenerated video previews, present once preview generation succeeds.
next_cursorstring | nullOpaque token to pass as cursor to listAssets; null means no further page.
curl -X GET "https://api.deepraxis.ai/media/v1/libraries/${LIBRARY_ID}/assets" \
  -H "Authorization: Bearer $PRAXIS_API_KEY"

HTTP 200

{
  "data": [
    {
      "asset_id": "9dfa312ef9bc4b00816339b598b1152c",
      "public_id": "walk-lib-r1-MDP-1791733789929-tagged",
      "display_name": "walk-lib-r1-MDP-1791733789929-tagged",
      "asset_folder": "",
      "resource_type": "image",
      "type": "upload",
      "format": "png",
      "version": 1791733815,
      "version_id": "26cb8171caa5431b8373ad417fd71e32",
      "bytes": 70,
      "etag": "b357a19c87624c7c4d131aeeb4ae677f",
      "width": 1,
      "height": 1,
      "original_filename": "file",
      "tags": [
        "docs"
      ],
      "processing": {
        "state": "processing",
        "kinds": {
          "embedding": "pending",
          "visual": "running",
          "tagging": "running"
        },
        "updated_at": "2026-10-11T15:50:17.571Z"
      },
      "created_at": "2026-10-11T15:50:15.996Z",
      "url": "https://media-develop.praxisusercontent.com/lib_d3881a2f54a34cd79121b9d659e8378c/image/upload/v1791733815/walk-lib-r1-MDP-1791733789929-tagged.png",
      "secure_url": "https://media-develop.praxisusercontent.com/lib_d3881a2f54a34cd79121b9d659e8378c/image/upload/v1791733815/walk-lib-r1-MDP-1791733789929-tagged.png",
      "placeholder": false,
      "library_id": "lib_d3881a2f54a34cd79121b9d659e8378c",
      "sha256": "497790947d4666760ce38f3c00e852c71fdb66cae849bae8e9ede352719e1581",
      "status": "active",
      "semantic": "pending"
    },
    {
      "asset_id": "85b7ef616a8b4719a41777a036ebc1d2",
      "public_id": "walk-lib-r1-MDP-1791733789929-plain",
      "display_name": "walk-lib-r1-MDP-1791733789929-plain",
      "asset_folder": "",
      "resource_type": "image",
      "type": "upload",
      "format": "png",
      "version": 1791733810,
      "version_id": "fdf3c8cd40c2424d86e8397425a69857",
      "bytes": 70,
      "etag": "b357a19c87624c7c4d131aeeb4ae677f",
      "width": 1,
      "height": 1,
      "original_filename": "file",
      "tags": [
        "docs"
      ],
      "created_at": "2026-10-11T15:50:10.842Z",
      "url": "https://media-develop.praxisusercontent.com/lib_d3881a2f54a34cd79121b9d659e8378c/image/upload/v1791733810/walk-lib-r1-MDP-1791733789929-plain.png",
      "secure_url": "https://media-develop.praxisusercontent.com/lib_d3881a2f54a34cd79121b9d659e8378c/image/upload/v1791733810/walk-lib-r1-MDP-1791733789929-plain.png",
      "placeholder": false,
      "library_id": "lib_d3881a2f54a34cd79121b9d659e8378c",
      "sha256": "497790947d4666760ce38f3c00e852c71fdb66cae849bae8e9ede352719e1581",
      "status": "active",
      "processing": {
        "state": "processing",
        "kinds": {
          "embedding": "pending",
          "visual": "running"
        },
        "updated_at": "2026-10-11T15:50:17.571Z"
      },
      "semantic": "pending"
    }
  ],
  "next_cursor": null
}

Upload asset

POST /media/v1/libraries/{library_id}/assets

ParameterLocationTypeDescription
library_idpathstringLibrary ID
X-Unique-Upload-IdheaderstringStable identifier shared by every chunk of this upload.
Content-RangeheaderstringChunk byte range: bytes start-end/total; total may be -1 until the final chunk.

Request body

FieldTypeRequiredDescription
filestring / stringyesFile bytes, HTTPS URL, data URI, or same-account file_…
public_idstringnoAsset name in delivery URLs; may contain path segments
public_id_prefixstringnoPath prefix for public_id; a trailing / is optional and exactly one / separates prefix and ID
display_namestringnoDisplay name
asset_folderstringnoOrganizational folder; does not change public_id. Listing by it matches that level only, not subfolders; an empty string is the root
use_filenamebooleannoUse the file name for public_id
unique_filenamebooleannoAppend a unique suffix
use_filename_as_display_namebooleannoUse the file name as display_name
filename_overridestringnoOverride the original file name
overwritebooleannoWhether to overwrite a matching public ID
tagsstring / string[]noAsset tags. Uploads accept a comma-separated string (items trimmed, empty items dropped), an array, or repeated tags fields; PATCH accepts an array only and replaces the whole list
contextstring / objectnoCustom text key/value pairs; PATCH replaces the whole map, {} clears it
auto_taggingnumbernoMerge tags meeting the threshold after understanding; 0–1
resource_typeimage / video / raw / autonoimage, video (including audio), or raw; auto applies to uploads only, and listing with auto or any other value returns 400

Returns: CloudinaryResource.

Response

HTTP 200

Successful response.

application/json

NameTypeDescription
asset_idstringGenerated asset identifier: 32 lowercase hexadecimal characters, preserved across overwrites.
public_idstringDelivery identifier unique within this library, used in asset URLs.
display_namestringHuman-readable asset name, independent of its delivery identifier.
asset_folderstringOrganizational folder path; the empty string denotes the root folder.
resource_typestringStored media category: image for images, video for video or audio, and raw for other files. Upload also accepts auto for detection.
typestringPublic asset delivery mode; upload is the only supported value.
formatstringDetected file format used as the delivery URL extension.
versionnumberMonotonically increasing asset version used in delivery URLs; based on upload time in Unix seconds and advanced on overwrite.
version_idstringIdentifier for this asset version, regenerated on overwrite.
bytesnumberSize of the original source content, in bytes.
etagstringMD5 digest of the source bytes, as 32 lowercase hexadecimal characters.
widthnumberSource image or video width in pixels, when known.
heightnumberSource image or video height in pixels, when known.
durationnumberSource audio or video duration in seconds, when known.
pagesnumber
is_audiobooleanTrue for audio-only media, which uses resource_type video.
original_filenamestringOriginal or overridden source filename with its final extension removed.
tagsarray<string>Labels attached to the asset.
contextobjectCustom string metadata; omitted when empty or excluded by the search projection.
context.customobjectCaller-supplied metadata entries with string values.
created_atstringTime this asset identity was created, in UTC.
urlstringURL for retrieving this version of the asset’s original content.
secure_urlstringHTTPS delivery URL for this asset version; equal to url.
placeholderbooleanFalse because this response represents stored source content.
existingbooleanTrue when overwrite=false returns the asset already stored under the requested public_id.
processingobjectProcessing progress, included when auto_tagging was requested.
processing.statestring
processing.kindsobjectProcessing states by kind. tagging is present when auto_tagging was requested and follows visual understanding.
processing.updated_atstringTime the processing state was last updated, in UTC.
donebooleanFalse while more chunks are needed before the asset is complete. / True when the final chunk has completed the asset upload.
upload_idstringUpload session identifier supplied in X-Unique-Upload-Id; reuse it for subsequent chunks.
curl -X POST "https://api.deepraxis.ai/media/v1/libraries/${LIBRARY_ID}/assets" \
  -H "Authorization: Bearer $PRAXIS_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"file":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg==","public_id":"walk-lib-r1-MDP-1791733789929-tagged","tags":["docs"],"auto_tagging":0.6}'

HTTP 200

{
  "asset_id": "9dfa312ef9bc4b00816339b598b1152c",
  "public_id": "walk-lib-r1-MDP-1791733789929-tagged",
  "display_name": "walk-lib-r1-MDP-1791733789929-tagged",
  "asset_folder": "",
  "resource_type": "image",
  "type": "upload",
  "format": "png",
  "version": 1791733815,
  "version_id": "26cb8171caa5431b8373ad417fd71e32",
  "bytes": 70,
  "etag": "b357a19c87624c7c4d131aeeb4ae677f",
  "width": 1,
  "height": 1,
  "original_filename": "file",
  "tags": [
    "docs"
  ],
  "processing": {
    "state": "pending",
    "kinds": {
      "visual": "pending",
      "embedding": "pending",
      "tagging": "pending"
    },
    "updated_at": "2026-10-11T15:50:15.996Z"
  },
  "created_at": "2026-10-11T15:50:15.996Z",
  "url": "https://media-develop.praxisusercontent.com/lib_d3881a2f54a34cd79121b9d659e8378c/image/upload/v1791733815/walk-lib-r1-MDP-1791733789929-tagged.png",
  "secure_url": "https://media-develop.praxisusercontent.com/lib_d3881a2f54a34cd79121b9d659e8378c/image/upload/v1791733815/walk-lib-r1-MDP-1791733789929-tagged.png",
  "placeholder": false
}

Import file

POST /media/v1/libraries/{library_id}/assets/import

ParameterLocationTypeDescription
library_idpathstringLibrary ID

Request body

FieldTypeRequiredDescription
file_idstringyesFile ID owned by the same account
public_idstringnoAsset name in delivery URLs; may contain path segments
public_id_prefixstringnoPath prefix for public_id; a trailing / is optional and exactly one / separates prefix and ID
display_namestringnoDisplay name
asset_folderstringnoOrganizational folder; does not change public_id. Listing by it matches that level only, not subfolders; an empty string is the root
use_filenamebooleannoUse the file name for public_id
unique_filenamebooleannoAppend a unique suffix
use_filename_as_display_namebooleannoUse the file name as display_name
filename_overridestringnoOverride the original file name
overwritebooleannoWhether to overwrite a matching public ID
tagsstring / string[]noAsset tags. Uploads accept a comma-separated string (items trimmed, empty items dropped), an array, or repeated tags fields; PATCH accepts an array only and replaces the whole list
contextstring / objectnoCustom text key/value pairs; PATCH replaces the whole map, {} clears it
auto_taggingnumbernoMerge tags meeting the threshold after understanding; 0–1
resource_typeimage / video / raw / autonoimage, video (including audio), or raw; auto applies to uploads only, and listing with auto or any other value returns 400

Returns: Asset.

Response

HTTP 200

Successful response.

application/json

NameTypeDescription
asset_idstringGenerated asset identifier: 32 lowercase hexadecimal characters, preserved across overwrites.
public_idstringDelivery identifier unique within this library, used in asset URLs.
display_namestringHuman-readable asset name, independent of its delivery identifier.
asset_folderstringOrganizational folder path; the empty string denotes the root folder.
resource_typestringStored media category: image for images, video for video or audio, and raw for other files. Upload also accepts auto for detection.
typestringPublic asset delivery mode; upload is the only supported value.
formatstringDetected file format used as the delivery URL extension.
versionnumberMonotonically increasing asset version used in delivery URLs; based on upload time in Unix seconds and advanced on overwrite.
version_idstringIdentifier for this asset version, regenerated on overwrite.
bytesnumberSize of the original source content, in bytes.
etagstringMD5 digest of the source bytes, as 32 lowercase hexadecimal characters.
widthnumberSource image or video width in pixels, when known.
heightnumberSource image or video height in pixels, when known.
durationnumberSource audio or video duration in seconds, when known.
pagesnumber
is_audiobooleanTrue for audio-only media, which uses resource_type video.
original_filenamestringOriginal or overridden source filename with its final extension removed.
tagsarray<string>Labels attached to the asset.
contextobjectCustom string metadata; omitted when empty or excluded by the search projection.
context.customobjectCaller-supplied metadata entries with string values.
created_atstringTime this asset identity was created, in UTC.
urlstringURL for retrieving this version of the asset’s original content.
secure_urlstringHTTPS delivery URL for this asset version; equal to url.
placeholderbooleanFalse because this response represents stored source content.
existingboolean
processingobjectProgress of understanding and embedding tasks for the asset.
processing.statestring
processing.kindsobjectProcessing states by kind. tagging is present when auto_tagging was requested and follows visual understanding.
processing.updated_atstringTime the processing state was last updated, in UTC.
library_idstringIdentifier of the library containing this asset.
sha256stringSHA-256 digest of the source bytes, as 64 lowercase hexadecimal characters.
statusstringResource status; active identifies an asset that has not been deleted.
semanticstringSearch-vector status: pending awaits vector generation or reprocessing; ready has searchable vectors; unavailable indicates disabled, unsupported or failed embedding. Existing vectors may still serve searches while reprocessing is pending.
previewobjectGenerated video previews, present once preview generation succeeds.
preview.poster_urlstringDelivery URL of the video’s first-frame poster.
preview.storyboardobjectPreview sprite sheet with tile dimensions and sample spacing.

Get asset

GET /media/v1/libraries/{library_id}/assets/{asset_id}

ParameterLocationTypeDescription
library_idpathstringLibrary ID
asset_idpathstringAsset ID

Returns: Asset.

Response

HTTP 200

Successful response.

application/json

NameTypeDescription
asset_idstringGenerated asset identifier: 32 lowercase hexadecimal characters, preserved across overwrites.
public_idstringDelivery identifier unique within this library, used in asset URLs.
display_namestringHuman-readable asset name, independent of its delivery identifier.
asset_folderstringOrganizational folder path; the empty string denotes the root folder.
resource_typestringStored media category: image for images, video for video or audio, and raw for other files. Upload also accepts auto for detection.
typestringPublic asset delivery mode; upload is the only supported value.
formatstringDetected file format used as the delivery URL extension.
versionnumberMonotonically increasing asset version used in delivery URLs; based on upload time in Unix seconds and advanced on overwrite.
version_idstringIdentifier for this asset version, regenerated on overwrite.
bytesnumberSize of the original source content, in bytes.
etagstringMD5 digest of the source bytes, as 32 lowercase hexadecimal characters.
widthnumberSource image or video width in pixels, when known.
heightnumberSource image or video height in pixels, when known.
durationnumberSource audio or video duration in seconds, when known.
pagesnumber
is_audiobooleanTrue for audio-only media, which uses resource_type video.
original_filenamestringOriginal or overridden source filename with its final extension removed.
tagsarray<string>Labels attached to the asset.
contextobjectCustom string metadata; omitted when empty or excluded by the search projection.
context.customobjectCaller-supplied metadata entries with string values.
created_atstringTime this asset identity was created, in UTC.
urlstringURL for retrieving this version of the asset’s original content.
secure_urlstringHTTPS delivery URL for this asset version; equal to url.
placeholderbooleanFalse because this response represents stored source content.
existingboolean
processingobjectProgress of understanding and embedding tasks for the asset.
processing.statestring
processing.kindsobjectProcessing states by kind. tagging is present when auto_tagging was requested and follows visual understanding.
processing.updated_atstringTime the processing state was last updated, in UTC.
library_idstringIdentifier of the library containing this asset.
sha256stringSHA-256 digest of the source bytes, as 64 lowercase hexadecimal characters.
statusstringResource status; active identifies an asset that has not been deleted.
semanticstringSearch-vector status: pending awaits vector generation or reprocessing; ready has searchable vectors; unavailable indicates disabled, unsupported or failed embedding. Existing vectors may still serve searches while reprocessing is pending.
previewobjectGenerated video previews, present once preview generation succeeds.
preview.poster_urlstringDelivery URL of the video’s first-frame poster.
preview.storyboardobjectPreview sprite sheet with tile dimensions and sample spacing.
curl -X GET "https://api.deepraxis.ai/media/v1/libraries/${LIBRARY_ID}/assets/85b7ef616a8b4719a41777a036ebc1d2" \
  -H "Authorization: Bearer $PRAXIS_API_KEY"

HTTP 200

{
  "asset_id": "85b7ef616a8b4719a41777a036ebc1d2",
  "public_id": "walk-lib-r1-MDP-1791733789929-plain",
  "display_name": "walk-lib-r1-MDP-1791733789929-plain",
  "asset_folder": "",
  "resource_type": "image",
  "type": "upload",
  "format": "png",
  "version": 1791733810,
  "version_id": "fdf3c8cd40c2424d86e8397425a69857",
  "bytes": 70,
  "etag": "b357a19c87624c7c4d131aeeb4ae677f",
  "width": 1,
  "height": 1,
  "original_filename": "file",
  "tags": [
    "docs"
  ],
  "created_at": "2026-10-11T15:50:10.842Z",
  "url": "https://media-develop.praxisusercontent.com/lib_d3881a2f54a34cd79121b9d659e8378c/image/upload/v1791733810/walk-lib-r1-MDP-1791733789929-plain.png",
  "secure_url": "https://media-develop.praxisusercontent.com/lib_d3881a2f54a34cd79121b9d659e8378c/image/upload/v1791733810/walk-lib-r1-MDP-1791733789929-plain.png",
  "placeholder": false,
  "library_id": "lib_d3881a2f54a34cd79121b9d659e8378c",
  "sha256": "497790947d4666760ce38f3c00e852c71fdb66cae849bae8e9ede352719e1581",
  "status": "active",
  "processing": {
    "state": "processing",
    "kinds": {
      "embedding": "pending",
      "visual": "running"
    },
    "updated_at": "2026-10-11T15:50:17.571Z"
  },
  "semantic": "pending"
}

Update asset

PATCH /media/v1/libraries/{library_id}/assets/{asset_id}

ParameterLocationTypeDescription
library_idpathstringLibrary ID
asset_idpathstringAsset ID

Request body

FieldTypeRequiredDescription
display_namestringnoDisplay name
asset_folderstringnoOrganizational folder; does not change public_id. Listing by it matches that level only, not subfolders; an empty string is the root
tagsstring[]noAsset tags. Uploads accept a comma-separated string (items trimmed, empty items dropped), an array, or repeated tags fields; PATCH accepts an array only and replaces the whole list
contextobjectnoCustom text key/value pairs; PATCH replaces the whole map, {} clears it

Returns: Asset.

Response

HTTP 200

Successful response.

application/json

NameTypeDescription
asset_idstringGenerated asset identifier: 32 lowercase hexadecimal characters, preserved across overwrites.
public_idstringDelivery identifier unique within this library, used in asset URLs.
display_namestringHuman-readable asset name, independent of its delivery identifier.
asset_folderstringOrganizational folder path; the empty string denotes the root folder.
resource_typestringStored media category: image for images, video for video or audio, and raw for other files. Upload also accepts auto for detection.
typestringPublic asset delivery mode; upload is the only supported value.
formatstringDetected file format used as the delivery URL extension.
versionnumberMonotonically increasing asset version used in delivery URLs; based on upload time in Unix seconds and advanced on overwrite.
version_idstringIdentifier for this asset version, regenerated on overwrite.
bytesnumberSize of the original source content, in bytes.
etagstringMD5 digest of the source bytes, as 32 lowercase hexadecimal characters.
widthnumberSource image or video width in pixels, when known.
heightnumberSource image or video height in pixels, when known.
durationnumberSource audio or video duration in seconds, when known.
pagesnumber
is_audiobooleanTrue for audio-only media, which uses resource_type video.
original_filenamestringOriginal or overridden source filename with its final extension removed.
tagsarray<string>Labels attached to the asset.
contextobjectCustom string metadata; omitted when empty or excluded by the search projection.
context.customobjectCaller-supplied metadata entries with string values.
created_atstringTime this asset identity was created, in UTC.
urlstringURL for retrieving this version of the asset’s original content.
secure_urlstringHTTPS delivery URL for this asset version; equal to url.
placeholderbooleanFalse because this response represents stored source content.
existingboolean
processingobjectProgress of understanding and embedding tasks for the asset.
processing.statestring
processing.kindsobjectProcessing states by kind. tagging is present when auto_tagging was requested and follows visual understanding.
processing.updated_atstringTime the processing state was last updated, in UTC.
library_idstringIdentifier of the library containing this asset.
sha256stringSHA-256 digest of the source bytes, as 64 lowercase hexadecimal characters.
statusstringResource status; active identifies an asset that has not been deleted.
semanticstringSearch-vector status: pending awaits vector generation or reprocessing; ready has searchable vectors; unavailable indicates disabled, unsupported or failed embedding. Existing vectors may still serve searches while reprocessing is pending.
previewobjectGenerated video previews, present once preview generation succeeds.
preview.poster_urlstringDelivery URL of the video’s first-frame poster.
preview.storyboardobjectPreview sprite sheet with tile dimensions and sample spacing.
curl -X PATCH "https://api.deepraxis.ai/media/v1/libraries/${LIBRARY_ID}/assets/85b7ef616a8b4719a41777a036ebc1d2" \
  -H "Authorization: Bearer $PRAXIS_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"display_name":"walk-lib-r1-MDP-1791733789929-plain"}'

HTTP 200

{
  "asset_id": "85b7ef616a8b4719a41777a036ebc1d2",
  "public_id": "walk-lib-r1-MDP-1791733789929-plain",
  "display_name": "walk-lib-r1-MDP-1791733789929-plain",
  "asset_folder": "",
  "resource_type": "image",
  "type": "upload",
  "format": "png",
  "version": 1791733810,
  "version_id": "fdf3c8cd40c2424d86e8397425a69857",
  "bytes": 70,
  "etag": "b357a19c87624c7c4d131aeeb4ae677f",
  "width": 1,
  "height": 1,
  "original_filename": "file",
  "tags": [
    "docs"
  ],
  "created_at": "2026-10-11T15:50:10.842Z",
  "url": "https://media-develop.praxisusercontent.com/lib_d3881a2f54a34cd79121b9d659e8378c/image/upload/v1791733810/walk-lib-r1-MDP-1791733789929-plain.png",
  "secure_url": "https://media-develop.praxisusercontent.com/lib_d3881a2f54a34cd79121b9d659e8378c/image/upload/v1791733810/walk-lib-r1-MDP-1791733789929-plain.png",
  "placeholder": false,
  "library_id": "lib_d3881a2f54a34cd79121b9d659e8378c",
  "sha256": "497790947d4666760ce38f3c00e852c71fdb66cae849bae8e9ede352719e1581",
  "status": "active",
  "processing": {
    "state": "processing",
    "kinds": {
      "embedding": "pending",
      "visual": "running"
    },
    "updated_at": "2026-10-11T15:50:17.571Z"
  },
  "semantic": "pending"
}

Delete asset

DELETE /media/v1/libraries/{library_id}/assets/{asset_id}

ParameterLocationTypeDescription
library_idpathstringLibrary ID
asset_idpathstringAsset ID

Returns: Deleted.

Response

HTTP 200

Successful response.

application/json

NameTypeDescription
deletedbooleanTrue once this asset has been removed from the library.
curl -X DELETE "https://api.deepraxis.ai/media/v1/libraries/${LIBRARY_ID}/assets/e5f3de0d8609482d8b351894b133c8cb" \
  -H "Authorization: Bearer $PRAXIS_API_KEY"

HTTP 200

{
  "deleted": true
}

Reprocess asset

POST /media/v1/libraries/{library_id}/assets/{asset_id}/reprocess

ParameterLocationTypeDescription
library_idpathstringLibrary ID
asset_idpathstringAsset ID

Request body

FieldTypeRequiredDescription
kindsProcessingKind[]noProcessing kinds to force rerun; omit to retry only failed kinds

Returns: Asset.

Allowed kinds are visual, frames, transcript, and embedding. Without kinds, only failed tasks for the current asset version are rerun. Explicit kinds force selected ready, failed, or unsupported tasks back to pending for a rerun. Tasks already pending or running are skipped unchanged; repeated requests do not enqueue duplicate work.

Kinds must apply to the asset type: images have visual and embedding; audio has transcript and embedding; video has frames, visual, transcript, and embedding; raw files have none. When no requested kind applies, the request returns 400 INVALID_PARAMS listing the kinds available for that asset. When some apply, only those are processed and the rest are ignored (the returned Asset has no field naming ignored kinds; check processing.kinds).

Rerunning visual, frames, or transcript immediately supersedes the old results and sets embedding and the asset’s semantic state to pending. The previous vectors keep serving semantic search until the new vectors are written, so the asset does not drop out of results while it is reprocessed; matches in that window may show the asset name instead of the old caption. Reads return only current results by default; use include_superseded=true to inspect history. The request returns the updated Asset immediately; processing completes asynchronously.

curl -X POST "https://api.deepraxis.ai/media/v1/libraries/${LIBRARY_ID}/assets/${ASSET_ID}/reprocess" \
  -H "Authorization: Bearer $PRAXIS_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{}'

Response

HTTP 200

Successful response.

application/json

NameTypeDescription
asset_idstringGenerated asset identifier: 32 lowercase hexadecimal characters, preserved across overwrites.
public_idstringDelivery identifier unique within this library, used in asset URLs.
display_namestringHuman-readable asset name, independent of its delivery identifier.
asset_folderstringOrganizational folder path; the empty string denotes the root folder.
resource_typestringStored media category: image for images, video for video or audio, and raw for other files. Upload also accepts auto for detection.
typestringPublic asset delivery mode; upload is the only supported value.
formatstringDetected file format used as the delivery URL extension.
versionnumberMonotonically increasing asset version used in delivery URLs; based on upload time in Unix seconds and advanced on overwrite.
version_idstringIdentifier for this asset version, regenerated on overwrite.
bytesnumberSize of the original source content, in bytes.
etagstringMD5 digest of the source bytes, as 32 lowercase hexadecimal characters.
widthnumberSource image or video width in pixels, when known.
heightnumberSource image or video height in pixels, when known.
durationnumberSource audio or video duration in seconds, when known.
pagesnumber
is_audiobooleanTrue for audio-only media, which uses resource_type video.
original_filenamestringOriginal or overridden source filename with its final extension removed.
tagsarray<string>Labels attached to the asset.
contextobjectCustom string metadata; omitted when empty or excluded by the search projection.
context.customobjectCaller-supplied metadata entries with string values.
created_atstringTime this asset identity was created, in UTC.
urlstringURL for retrieving this version of the asset’s original content.
secure_urlstringHTTPS delivery URL for this asset version; equal to url.
placeholderbooleanFalse because this response represents stored source content.
existingboolean
processingobjectProgress of understanding and embedding tasks for the asset.
processing.statestring
processing.kindsobjectProcessing states by kind. tagging is present when auto_tagging was requested and follows visual understanding.
processing.updated_atstringTime the processing state was last updated, in UTC.
library_idstringIdentifier of the library containing this asset.
sha256stringSHA-256 digest of the source bytes, as 64 lowercase hexadecimal characters.
statusstringResource status; active identifies an asset that has not been deleted.
semanticstringSearch-vector status: pending awaits vector generation or reprocessing; ready has searchable vectors; unavailable indicates disabled, unsupported or failed embedding. Existing vectors may still serve searches while reprocessing is pending.
previewobjectGenerated video previews, present once preview generation succeeds.
preview.poster_urlstringDelivery URL of the video’s first-frame poster.
preview.storyboardobjectPreview sprite sheet with tile dimensions and sample spacing.

AssetPage

FieldTypeRequiredDescription
dataAsset[]yesResults in this page
next_cursorstring / nullyesNext-page cursor; null or absent at the end

CloudinaryResource

FieldTypeRequiredDescription
asset_idAssetIdyesAsset ID
public_idstringyesAsset name in delivery URLs; may contain path segments
display_namestringyesDisplay name
asset_folderstringyesOrganizational folder; does not change public_id. Listing by it matches that level only, not subfolders; an empty string is the root
resource_typeResourceTypeyesimage, video (including audio), or raw; auto applies to uploads only, and listing with auto or any other value returns 400
typeDeliveryTypeyesResource or event type
formatstringyesFile format
versionnumberyesDelivery version
version_idstringyesVersion identifier
bytesnumberyesFile size in bytes
etagstringyesFile checksum
widthnumbernoWidth in pixels
heightnumbernoHeight in pixels
durationnumbernoDuration in seconds
pagesnumbernoDocument pages
is_audiobooleannoWhether this is audio
original_filenamestringnoOriginal file name
tagsstring[]yesAsset tags. Uploads accept a comma-separated string (items trimmed, empty items dropped), an array, or repeated tags fields; PATCH accepts an array only and replaces the whole list
contextobjectnoCustom text key/value pairs; PATCH replaces the whole map, {} clears it
created_atIsoTimestampyesCreation time
urlstringyesOriginal-file URL
secure_urlstringyesHTTPS delivery URL
placeholderfalseyesAlways false
existingbooleannoWhether an existing asset was returned without overwrite
processingProcessingnoOverall and per-kind processing states

Asset

FieldTypeRequiredDescription
asset_idAssetIdyesAsset ID
public_idstringyesAsset name in delivery URLs; may contain path segments
display_namestringyesDisplay name
asset_folderstringyesOrganizational folder; does not change public_id. Listing by it matches that level only, not subfolders; an empty string is the root
resource_typeResourceTypeyesimage, video (including audio), or raw; auto applies to uploads only, and listing with auto or any other value returns 400
typeDeliveryTypeyesResource or event type
formatstringyesFile format
versionnumberyesDelivery version
version_idstringyesVersion identifier
bytesnumberyesFile size in bytes
etagstringyesFile checksum
widthnumbernoWidth in pixels
heightnumbernoHeight in pixels
durationnumbernoDuration in seconds
pagesnumbernoDocument pages
is_audiobooleannoWhether this is audio
original_filenamestringnoOriginal file name
tagsstring[]yesAsset tags. Uploads accept a comma-separated string (items trimmed, empty items dropped), an array, or repeated tags fields; PATCH accepts an array only and replaces the whole list
contextobjectnoCustom text key/value pairs; PATCH replaces the whole map, {} clears it
created_atIsoTimestampyesCreation time
urlstringyesOriginal-file URL
secure_urlstringyesHTTPS delivery URL
placeholderfalseyesAlways false
existingbooleannoWhether an existing asset was returned without overwrite
processingProcessingyesOverall and per-kind processing states
library_idLibraryIdyesLibrary ID
sha256stringyesContent checksum
status"active"yesResource status
semantic"pending" / "ready" / "unavailable"yesSearchable semantically when ready
previewobjectnoPreview poster and storyboard

Deleted

FieldTypeRequiredDescription
deletedtrueyesDeletion result

Processing

FieldTypeRequiredDescription
stateProcessingStateyesOverall processing state
kindsobjectyesPer-kind processing states
updated_atIsoTimestampyesUpdate time

Storyboard

FieldTypeRequiredDescription
urlstringyesOriginal-file URL
tilesnumberyesStoryboard tile count
interval_msnumberyesTile interval in milliseconds
tile_widthnumberyesTile width
tile_heightnumberyesTile height
Export

On this page