Prepare one direct media upload
aimixer_media_upload_preparePreferred direct image/video/audio transfer from an accessible host sandbox/terminal. If a user attached a file and the host exposes it on disk (Claude code execution: search /mnt/user-data/uploads first), call with destination=canvas and project_id from Canvas create/read for Canvas inputs, or destination=library for unattached files; use a stable idempotency_key. file family/name/MIME/size can help check the 30 MiB photo / 100 MiB video/audio limits. Returns a one-file, <=15 minute upload_key and ready bash curl, Windows PowerShell curl.exe, and Python requests commands for the header-only multipart endpoint. Run the appropriate command YOURSELF in the host sandbox, replacing with a verified path. CRITICAL: upload_key and literal commands contain a temporary upload secret; never quote, log, screenshot or show them in a USER-visible message. The key can upload only one file and cannot pay for jobs. After upload, call this tool with upload_id only to get status and managed_id (no key needed). If outbound mixerai.org access is denied, open the inline aimixer_media_upload_open widget (MCP Apps hosts, e.g. Claude.ai) and tell the user in one short sentence they may instead allow mixerai.org in Settings > Capabilities network access; give the browser upload page only without MCP Apps. Never ask to reattach the same file in chat. This tool is available in clients without MCP Apps UI too.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| file_name | No | ||
| mime_type | No | ||
| upload_id | No | Opaque status identifier only, not the upload_key. Pass alone to check status and managed_id. | |
| project_id | No | Owned Canvas project to upload into; implies destination=canvas when destination is omitted. | |
| size_bytes | No | ||
| destination | No | Canvas needs project_id; omitting destination selects canvas when project_id exists, otherwise library. | |
| media_family | No | ||
| idempotency_key | No |