Threads API: wait about 30 seconds before publishing a container
Threads suggests waiting on average 30 seconds after creating a media container before threads_publish. Poll the container status, like a Sume job poll.

Threads recommends waiting on average 30 seconds after creating a media container before you call threads_publish, so its server can finish processing the upload. The page points to the media container status endpoint for details. Publishing is two steps: create the container, then publish it.
Facts about Threads are from its Posts documentation, read 2026-10-01; Sume facts are from the docs.sume.com pages listed under Sources.
What are the two steps?
| Step | Endpoint | Note |
|---|---|---|
| 1. Create container | POST /{threads-user-id}/threads | Text only, or an image or video hosted on your public server |
| 2. Publish | POST /{threads-user-id}/threads_publish | Pass the container ID as creation_id; wait on average 30 seconds first |
What other limits does the page give?
Text posts are limited to 500 characters; emojis are counted as their number of UTF-8 bytes, so an emoji uses more than one of the 500. A carousel takes up to 20 images, videos or a mix, needs at least two children, and counts as a single post against the profile's rate limit. Video length limits are in Threads video upload limits.
How does this compare to a Sume job?
It has the same shape: submit, then poll, then use the result. For Sume, submit with an Idempotency-Key, poll the job, then read the result. Video generation returns a job ID and a polling URL immediately and you poll GET /v1/videos/{jobId} until completed. If a request is rate limited with a 429, wait the retry-after period. See Errors.
What URL do I give Threads?
Threads needs media hosted on your public server. Sume returns durable media.sume.com URLs, and expires_at is null for them, which is the normal case. Publish only after the Sume job is complete and the Threads container is ready.
Sources
Related posts
More in Developers
- TikTok brand_organic_toggle vs brand_content_toggle on AI video
Set brand_organic_toggle for your own business, brand_content_toggle for a paid partnership, and is_aigc for AI video. How to carry the flags with each clip.
- TikTok rate_limit_exceeded: 6 requests a minute per access_token
TikTok Direct Post allows 6 requests a minute per user access_token and returns 429 rate_limit_exceeded past it. Space publishes; Sume limits only generation.
- TikTok spam_risk_too_many_posts vs reached_active_user_cap
Two daily TikTok 403s: spam_risk_too_many_posts is the per-user API post cap, reached_active_user_cap is your client quota. Hold videos till tomorrow.
- TikTok unaudited_client_can_only_post_to_private_accounts
TikTok returns a 403 when an unaudited client posts to a non-private account. Test with private posts until the audit passes; Sume only supplies the file.
Written by Sume