Temporal BlobSizeLimitError: pass the Sume artifact URL, not bytes
Temporal Cloud allows 2 MB per payload. Pass the Sume job_id and media.sume.com artifact URL through activities and signals, never video bytes.

A rendered video will not fit in a Temporal payload, which Temporal Cloud caps at 2 MB per request. Keep the bytes on Sume and pass only the job_id and the media.sume.com artifact URL through activity results, signals and workflow input.
Limits are from the Temporal Cloud limits page; Sume behavior from Asset library and Core workflow, read 2026-09-30.
What are the Temporal limits?
The limits page links a BlobSizeLimitError guide for handling large payloads, and notes the 2 MB figure is a per-request maximum, not a throughput target.
| Limit | Value |
|---|---|
| Max payload, single request | 2 MB |
| gRPC message | 4 MB |
| Event History transaction | 4 MB |
| Event History per execution | 51,200 events or 50 MB |
What should the activity return?
The Sume docs say completed jobs can include artifacts under https://media.sume.com, that these Sume-owned URLs are the public contract, and that integrations should store the Sume URL, not raw provider URLs. Return that URL string, plus the job_id, from the activity. Every value stays in the kilobyte range, so history size does not scale with video length.
How does the workflow learn the job finished?
Terminal webhook events carry job_id, and the docs say receivers must treat it as the idempotency key. Have the receiver signal the workflow with the job_id and artifact URL, as in Temporal: signal a workflow from an AI video webhook. Signals are retried by delivery, so ignore a job_id you have already handled.
Does Sume ever send large bodies itself?
For Format run webhooks, a receipt over 1 MiB is not delivered inline. Sume sends payload: null and an error with a result_url to fetch it from, while status still reports the real outcome. Treat that the same way: store the URL, fetch outside the workflow, and keep payloads small.
Sources
Related posts
More in Developers
- Text to dialogue API: continuity between requests on Sume
Sume's TTS has no previous_text field. Keep a line seamless with one longer transcript, or join separate takes with a gapless Timeline audio concat.
- TikTok AI label or your own caption, sticker or watermark
TikTok lets you disclose AI content with its AIGC label or your own clear caption, sticker or watermark. Burn a caption or add an overlay plate with Sume.
- TikTok AI label for cropping or reframing: not needed
TikTok says disclosure isn't needed for small edits like color correction, reframing or cropping. See which Sume crop, fit and trim settings are those edits.
- TikTok Research API documentation: 30-day dates vs Sume date_posted
The Research API takes start_date and end_date up to 30 days apart. Sume's tiktok_search_keyword takes one fixed date_posted value instead.
Written by Sume