upload_asset
Create and upload an asset in a single call, handling the complete multipart upload flow to return a ready-to-use asset.
Instructions
Create an asset AND upload its bytes in one call.
This is the real upload path: it runs the full multipart flow
(init -> PUT parts -> finalize) and returns a ready, downloadable asset.
Prefer this over the deprecated create_*_asset tools, which only
register an empty record and fail against the current backend.
Provide the file via exactly one of:
- source_url: an http(s):// URL the server downloads, or
- base64_content: base64-encoded bytes (best for small files).
workspace_id: target workspace ID — get available IDs from list_workspaces()
extension: file extension without the dot (e.g. "pdf", "png", "mp4").
Inferred from source_url or name when omitted.
asset_type: "Image", "Video", or "File". Auto-detected from the extension
when omitted.
width / height: image dimensions in pixels. Auto-detected from the file
header for common image formats; pass explicitly otherwise.
media_type: optional mediaType integer for Video uploads.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| width | No | ||
| height | No | ||
| extension | No | ||
| asset_type | No | ||
| media_type | No | ||
| source_url | No | ||
| workspace_id | Yes | ||
| base64_content | No | ||
| hub_profile_id | Yes |