Upload file
upload_fileUpload one or more files to Clueso. Three modes — pick by client + where the file lives:
file_name — HOSTED upload, the default for any non-UI / programmatic upload (Claude Code, Cursor, Claude Desktop, scripts). Returns an upload URL on Clueso's OWN base domain + a ready-to-run curl that streams a single local file to it; Clueso relays the bytes to storage server-side. The PUT targets the base domain — NOT cloud storage directly — so it works on desktop/agent clients that can't reach or are blocked from S3. Requirement: the client must be able to PUT bytes to the Clueso base domain (run the returned curl, or any HTTP PUT). The agent (or the user at a shell prompt) runs the curl. Prefer this whenever there's no human at a browser.
file_url: Pass a public https URL. Server fetches and stages the file. Returns mcp_upload_id immediately. Use when the file is already on the open web — no user interaction needed.
request_hosted_upload (UI mode — use ONLY when a human should pick files in a browser: many files at once, or a host with no shell / no PUT capability): Returns a single upload_token + upload_page URL. Share the link with the user; they open it in a new browser tab, drop their files, click Done. Then call check_uploads(upload_token) to retrieve all mcp_upload_ids. Call once for all files.
Hosted uploads cover any number of files per call: one call issues one upload_token, and that token covers every file the user drops on the page. Repeat calls issue additional tokens, each tracking only its own files.
The returned mcp_upload_id (prefixed mup_) can be passed to:
add_elements / update_elements (image or video → an element ON a clip: pass it as
type_data.mcp_upload_id, on either tool — this is how a local image becomes on-canvas content, and how an existing element's source is swapped). To fill an animation's image slot, pass it insidetype_data.parameter_valueson update_elements only — parameter_values is an update-path field and is stripped on add.add_audio (audio → project music track that plays under all clips)
add_clips(kind='video') (video or audio → sequential clip with auto-transcription)
add_clips(kind='pptx') (.ppt/.pptx → slide clips)
add_article_media (image/GIF → article asset)
analyze_audio (audio → transcript / silences / beats / features)
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| file_url | No | Public URL to fetch the file from | |
| file_name | No | File name with extension. Returns a Clueso upload URL + curl command that streams this single local file to us (single file). | |
| file_names | No | List of file names the user will upload (for hosted mode). Shown on the upload page as guidance. | |
| request_hosted_upload | No | If true, returns a hosted upload page. Call once for all files — the page accepts multiple uploads under one token. |