Upload local files through a secure MixerAI page
aimixer_media_upload_sessionBrowser upload fallback when the host cannot access file bytes or outbound HTTPS. First try aimixer_media_upload_prepare and run its command for a real local file. If that is unavailable, use aimixer_media_upload_open in MCP Apps or action=create here and show its upload page; the user chooses the file once. Poll action=status with token, or with opaque upload_id from aimixer_media_upload_prepare (no secret needed), for a completed managed_id. Photo maximum 30 MiB; video/audio 100 MiB; format, duration and model-specific limits apply. For Canvas use destination=canvas with project_id from Canvas create/read; for unattached media use library. Never ask for another chat attachment or fabricate its bytes. No generation/debit; Canvas graph nodes must be attached separately.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"action": "<action>"
},
"name": "aimixer_media_upload_session"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ttl | No | ||
| token | No | Upload-session token returned by action=create. Required for status. | |
| action | Yes | ||
| family | No | Selected model family: the session then takes exactly that model's maximum reference files for media_family. | |
| values | No | ||
| max_files | No | ||
| upload_id | No | Opaque owner-bound ID from prepare; check action=status without the upload key. | |
| project_id | No | Owned Canvas project to upload into; implies destination=canvas when omitted. | |
| destination | No | Canvas needs project_id; omitting destination selects canvas when project_id exists, otherwise library. | |
| media_family | No | Optional typed session, strict media family and canonical per-kind size cap. | |
| max_file_bytes | No |