# Workspace media gateway Use publishing media from compatible MCP clients or an authenticated browser. ## Client-neutral transfer yet_create_media_upload accepts mime_type image/jpeg, image/png, image/webp or video/mp4. It creates a ten-minute request with an upload_id, browser_upload_url and credentialed upload_url. Images are limited to 3 MB; MP4 to 20 MB. This is media transfer, not AI image generation. ## Binary clients PUT the actual file bytes to the exact returned upload_url with its content_type. Do not add the Postroom OAuth token to that request or display temporary upload credentials. Call yet_complete_media_upload with upload_id, then use the returned workspace-owned media_url. ## Browser fallback for Claude and other clients Open browser_upload_url, sign in to the same Postroom workspace, choose the requested file and select Upload and verify. No password is given to the assistant. After completion, the assistant calls yet_get_media_upload with upload_id to obtain media_url. The user still selects the file in their browser; Claude web does not automatically transfer its attachments. ## Safety and publishing Upload URLs expire after ten minutes and accept only the selected MIME type and size limit. Files are validated before storage completion; arbitrary remote URLs are not accepted. Publishing media is publicly accessible, including temporary uploaded media. Completed content-addressed references belong to the authenticated workspace and remain subject to the existing deletion policy. Previews and workflows validate destination-specific requirements. Uploading grants no publishing approval. ## Existing ChatGPT clients yet_import_file and its ChatGPT attachment metadata are retained. Existing image-upload tools remain compatible. Clients may use the new gateway instead. The gateway is the client-neutral alternative, not a claim that Claude attachments are supported by the ChatGPT importer. ## Input schemas yet_create_media_upload: {mime_type: enum(image/jpeg,image/png,image/webp,video/mp4)}, required mime_type. yet_complete_media_upload: {upload_id: string}, required upload_id. yet_get_media_upload: {upload_id: string}, required upload_id. Additional properties are rejected. Creating and completing require social.read + social.write; status retrieval requires social.read. ## Catalog compatibility The shared endpoint retains legacy ChatGPT tools and adds three gateway tools. It does not hide tools based on a spoofable User-Agent. Claude users should use the gateway rather than yet_import_file; a separate Claude-specific catalog remains a deployment decision. Tool discovery is not proof that every client can transfer file bytes.