Show a manual image upload
request_manual_uploadShow a manual upload card only when automatic attachment transfer is unavailable. Free.
First try host-provided image_files, or request_upload plus a readable local attachment.
Use this fallback only if neither route is available, an upload failed, or the user asks
to choose a file manually. Explain why another selection is needed. In hosts without cards,
offer manual_upload_url. This creates a link, not an uploaded image; wait for confirmed receipt.
Pass audience_ids and question only for a study the user requested: the card shows its cost
and the user can start it. Otherwise it uploads the image for the assistant to use later.
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": "request_manual_upload"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | The study the image is for | image_reaction |
| label | No | What the image is, in a few words | |
| question | No | The question respondents will be asked | |
| respondents | No | Respondents per audience | |
| audience_ids | No | Audience ids for the optional study in the card |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ok | No | false means the call failed: read `error` and `hint` | |
| ref | No | Pass as image_refs once the image has arrived | |
| hint | No | What to change, when ok is false | |
| next | No | What to do next | |
| note | No | Something to tell the user or keep in mind | |
| error | No | Error code, when ok is false | |
| received | No | false until the image has arrived | |
| max_bytes | No | ||
| status_url | No | GET to check `received` | |
| upload_url | No | ||
| curl_command | No | Run with <PATH_TO_IMAGE> replaced | |
| upload_state | No | ||
| accepted_types | No | ||
| if_upload_fails | No | Read before sending anything | |
| manual_upload_url | No | For a person to upload in a browser | |
| expires_in_seconds | No |