Notion file upload: 20 MB direct limit, 1-hour attach window, Sume
Notion's direct upload takes files up to 20 MB and archives unattached uploads after an hour. What that means for attaching Sume images and videos.

Notion's direct file upload handles files up to 20 MB, and an upload that is not attached within one hour is archived (Notion docs, read 2026-10-02). To put a Sume image on a page, upload it, then attach it in the same handler run; for a larger video, use Notion's multi-part upload described on the same page.
What the page says
The changelog (September 22, 2026) separately says the File Upload API now accepts CAD and 3D formats such as .step, .stl, .obj and .glb. That is a Notion acceptance change, not something Sume produces.
| Item | Detail |
|---|---|
| Direct upload size | Files up to 20 MB |
| Larger files | Multi-part upload |
| Steps | Create a file upload, send the content, attach it to a page, block or property |
| Attach window | One hour from creation; then the upload is archived |
| After attaching | The expiry is removed and the file is permanent |
Where Sume fits
A Sume job webhook for a finished image carries payload.artifacts[] with a url and content_type (webhook docs). Fetch that URL in your handler, send the bytes to Notion, then attach the upload to the page. The one-hour window is generous for that sequence, but not for a design where you create the Notion upload at submit time and wait for the render.
Order of operations
- Submit the Sume job with a
webhook_url; store thejob_idagainst the Notion page id. - On the signed
job.completedevent, create the Notion file upload, send the file, and attach it right away. - If your handler fails after creating the upload, create a new one on retry rather than reusing the old id, and key the page update on
job_idso retries do not attach the file twice. - Return
2xxto Sume only after the event is stored; the write-back itself can run behind it.
Honest limit
Notion's page does not describe an external-URL mode for these uploads, so pasting a Sume URL as an upload source is not documented there. Sume does not push files to Notion; the handler is yours. Check the file size against 20 MB before choosing direct or multi-part.
Sources
Related posts
More in Integrations
- OpenHands MCP server: add Sume as a Streamable HTTP server
Add Sume's hosted MCP to OpenHands as a Streamable HTTP server with a bearer API key, and know why OAuth does not suit unattended OpenHands runs.
- Perplexity Agent API MCP tool: connect Sume with allowed_tools
Perplexity's Agent API runs every MCP tool call with no approval step. Connect Sume's hosted MCP with an allowed_tools list so a model cannot reach paid tools.
- Pinterest API Pin ai_disclosures: AI_MODIFIED, SYNTHETIC_PERFORMER
Pinterest API v5 Pins take ai_disclosures with two values, AI_MODIFIED and SYNTHETIC_PERFORMER. Where the field sits and how to prep a Pin image on Sume.
- Pinterest catalog ai_disclosures: one entry per asset URL
Pinterest catalog items take ai_disclosures entries, each with an asset url and a disclosure type. Keep your Sume-made files and feed URLs aligned.
Written by Sume