Browse docs

Destination · publishing reference

Threads publishing reference for Postdom

This Threads publishing reference explains the OAuth connection, profile-level audience, omitted topic tag, enforced media checks, and returned outcome.

Human authorization boundary

Threads publishing reference connection requirements

A human completes the destination connection. The agent receives the resulting account ID—not the social credential—and supplies that exact account ID to publish_video.

connection

OAuth

prerequisite

No additional Postdom prerequisite is recorded beyond an eligible account.

current source surface

post

Configured output

What Postdom sends to Threads

The public tool accepts product-level publishing fields. Postdom builds destination settings after validation; callers cannot smuggle an undocumented settings object through publish_video.

settings
omitted

Postdom sends neither Meta's optional topic_tag nor a visibility field.

Postdom sends no Threads settings or visibility field. The profile's public or private state determines audience outside Postdom.

CURRENT SOURCE ADAPTER OUTPUT · NOT TOOL INPUT
{
  "platform": "threads",
  "settings": {}
}

Enforced, documented, or unknown

Threads publishing limits

Every row comes from the current @postdom/core registry. “Postdom enforced” means the source contract checks the fact. A recommendation, documented-but-unenforced fact, or unpublished value must not be presented as a passed validation.

Postdom enforced

caption max chars

4000

Postdom contract · verified 2026-08-21T00:00:00.000Z

Evidence reference retained in the core registry.

Postdom enforced

media max bytes

524,288,000 bytes

Postdom contract · verified 2026-08-21T00:00:00.000Z

Evidence reference retained in the core registry.

Postdom enforced

video max seconds

600

Postdom contract · verified 2026-08-21T00:00:00.000Z

Evidence reference retained in the core registry.

Postdom enforced

video mime types

video/mp4, video/quicktime

Postdom contract · verified 2026-08-21T00:00:00.000Z

Evidence reference retained in the core registry.

Postdom enforced

image mime types

image/jpeg, image/png, image/gif, image/webp

Postdom contract · verified 2026-08-21T00:00:00.000Z

Evidence reference retained in the core registry.

Postdom enforced

posts text

500

Unit: characters · Field: text · Scope: POST /{threads-user-id}/threads

Platform evidence · verified 2026-09-03T00:00:00.000Z

Qualification

Meta states this 500-character limit for text posts, not separately for media captions. Postdom applies it to the same text field on media posts as a conservative gate; that may reject text Meta would accept, rather than admit text Meta rejects.

Official source
Postdom enforced

video max seconds

300

Platform evidence · verified 2026-09-03T00:00:00.000Z

Official source
Postdom enforced

aspect ratio

minimum: 0.01; maximum: 10

Platform evidence · verified 2026-09-03T00:00:00.000Z

Official source
Postdom enforced

resolution max horizontal pixels

1920

Platform evidence · verified 2026-09-03T00:00:00.000Z

Official source
Postdom enforced

video mime types

video/mp4, video/quicktime

Platform evidence · verified 2026-09-03T00:00:00.000Z

Official source
Not published

resolution min pixels

Not published

Platform evidence · verified 2026-09-03T00:00:00.000Z

Official source
Documented, not enforced

video max bytes

1,000,000,000 bytes

Platform evidence · verified 2026-09-03T00:00:00.000Z

Qualification

Meta's own figure - "1 GB maximum" on the Threads posting reference - and an order of magnitude above Postdom's 500 MB global cap. No request Postdom accepts can reach it, so a gate would be unreachable and a violation test for it would pass on the global rule while proving nothing about Threads. Decimal rather than binary: the source says "1 GB" in prose with no convention stated, and the decimal reading is the smaller one, which is the safe error for a maximum. Reclassify the day the global cap rises above it.

Official source
Documented, not enforced

video min seconds

exclusive minimum: 0

Platform evidence · verified 2026-09-03T00:00:00.000Z

Qualification

Meta publishes a minimum "longer than 0 seconds". mediaUploadPreflightRequestSchema declares duration_seconds as a positive integer, so no request can express a duration this rule would reject. An enforced minimum no request can violate is unenforceable by construction - the same reason X's half-second floor is recorded here rather than gated. This sat in shortFormVideoLimits as not_published, which asserted the opposite of what Meta's page says.

Official source

Result boundary

How to verify the Threads outcome

This page does not claim an authenticated Threads media publication, analytics response, or setting the configured adapter does not send.

Never collapse a workflow state into success

Store the Postdom post ID, read the exact destination state with get_publish, and preserve a missing public URL, approval state, terminal refusal, or provider error exactly as returned.

Nine modeled fields

Threads metric availability

The matrix records evidence states, not guaranteed live values. Unverified and never remain null with a reason; zero remains a measured zero.

MetricStateBaselineValue behavior
viewsViews

Required view count in a normalized snapshot.

unverified

Not verified

Always null with an explicit reason.

likesLikes

Required like count in a normalized snapshot.

unverified

Not verified

Always null with an explicit reason.

commentsComments

Required comment count in a normalized snapshot.

unverified

Not verified

Always null with an explicit reason.

sharesShares

Required share count in a normalized snapshot.

unverified

Not verified

Always null with an explicit reason.

savesSaves

Nullable saved or favorited count.

unverified

Not verified

Always null with an explicit reason.

watch_time_sWatch time

Nullable total watch time in seconds.

unverified

Not verified

Always null with an explicit reason.

avg_watch_pctAverage watch

Nullable average watched percentage.

unverified

Not verified

Always null with an explicit reason.

completion_pctCompletion

Nullable completion percentage.

unverified

Not verified

Always null with an explicit reason.

follower_deltaFollower delta

Nullable follower-change field.

unverified

Not verified

Always null with an explicit reason.

Verification scope

Threads evidence boundary

Contract evidence is not an observed publication

These pages describe source-backed product contracts. They do not represent an authenticated end-to-end publication or analytics test.

Inspect the connected tool schema before acting. Current source may be ahead of the separately published @postdom/mcp helper.

Use the contract

Publish with explicit authority and outcomes

Create a workspace, connect an eligible account, and let the agent use only the fields exposed by the connected schema.

VERIFIED · 23 SEPTEMBER 2026Current source adapter · Core evidence registries · Modeled metric availability

Private identifiers and unverified publication claims are excluded. External links are limited to first-party platform sources.