upload_asset
Upload an asset to the brand library from a local file path or base64-encoded content. Use filePath for local files to avoid truncation; for large files, use the chunked upload flow.
Instructions
Upload an asset to the brand library from a local file path or base64-encoded content. Prefer filePath for local files: the server reads and base64-encodes the file itself, avoiding truncation of large base64 strings over the tool_call boundary. fileBase64 is still supported for remote/inline use where no local path is available. For large files over the remote/HTTP transport, a single fileBase64 string can get truncated crossing the LLM→tool_call boundary — use the chunked flow instead: upload_asset_begin → upload_asset_chunk (× N) → upload_asset_finish. Provide exactly one of filePath or fileBase64. Returns the new asset ID and URL.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "upload_asset"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Display name for the asset | |
| tags | No | Tags to apply, e.g. ['logo', 'brand'] | |
| brandId | No | Brand ID (defaults to active brand) | |
| fileName | No | Original file name including extension, e.g. 'logo.png'. Derived from filePath if omitted. | |
| filePath | No | Absolute path to a local file to upload. Preferred over fileBase64 for local files. | |
| mimeType | No | MIME type of the file, e.g. 'image/png' | |
| fileBase64 | No | Base64-encoded file content. Use filePath instead when the file is local. | |
| description | No |