Uploads
Upload your own images, audio and video to Nodaro from any MCP client with an in-chat picker, a browser upload link, or a presigned URL from a shell.
The upload tools bring your own files into Nodaro, so an assistant can use a photo, a voice recording or a clip in the next generation. There are three ways to upload: an in-chat picker, a link you open in the browser, and a presigned URL for clients that can run shell commands. Every upload tool needs the assets:write permission, and uploading costs no credits.
Which method to use
| Method | Tools | Works in | How it works |
|---|---|---|---|
| In-chat picker | upload_image_widget, upload_audio_widget, upload_video_widget | Clients that display MCP Apps, such as Claude on the web | A file picker opens inside the chat. The public URL goes back to the chat on its own. |
| Browser link | request_image_upload, request_audio_upload, request_video_upload | Every client | You open a Nodaro link in your browser and drop the file there. |
| Presigned URL | prepare_image_upload, prepare_audio_upload, prepare_video_upload | Clients with shell access, such as Cursor, Cline, Claude Desktop and Claude Code | The assistant sends the file itself with one curl command. |
When a file already has a public URL, for example a result of an earlier job, pass that URL directly and skip the upload.
upload_image_widget
Opens a file picker for images inside the chat. On a phone, the picker opens the camera or the photo library. The widget uploads the files and announces their public URLs back to the chat, so you only tap the picker once. upload_audio_widget and upload_video_widget work the same way for audio and video.
Permission: assets:write. Credits: free.
| Parameter | Type | Notes |
|---|---|---|
max_files | integer | How many files the picker accepts, from 1 to 10. Default 1. Use more for flows such as several reference photos of one person. |
purpose | string | A short label shown on the upload card, up to 120 characters, for example product image for the catalog app. It also reminds the assistant what the file is for. |
Returns: uploads, a list of { upload_url, public_url } pairs, plus upload_url and public_url for the first file. A client that does not show the picker can still show these as plain links.
request_image_upload
Returns a short Nodaro link that you open in any browser to drop an image. It works in every client and at any file size, because the file travels through your own browser. request_audio_upload and request_video_upload do the same for audio and video.
Permission: assets:write. Credits: free.
This tool has no parameters.
Returns: upload_page_url, the page to open, and public_url, the address the file will have. The public URL is known in advance, so the assistant can use it in the next call once you confirm that the upload finished.
prepare_image_upload
Returns a presigned upload URL that the assistant sends the file to with curl. The file never passes through the conversation, so its size does not matter. prepare_audio_upload and prepare_video_upload do the same for audio and video.
Permission: assets:write. Credits: free.
| Parameter | Type | Notes |
|---|---|---|
mime_type | string | Required. The type of the file you will send. |
| Tool | Accepted mime_type values |
|---|---|
prepare_image_upload | image/png, image/jpeg, image/webp, image/avif, image/heic, image/heif |
prepare_audio_upload | audio/mpeg, audio/mp4, audio/wav, audio/x-wav, audio/webm, audio/ogg, audio/flac, audio/x-flac, audio/aac, audio/x-m4a |
prepare_video_upload | video/mp4, video/webm, video/quicktime, video/x-matroska |
Returns: upload_url, valid for 1 hour, and public_url. The assistant uploads the file with:
curl -X PUT --data-binary @path/to/file -H 'Content-Type: image/png' '<upload_url>'Then it passes public_url to the next tool, for example as image_url.
Not for Claude on the web
The presigned upload fails in Claude on the web and in the Claude Android app, because they cannot reach the storage host. Use the in-chat picker or the browser link there.
After the upload
- Pass the public URL to any tool that takes media, such as
modify_image,animate_image,lip_syncoradd_captions. - Find earlier uploads with
browse_uploads, which lists the files you uploaded, separate from the results Nodaro generated. - Show a logo in a narrated video. The brand logo of the Video Director must be an image uploaded to Nodaro, so upload it with one of these tools first.
Frequently asked questions
Related
MCP tools reference
Gallery and assets
Claude
Upload Image
Last updated on
Jobs
Check, wait for, list and diagnose Nodaro jobs from an AI assistant, with the job envelope, statuses, held jobs, retryable failures and fallback models.
Gallery and assets
Browse your Nodaro gallery and uploads, show a result in the chat, read a job's details, follow an app run and mark favorites from an AI assistant.