> Portal Navigation: > > - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version. > - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages). > - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`). > - Top-level index of all portals: https://dev.wix.com/docs/llms.txt > - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt # GenerateFileResumableUploadUrl # Package: mediaManager # Namespace: FilesService # Method link: https://dev.wix.com/docs/api-reference/assets/media/media-manager/files/generate-file-resumable-upload-url.md ## Permission Scopes: Manage Media Manager: SCOPE.DC-MEDIA.MANAGE-MEDIAMANAGER ## Introduction Generates a resumable upload URL to allow external clients to easily upload large files over 10MB to the Media Manager.
With the resumable upload URL, any interruptions in the upload process pauses the file upload, and resumes the file upload process after the interruption. The resumable upload URL is also helpful when network connection is poor. Learn how to use the generated upload URL in the response to [upload large files to the Media Manager](https://dev.wix.com/docs/api-reference/assets/media/media-manager/files/resumable-upload-api.md). > **Note:** When you upload a file, it's not immediately available, meaning you can't manage or use the file straight away. Learn more about [knowing when a file is ready](https://dev.wix.com/docs/rest/assets/media/media-manager/files/importing-files.md#knowing-when-a-file-is-ready). --- ## REST API ### Schema ``` Method: generateFileResumableUploadUrl Description: Generates a resumable upload URL to allow external clients to easily upload large files over 10MB to the Media Manager.
With the resumable upload URL, any interruptions in the upload process pauses the file upload, and resumes the file upload process after the interruption. The resumable upload URL is also helpful when network connection is poor. Learn how to use the generated upload URL in the response to [upload large files to the Media Manager](https://dev.wix.com/docs/api-reference/assets/media/media-manager/files/resumable-upload-api.md). > **Note:** When you upload a file, it's not immediately available, meaning you can't manage or use the file straight away. Learn more about [knowing when a file is ready](https://dev.wix.com/docs/rest/assets/media/media-manager/files/importing-files.md#knowing-when-a-file-is-ready). URL: https://www.wixapis.com/site-media/v1/files/generate-resumable-upload-url Method: POST # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: mimeType Method parameters: param name: fileName | type: fileName | description: Temporary file name used to identify the file type. For example, a file named "myFile.jpeg" identifies as an "image/jpeg" file type.
**Notes:** param name: filePath | type: filePath | description: Path to the folder where the file will be stored. For example, `/videos/2024/december`.
If `parentFolderId` is defined, the parent folder is used as the path root. Otherwise, the root is `media-root`. The folders in the path will be created if they don't already exist.
param name: labels | type: array | description: Labels assigned to media files that describe and categorize them. Provided by the Wix user, or generated by [Google Vision API](https://cloud.google.com/vision/docs/drag-and-drop) for images. param name: mimeType | type: mimeType | description: File mime type. | required: true param name: parentFolderId | type: parentFolderId | description: GUID of the file's parent folder.
This folder is the path root for the `filePath`.
Default: `media-root`. param name: private | type: private | description: Whether the file will be public or private. Learn more [about private files](https://dev.wix.com/docs/api-reference/assets/media/media-manager/files/private-files.md). param name: sizeInBytes | type: sizeInBytes | description: File size in bytes. param name: uploadProtocol | type: UploadProtocol - enum: TUS - The upload protocol to use for implementing the resumable upload. Return type: GenerateFileResumableUploadUrlResponse - name: uploadProtocol | type: UploadProtocol | description: The upload protocol to use for implementing the resumable upload. - enum: - TUS: The upload protocol to use for implementing the resumable upload. - name: uploadUrl | type: string | description: The URL for uploading a file to the Media Manager. - name: uploadToken | type: string | description: Single-use upload token. Possible Errors: HTTP Code: 400 | Status Code: INVALID_ARGUMENT | Application Code: FILE_SIZE_OVER_LIMIT | Description: File size exceeds the limit for this media type. HTTP Code: 400 | Status Code: INVALID_ARGUMENT | Application Code: UNSUPPORTED_FILE_FORMAT | Description: File format is recognized but not supported. HTTP Code: 400 | Status Code: INVALID_ARGUMENT | Application Code: ZERO_FILE_SIZE | Description: File size is 0 bytes. HTTP Code: 400 | Status Code: INVALID_ARGUMENT | Application Code: MISMATCH_MIME_TYPE | Description: MIME type doesn't match the file extension. ``` ### Examples ### Generate a resumable upload URL ```curl curl -X POST \ 'https://www.wixapis.com/site-media/v1/files/generate-resumable-upload-url' \ -H 'Authorization: ' -H 'Content-Type: application/json' \ --data-binary '{ "mimeType": "image/jpeg", "fileName": "T-shirt", "sizeInBytes": "2608831" "parentFolderId":"25284aa06584441ea94338fdcfbaba12", "private": false, "uploadProtocol": "TUS" }' ``` --- ## JavaScript SDK ### Schema ``` Method: wixClientAdmin.mediaManager.FilesService.generateFileResumableUploadUrl(mimeType, options) Description: Generates a resumable upload URL to allow external clients to easily upload large files over 10MB to the Media Manager.
With the resumable upload URL, any interruptions in the upload process pauses the file upload, and resumes the file upload process after the interruption. The resumable upload URL is also helpful when network connection is poor. Learn how to use the generated upload URL in the response to [upload large files to the Media Manager](https://dev.wix.com/docs/api-reference/assets/media/media-manager/files/resumable-upload-api.md). > **Note:** When you upload a file, it's not immediately available, meaning you can't manage or use the file straight away. Learn more about [knowing when a file is ready](https://dev.wix.com/docs/rest/assets/media/media-manager/files/importing-files.md#knowing-when-a-file-is-ready). # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: mimeType Method parameters: param name: mimeType | type: string | description: File mime type. | required: true param name: options | type: GenerateFileResumableUploadUrlOptions none - name: fileName | type: string | description: Temporary file name used to identify the file type. For example, a file named "myFile.jpeg" identifies as an "image/jpeg" file type.
**Notes:** - name: parentFolderId | type: string | description: GUID of the file's parent folder.
This folder is the path root for the `filePath`.
Default: `media-root`. - name: private | type: boolean | description: Whether the file will be public or private. Learn more [about private files](https://dev.wix.com/docs/api-reference/assets/media/media-manager/files/private-files.md). - name: labels | type: array | description: Labels assigned to media files that describe and categorize them. Provided by the Wix user, or generated by [Google Vision API](https://cloud.google.com/vision/docs/drag-and-drop) for images. - name: uploadProtocol | type: UploadProtocol | description: The upload protocol to use for implementing the resumable upload. - enum: - TUS: The upload protocol to use for implementing the resumable upload. - name: filePath | type: string | description: Path to the folder where the file will be stored. For example, `/videos/2024/december`.
If `parentFolderId` is defined, the parent folder is used as the path root. Otherwise, the root is `media-root`. The folders in the path will be created if they don't already exist.
Return type: PROMISE - name: uploadProtocol | type: UploadProtocol | description: The upload protocol to use for implementing the resumable upload. - enum: - TUS: The upload protocol to use for implementing the resumable upload. - name: uploadUrl | type: string | description: The URL for uploading a file to the Media Manager. - name: uploadToken | type: string | description: Single-use upload token. Possible Errors: HTTP Code: 400 | Status Code: INVALID_ARGUMENT | Application Code: FILE_SIZE_OVER_LIMIT | Description: File size exceeds the limit for this media type. HTTP Code: 400 | Status Code: INVALID_ARGUMENT | Application Code: UNSUPPORTED_FILE_FORMAT | Description: File format is recognized but not supported. HTTP Code: 400 | Status Code: INVALID_ARGUMENT | Application Code: ZERO_FILE_SIZE | Description: File size is 0 bytes. HTTP Code: 400 | Status Code: INVALID_ARGUMENT | Application Code: MISMATCH_MIME_TYPE | Description: MIME type doesn't match the file extension. ``` ### Examples ### Use a file upload url in an external node.js application ```javascript /******************************** * External Node.js application * *******************************/ import axios from 'axios'; /* Sample fileName value: 'video1.mp4' * Sample contentType value: 'video/mp4' * Sample videoToUpload value: 'path/to/yourVideo.mp4' */ async function myUploadVideoFunction(generatedUploadUrl, videoToUpload, fileName, contentType) { const response = await axios.put(generatedUploadUrl, videoToUpload, { headers: { 'Content-Type': contentType }, params: { filename: fileName } }); return `${response[0].uploadUrl}`; } ``` ### Generate a file resumable upload url (with elevated permissions) ```javascript import { files } from '@wix/media'; /* Sample mimeType value: 'image/jpeg' * * Sample options value: * { * fileName: 'image1.jpeg', * parentFolderId: '103601562ec94214bee61f470b403dd5', * labels: ['nature', 'outdoors'] * } */ async function myGenerateFileResumableUploadUrlFunction(mimeType, options) { try { const result = await files.generateFileResumableUploadUrl(mimeType, options); return result; } catch (error) { console.error(error); // Handle the error } } /* Promise resolves to: * { * "uploadProtocol": "TUS", * "uploadToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJlMWIwNTkxYi0wMTQyLTRkOTctYjg2My1lOTQwN2ZiZjdhMDEiLCJhdWQiOiJ1cm46c2VydmljZTp1cGxvYWQiLCJpc3MiOiJ1cm46c2VydmljZTp1cGxvYWQiLCJleHAiOjE3MDIzNjM0NTIsImlhdCI6MTcwMTc1ODY0MiwiYnVja2V0IjoidXBsb2FkLXRtcC13aXhtcC1jZGZjMzg0ZjE1ODQxYWFhNWVhYjE2YjEiLCJwYXRoIjoibWVkaWEvYThhNTJiXzFhYTNkZDQzMTY4OTQxYjhiMDE0M2M0ZTA5MDY1M2U1fm12Mi5qcGVnIiwiY2FsbGJhY2tVcmwiOiJodHRwczovL3dpeG1wLWNkZmMzODRmMTU4NDFhYWE1ZWFiMTZiMS5hcHBzcG90LmNvbS9fYXBpL3YzL3VwbG9hZC9jYWxsYmFjaz91cGxvYWRUb2tlbj1leUpoYkdjaU9pSklVekkxTmlJc0luUjVjQ0k2SWtwWFZDSjkuZXlKcGMzTWlPaUoxY200NmMyVnlkbWxqWlRwbWFXeGxMblZ3Ykc5aFpDSXNJbUYxWkNJNkluVnlianB6WlhKMmFXTmxPbVpwYkdVdWRYQnNiMkZrSWl3aWMzVmlJam9pZFhKdU9tRndjRHBsTmpZMk16QmxOekUwWmpBME9UQmhZV1ZoTVdZeE5EbGlNMkkyT1dVek1pSXNJbWxoZENJNk1UY3dNVGMxT0RZME1pd2laWGh3SWpveE56QXhPREF4T0RReUxDSnFkR2tpT2lJME5EbGxNakE0WkdZNE5XRWlMQ0ppYTNRaU9pSnpkR0YwYVdNdWQybDRjM1JoZEdsakxtTnZiU0lzSW5CMGFDSTZJaTl0WldScFlTOWhPR0UxTW1KZk1XRmhNMlJrTkRNeE5qZzVOREZpT0dJd01UUXpZelJsTURrd05qVXpaVFYtYlhZeUxtcHdaV2NpTENKaFkyd2lPaUp3ZFdKc2FXTWlMQ0pzWm1NaU9tNTFiR3dzSW1Oc1lpSTZleUoxY213aU9pSm9kSFJ3Y3pvdkwzZHBlSEJ5YVhaaGRHVnRaV1JwWVM1aGNIQnpjRzkwTG1OdmJTOTJNeTl0Y0M5bWFXeGxjeTkxY0d4dllXUXZiV1ZrYVdFdllUaGhOVEppWHpGaFlUTmtaRFF6TVRZNE9UUXhZamhpTURFME0yTTBaVEE1TURZMU0yVTFmbTEyTWk1cWNHVm5JaXdpWVhSMFlXTm9iV1Z1ZENJNmV5SndZWFJvSWpvaUwyMWxaR2xoTDJFNFlUVXlZbDh4WVdFelpHUTBNekUyT0RrME1XSTRZakF4TkROak5HVXdPVEEyTlRObE5YNXRkakl1YW5CbFp5SXNJblZ3Ykc5aFpGOTBiMnRsYmlJNklrSk1iRlp0U0MxMFZVNDNhV2hIUWpOUGJFZEtTbnBVVm1WeVZqQjBPWFp2YkhFM2MzcFZSbkZ5YWpCS1QyOWhaalJMTkZwUE9IbENNSGhrT1dka2EyZzFMWFYxZEUxalpWcFRTblZhZEVKTVYyOTJjMFpOVERSbk9IQnVPWFJwWVZCV2JrOW9MVEZvWmtVNGJqTjFPWEZZVWxKSVdVWXdSMFF5ZVVSS1RraDNlVWxUUzBkaVUydGpNVEl3WDFCTFl5MXFTV2xMT1daVFptZDZkRkpFZFhWemJubDNWa1JyZEdsalgxOHhkazVUWTJOYVFXcHBORmt5UTJaWFJ6Sm1VemxaT0cxTGVqZEZZakpHWmtaTGJVSlBYMlIzUzBweVgweGFaakJqYTIxS1pEZHZaVlIzYjJwR2JFa3dWemR6UzNoVVNFdDRWbVZoYzFKMlYySnljbEU0V0RkeU1IcDNUREYyV1c5MVNXdE1ielJRWlhFMU5VNVNSMEpRZG5OVFpXbFZWV2xFVUZRMldrbG1WMmRQZFZoUGRrcGFkVWhDVTA5Vk9EbEdjbEozU2taTVVqUk9UbTlJZDA1bGVsSlBTVnB2YmtWV2FUUlNaSE5OZDB0dVMzRTNOMUUwUW5GT1RUUnBaV1YwYWs1RFYzSmxjMnRRUXkwMVVsQllSbVp6YlVad1QwaGxRVlJXVW1NdFdqZFRZbTFIVTBGMFN6UlJRVFpSU1MxQk5IUTJVVm94T0dSWlRVbEJjMDlxTkZNdFgyZHhTakYzTmxCb2NYSmhUR1pGWDNabWFrZDROMDlKUjJWSVFuZzBYMU51T1UxeGNteExRMlJ1VWpCQlZGOTJjVnB5U2s5T1ZWbE1UM0JTVEU1bFExTlhjVzQzUzA1V2RuTjBVR2RyU3paMlZXa3pWMHMyY2xvdFNYbHhlRFZMU1ZFNFdFaDBjakkxYm1sU1p6VlNVMkYzUzFWS01FWlhNall4VDAxM1RWcGhWUzB4YUhoUk5HcFdWR2h2V1VJMU5GcEZTbUZPVFZSYVdHeHVSM2xxY2tkWWFFWTRiMVI0VTJjMFJUUlFlVFJSV1V4NVRrbGhaREkzY21zOUluMHNJbWhsWVdSbGNuTWlPbTUxYkd3c0luQmhjM04wYUhKdmRXZG9JanAwY25WbGZYMC5nN1FFMDduUk9CNTZ6MlljQ0ZLazdRUkZJaDJ6c0FnNUlXODlsSmJCejRnIiwiYWNsIjoicHVibGljIiwicHJvdG9jb2wiOiJ0dXMiLCJtaW1lVHlwZSI6ImltYWdlL2pwZWciLCJzZXNzaW9uVVJMIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vdXBsb2FkL3N0b3JhZ2UvdjEvYi91cGxvYWQtdG1wLXdpeG1wLWNkZmMzODRmMTU4NDFhYWE1ZWFiMTZiMS9vP3ByZWRlZmluZWRBY2w9cHVibGljUmVhZFx1MDAyNnByb2plY3Rpb249ZnVsbFx1MDAyNnVwbG9hZFR5cGU9cmVzdW1hYmxlXHUwMDI2dXBsb2FkX2lkPUFCUHRjUHJ6QkVoaHRaTm1yM0ViZG5pOXcwUy1DVmdZZnFmYVgyUXZPT29yNEt2bFBhVUtRdGlwMkNwXzdYTndxblRWSmRaWkxOYlE3TU90M1NlTmx6R3pLOGpZRXZMNHA5QUFtbi1RTE96LThxQWQifQ.hHvZwmkHImDu4khcqyWx44TgWT_d26wIhcAbRUH37oI", * "uploadUrl": "https://upload.wixmp.com/upload/tus" * } */ ``` ### Generate a file resumable upload url ```javascript import { files } from '@wix/media'; /* Sample mimeType value: 'image/jpeg' * * Sample options value: * { * fileName: 'image1.jpeg', * parentFolderId: '103601562ec94214bee61f470b403dd5', * labels: ['nature', 'outdoors'] * } */ async function myGenerateFileResumableUploadUrlFunction(mimeType, options) { try { const result = await files.generateFileResumableUploadUrl(mimeType, options); return result; } catch (error) { console.error(error); // Handle the error } } /* Promise resolves to: * { * "uploadProtocol": "TUS", * "uploadToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJlMWIwNTkxYi0wMTQyLTRkOTctYjg2My1lOTQwN2ZiZjdhMDEiLCJhdWQiOiJ1cm46c2VydmljZTp1cGxvYWQiLCJpc3MiOiJ1cm46c2VydmljZTp1cGxvYWQiLCJleHAiOjE3MDIzNjM0NTIsImlhdCI6MTcwMTc1ODY0MiwiYnVja2V0IjoidXBsb2FkLXRtcC13aXhtcC1jZGZjMzg0ZjE1ODQxYWFhNWVhYjE2YjEiLCJwYXRoIjoibWVkaWEvYThhNTJiXzFhYTNkZDQzMTY4OTQxYjhiMDE0M2M0ZTA5MDY1M2U1fm12Mi5qcGVnIiwiY2FsbGJhY2tVcmwiOiJodHRwczovL3dpeG1wLWNkZmMzODRmMTU4NDFhYWE1ZWFiMTZiMS5hcHBzcG90LmNvbS9fYXBpL3YzL3VwbG9hZC9jYWxsYmFjaz91cGxvYWRUb2tlbj1leUpoYkdjaU9pSklVekkxTmlJc0luUjVjQ0k2SWtwWFZDSjkuZXlKcGMzTWlPaUoxY200NmMyVnlkbWxqWlRwbWFXeGxMblZ3Ykc5aFpDSXNJbUYxWkNJNkluVnlianB6WlhKMmFXTmxPbVpwYkdVdWRYQnNiMkZrSWl3aWMzVmlJam9pZFhKdU9tRndjRHBsTmpZMk16QmxOekUwWmpBME9UQmhZV1ZoTVdZeE5EbGlNMkkyT1dVek1pSXNJbWxoZENJNk1UY3dNVGMxT0RZME1pd2laWGh3SWpveE56QXhPREF4T0RReUxDSnFkR2tpT2lJME5EbGxNakE0WkdZNE5XRWlMQ0ppYTNRaU9pSnpkR0YwYVdNdWQybDRjM1JoZEdsakxtTnZiU0lzSW5CMGFDSTZJaTl0WldScFlTOWhPR0UxTW1KZk1XRmhNMlJrTkRNeE5qZzVOREZpT0dJd01UUXpZelJsTURrd05qVXpaVFYtYlhZeUxtcHdaV2NpTENKaFkyd2lPaUp3ZFdKc2FXTWlMQ0pzWm1NaU9tNTFiR3dzSW1Oc1lpSTZleUoxY213aU9pSm9kSFJ3Y3pvdkwzZHBlSEJ5YVhaaGRHVnRaV1JwWVM1aGNIQnpjRzkwTG1OdmJTOTJNeTl0Y0M5bWFXeGxjeTkxY0d4dllXUXZiV1ZrYVdFdllUaGhOVEppWHpGaFlUTmtaRFF6TVRZNE9UUXhZamhpTURFME0yTTBaVEE1TURZMU0yVTFmbTEyTWk1cWNHVm5JaXdpWVhSMFlXTm9iV1Z1ZENJNmV5SndZWFJvSWpvaUwyMWxaR2xoTDJFNFlUVXlZbDh4WVdFelpHUTBNekUyT0RrME1XSTRZakF4TkROak5HVXdPVEEyTlRObE5YNXRkakl1YW5CbFp5SXNJblZ3Ykc5aFpGOTBiMnRsYmlJNklrSk1iRlp0U0MxMFZVNDNhV2hIUWpOUGJFZEtTbnBVVm1WeVZqQjBPWFp2YkhFM2MzcFZSbkZ5YWpCS1QyOWhaalJMTkZwUE9IbENNSGhrT1dka2EyZzFMWFYxZEUxalpWcFRTblZhZEVKTVYyOTJjMFpOVERSbk9IQnVPWFJwWVZCV2JrOW9MVEZvWmtVNGJqTjFPWEZZVWxKSVdVWXdSMFF5ZVVSS1RraDNlVWxUUzBkaVUydGpNVEl3WDFCTFl5MXFTV2xMT1daVFptZDZkRkpFZFhWemJubDNWa1JyZEdsalgxOHhkazVUWTJOYVFXcHBORmt5UTJaWFJ6Sm1VemxaT0cxTGVqZEZZakpHWmtaTGJVSlBYMlIzUzBweVgweGFaakJqYTIxS1pEZHZaVlIzYjJwR2JFa3dWemR6UzNoVVNFdDRWbVZoYzFKMlYySnljbEU0V0RkeU1IcDNUREYyV1c5MVNXdE1ielJRWlhFMU5VNVNSMEpRZG5OVFpXbFZWV2xFVUZRMldrbG1WMmRQZFZoUGRrcGFkVWhDVTA5Vk9EbEdjbEozU2taTVVqUk9UbTlJZDA1bGVsSlBTVnB2YmtWV2FUUlNaSE5OZDB0dVMzRTNOMUUwUW5GT1RUUnBaV1YwYWs1RFYzSmxjMnRRUXkwMVVsQllSbVp6YlVad1QwaGxRVlJXVW1NdFdqZFRZbTFIVTBGMFN6UlJRVFpSU1MxQk5IUTJVVm94T0dSWlRVbEJjMDlxTkZNdFgyZHhTakYzTmxCb2NYSmhUR1pGWDNabWFrZDROMDlKUjJWSVFuZzBYMU51T1UxeGNteExRMlJ1VWpCQlZGOTJjVnB5U2s5T1ZWbE1UM0JTVEU1bFExTlhjVzQzUzA1V2RuTjBVR2RyU3paMlZXa3pWMHMyY2xvdFNYbHhlRFZMU1ZFNFdFaDBjakkxYm1sU1p6VlNVMkYzUzFWS01FWlhNall4VDAxM1RWcGhWUzB4YUhoUk5HcFdWR2h2V1VJMU5GcEZTbUZPVFZSYVdHeHVSM2xxY2tkWWFFWTRiMVI0VTJjMFJUUlFlVFJSV1V4NVRrbGhaREkzY21zOUluMHNJbWhsWVdSbGNuTWlPbTUxYkd3c0luQmhjM04wYUhKdmRXZG9JanAwY25WbGZYMC5nN1FFMDduUk9CNTZ6MlljQ0ZLazdRUkZJaDJ6c0FnNUlXODlsSmJCejRnIiwiYWNsIjoicHVibGljIiwicHJvdG9jb2wiOiJ0dXMiLCJtaW1lVHlwZSI6ImltYWdlL2pwZWciLCJzZXNzaW9uVVJMIjoiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vdXBsb2FkL3N0b3JhZ2UvdjEvYi91cGxvYWQtdG1wLXdpeG1wLWNkZmMzODRmMTU4NDFhYWE1ZWFiMTZiMS9vP3ByZWRlZmluZWRBY2w9cHVibGljUmVhZFx1MDAyNnByb2plY3Rpb249ZnVsbFx1MDAyNnVwbG9hZFR5cGU9cmVzdW1hYmxlXHUwMDI2dXBsb2FkX2lkPUFCUHRjUHJ6QkVoaHRaTm1yM0ViZG5pOXcwUy1DVmdZZnFmYVgyUXZPT29yNEt2bFBhVUtRdGlwMkNwXzdYTndxblRWSmRaWkxOYlE3TU90M1NlTmx6R3pLOGpZRXZMNHA5QUFtbi1RTE96LThxQWQifQ.hHvZwmkHImDu4khcqyWx44TgWT_d26wIhcAbRUH37oI", * "uploadUrl": "https://upload.wixmp.com/upload/tus" * } */ ``` ### generateFileResumableUploadUrl (self-hosted) Self-hosted SDK calls require you to [create a client](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/about-the-wix-client.md). ```javascript import { createClient } from '@wix/sdk'; import { files } from '@wix/media'; // Import the auth strategy for the relevant access type // Import the relevant host module if needed const myWixClient = createClient ({ modules: { files }, // Include the auth strategy and host as relevant }); async function generateFileResumableUploadUrl(mimeType,options) { const response = await myWixClient.files.generateFileResumableUploadUrl(mimeType,options); }; ``` ---