Complete image upload
Source-generated complete_image_upload arguments, output schema, OAuth scope, and safety annotations for the reviewed MCP contract.
On this page
Tool
complete_image_upload
Validate a prepared image upload and return its reusable file_id.
Permissions and safety
OAuth scope: files:write
| Signal | Value |
|---|---|
destructiveHint |
false |
idempotentHint |
true |
openWorldHint |
false |
readOnlyHint |
false |
| spendsCredits | false |
| requiresUserConfirmation | false |
| sideEffects | uploaded_image_persisted |
Annotations describe safety properties; they do not replace consent, OAuth authorization, or server checks.
Input arguments
| Field | Type | Required | Default | Constraints | Meaning |
|---|---|---|---|---|---|
upload_id |
string |
Yes | — | format: uuid |
Session from prepare_image_upload, after byte transfer completed. |
Argument example
{
"upload_id": "00000000-0000-4000-8000-000000000007"
}
Structured result
| Field | Type | Required | Default | Constraints | Meaning |
|---|---|---|---|---|---|
byte_size |
integer |
Yes | — | — | Validated image byte count. |
file_id |
string |
Yes | — | format: uuid |
Reusable owned public file ID for request.input.first_frame. |
mime_type |
string |
Yes | — | — | Validated image MIME type. |
sha256 |
string |
Yes | — | — | SHA-256 of the uploaded image bytes. |
Errors and next steps
Tool errors contain an error object with code, message, retryable, request_id, and details. Do not parse message text or leak private inputs. Inspect partial outputs after a terminal failure; a signed URL is not a saved file.
Was this page helpful?
No search queries, code, or free text are collected. This switch controls documentation interactions only; general site analytics follow the privacy policy. Privacy policy