Media Manager

Wix sites have a built-in file storage system called the Media Manager. The Media Files API gives developers programmatic access to upload, retrieve, and manage files. Storage is shared across the site and any apps installed on it.

Key properties of the Media Manager:

  • Supported file types: Images, videos, audio, documents, and archives.
  • Public by default: Files are public when uploaded. Set private: true at upload time to restrict access. Private files return HTTP 403 on direct access. Retrieve them through a temporary signed download URL instead. Private status cannot be changed after upload.
  • File identifiers: Every file has a file ID and a WixMedia URL (for example, wix:image://v1/0abec0_b291...~mv2.jpg/leon.jpg). API parameters that accept a file ID also accept a WixMedia URL, which matters when working with other Wix APIs such as the CMS that return WixMedia URLs rather than file IDs.
  • Asynchronous processing: Upload and import requests return before the file is ready to use. Listen for the File Ready webhook to confirm a file is available, or File Failed to handle errors. Pass arbitrary key-value pairs in the externalInfo field at upload time to correlate webhook events with your own data.

Uploading files

Three upload methods are available depending on how the file is sourced:

  • Import: For files with a publicly accessible URL. Wix servers fetch the file directly. Use Import File or Bulk Import Files.
  • Standard upload: For files without a public URL. Call Generate File Upload URL to get a signed upload URL, then PUT the file binary to that URL.
  • Resumable upload: For large files or unreliable connections. Uses the TUS protocol. Call Generate Resumable Upload URL, then upload with a TUS client. Supports pause and resume.

Image transformation

Wix provides 2 ways to transform images for display:

  • URL-based transformation: Append transformation parameters to a static.wixstatic.com image URL to produce a fit, fill, or crop variant at specific dimensions. Works only for public images hosted on Wix. Invalid parameters return HTTP 400. Images are not upscaled beyond their original dimensions.
  • SDK utilities: The @wix/sdk media module provides getScaledToFillImageUrl(), getScaledToFitImageUrl(), and getCroppedImageUrl() functions that accept any WixMedia identifier. Supports additional options including focal point, image filters, quality, and watermark.

Media Manager across development paths

The development path determines how you interact with the Media Manager:

  • Sites: Access the Media Manager through the Media Files API. Open it as a modal inside a dashboard page using openMediaManager() from the @wix/dashboard SDK. If the site has a Wix mobile app, users can upload files directly from the app using showFileUploadPicker().
  • Wix-managed headless projects: Access the Media Manager through the Media Files API.
  • Self-managed headless projects: Access the Media Manager through the Media Files API.
  • Wix-managed apps: Access the host site's Media Manager through the Media Files API. Open the Media Manager picker from app dashboard pages using openMediaManager().
  • Self-managed apps: Access the host site's Media Manager through the Media Files API. Open the Media Manager picker from app dashboard pages using openMediaManager().
  • Blocks apps: Access the host site's Media Manager through the Media Files API.

See also

Last updated: 2 August 2026

Did this help?