Media

Understandings

Requests, objects, and responses.

Reprocess existing assets

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.

Transcript hallucination filtering

Transcript segments are normalized by converting full-width characters to half-width, lowercasing, and removing leading and trailing whitespace and punctuation. Segments that become empty or exactly match a known hallucination phrase are discarded. Matching is whole-segment only: “thank you for the report” is retained.

The phrase list includes: thank you; thanks for watching; thank you for watching; please subscribe; subscribe; you; bye; 字幕由amara.org社区提供; 请不吝点赞 订阅 转发 打赏支持明镜与点点栏目; 谢谢观看; 优优独播剧场——yoyo television series exclusive.

Discarded segments do not enter transcript text, keyword indexes, or transcript vectors. If all segments are filtered, the transcript understanding remains ready, content is an empty string, and data is { "filtered_segments": n }, where n counts the discarded segments. No transcript vectors are generated for that asset.

Guide →

Base URL and authentication

List understandings

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

ParameterLocationTypeDescription
library_idpathstringLibrary ID
asset_idpathstringAsset ID
include_supersededquerybooleanInclude superseded results; only true or false
kindquerycaption / tags / ocr / transcript / frameUnderstanding or processing kind; filters the understanding list
cursorquerystringPrevious next_cursor
limitqueryinteger1–200 items per page, default 200

Returns: UnderstandingPage.

Response

HTTP 200

Successful response.

application/json

NameTypeDescription
dataarray<object>Understanding results in this page, ordered by creation time ascending.
data[].idstringGenerated identifier of this understanding result.
data[].asset_idstringIdentifier of the asset from which this result was produced.
data[].asset_versionnumberAsset version processed to produce this result; compare with the asset’s current version.
data[].kindstringResult kind: caption is a visual description, tags are recognized labels, ocr is text recognized in the image, transcript is speech text, and frame is a description of a video segment.
data[].producerstringProducer model identifier; a failure may use the configured model when no model response is available.
data[].producer_versionstring
data[].segmentobject | nullSource-media time range for a frame or transcript segment; null for results without a segment.
data[].statusstringResult status: ready contains completed output; failed records an error.
data[].contentstring | nullText output, such as a caption, recognized text or transcript; null for structured-only or failed results.
data[].dataany | nullStructured producer output, such as recognized labels or frame details; null when absent.
data[].confidencenumber | null
data[].errorobject | nullFailure code and message, or null for a successful result.
data[].supersededbooleanWhether a newer result or asset version has replaced this result. Excluded from listing unless include_superseded is true.
data[].created_atstringTime this immutable result was recorded, in UTC.
next_cursorstring | nullOpaque token to pass as cursor to listUnderstandings; null means no further page.
curl -X GET "https://api.deepraxis.ai/media/v1/libraries/${LIBRARY_ID}/assets/9339cdae93804c0c8c65d5189ef1f646/understandings" \
  -H "Authorization: Bearer $PRAXIS_API_KEY"

HTTP 200

{
  "data": [],
  "next_cursor": null
}

UnderstandingPage

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

Understanding

FieldTypeRequiredDescription
idUnderstandingIdyesResource ID
asset_idAssetIdyesAsset ID
asset_versionnumberyesAsset version understood
kindUnderstandingKindyesUnderstanding or processing kind; filters the understanding list
producerstringyesUnderstanding producer
producer_versionstringyesProducer version
segmentSegment / nullyesStart/end milliseconds; null for whole assets
status"ready" / "failed"yesResource status
contentstring / nullyesText content
dataJSON / nullyesResults in this page
confidencenumber / nullyesConfidence; may be null
errorobject / nullyesError code and message; null on success
supersededbooleanyesWhether superseded by a newer version
created_atIsoTimestampyesCreation time

Segment

FieldTypeRequiredDescription
start_msnumberyesSegment start in milliseconds
end_msnumberyesSegment end in milliseconds
Export

On this page