Skip to main content

Media library

The Media library screen lets you upload images, audio, video and PDF files, see how they were classified and filtered by the DLP, and delete them. Portal path: /multimodal/media. Developers use it to prepare the media of multimodal jobs; security officers use it to remove a media.

What the screen shows​

Two tabs:

  • Library: the media of the tenant, with their number on the tab. Columns: Id, Media type, Operation, MIME type, Size (bytes), Classification, DLP action, Created. Above the table, a Media id field and the Open button add a media to the list by its id. Without any media, the screen shows "No media yet" with an Upload button that opens the other tab.
  • Upload media: a File field (images, audio, video, PDF), an Operation selector and the Upload button; the answer appears as JSON after the upload. Files are scanned, classified, checked by the DLP and stored encrypted.

The operations are Document extraction (default), OCR, Vision understanding, Image generation, Image edit, Video processing, Video generation, Speech to text, Diarization, Text to speech and Live voice.

The list comes from the API (the 100 first media). When the API cannot list (404 or 405 from an older version), the portal falls back on the ids remembered by this browser; in that mode the row menu also offers Hide, which only removes the id from the local list.

Actions​

Button or actionWhat it doesAPI callRoles
Opening LibraryLists the mediaGET /v1/mediaany tenant user
OpenAdds the id to the list; in fallback mode, reads the mediaGET /v1/media/{media_id}any tenant user
UploadSends the file as multipart with the operationPOST /v1/mediaany tenant user
Hide (row menu, fallback mode only)Removes the id from the list of this browsernoneany user
Delete (row menu)Asks a confirmation, then deletes the mediaDELETE /v1/media/{media_id}the creator, tenant_admin or security_officer

Roles​

The portal hides no button. In services/control-plane/src/eai/domains/multimodal/__init__.py any user of the tenant uploads and lists; a media is deleted by its creator, a tenant_admin or a security_officer, and never while a legal hold covers it. Every upload goes through the file security chain before storage.

Typical tasks​

Upload a document for extraction​

  1. Choose the file. The operation tells the platform what the media is for. Open Upload media, choose the File and keep Operation on Document extraction.

    Expected result: the Upload button is enabled.

    If it fails: the button stays disabled until a file is chosen.

  2. Upload it. Click Upload.

    Expected result: the toast "Media uploaded" and the JSON answer with the id, the classification and the DLP block.

    If it fails: media_too_large gives the size limit in max_bytes; file_blocked means the scan refused it.

  3. Reuse the id. Copy the Id from Library into the Media id field of a job in Multimodal jobs.

    Expected result: the job reads the media.

    If it fails: unsupported_media means the media type does not fit the job (an image for vision, audio for speech).

Delete a media​

  1. Delete it. Open the row menu, choose Delete and confirm.

    Expected result: the row disappears.

    If it fails: legal_hold means a hold protects it; forbidden means you are not its creator.

Troubleshooting​

SymptomCauseFix
media_too_large (413)The file is above the media size limitUpload a smaller file
file_blocked (422)The antivirus, YARA or validation step refused the fileSee File security
invalid_request (400) with required fileThe multipart body has no file partChoose a file again
forbidden (403) on DeleteYou are not the creator, nor tenant_admin or security_officerAsk a security officer
legal_hold (409) on DeleteA legal hold covers the mediaRelease it in Retention
A media opened by id shows the status errorThe id does not exist or you cannot read it (fallback mode)Check the id, then Hide it