X API paid_partnership true: disclose a sponsored AI video Post
Set paid_partnership true in POST /2/tweets to label a Post as paid promotion on X. Sume returns the video file; your own call creates and flags the Post.

Per X's Jun 3, 2026 changelog, set "paid_partnership": true in the body of POST /2/tweets and the Post is labeled as a paid promotion. Sume does not create the Post: it hands back the video file, and your own X call carries the flag.
X facts are from its changelog, read 2026-10-01. Sume facts are from Video generation and Structured output.
What does the field do on X?
Setting it to true on create means the author is disclosing that the Post contains paid promotion. To read the value back, request tweet.fields=paid_partnership; it is true when the author disclosed the Post as paid promotion.
| Action | How |
|---|---|
| Create a labeled Post | POST /2/tweets with "paid_partnership": true |
| Read it back | tweet.fields=paid_partnership |
| Meaning of true | Author disclosed paid promotion |
Where does Sume fit?
Only upstream. A finished job's video is downloaded from the content URL, and a Format run's output carries its durable URL and metadata. Nothing in those docs sets an X flag or posts for you. Sume does not decide whether a Post needs the label; that is between you, the sponsor and X's rules, and this is not legal advice.
How does this work in a batch?
A bulk queue has no webhook; the webhook is per item, so read each item's output URL, then create each Post with the flag from your own code. On HTTP 429 from Sume, wait for retry-after. For the batch shape see Format bulk runs.
How does this compare with other platforms?
Each platform names its own label and its own mechanism; X's is one boolean on create. For YouTube's version, see branded content labels for AI-generated sponsored video.
Sources
Related posts
More in Developers
- X API subtitles media_category: SRT sidecar vs burned-in captions
X lists `subtitles` as a media_category for sidecar files. Sume burns captions into the picture and does not take SRT uploads. Pick the path that fits.
- X DM video limit: 140 seconds and 512 MB, and how to trim to it
X lists DM video (dm_video) at 140 seconds and 512 MB by default. Cut a clip to length with Sume video-trim, which takes 0.2 to 900 seconds.
- X video minimum 0.5 seconds: keep Sume trim cuts at 0.5 s or more
X needs Post video of at least 0.5 seconds; Sume video-trim allows cuts down to 0.2 seconds. Set duration to 0.5 or more for X, with the upper caps.
- X video audio must be AAC-LC, not HE-AAC: check an AI video
X requires AAC Low Complexity audio, mono or stereo, with H264 High Profile and YUV 4:2:0. What Sume's exact trim keeps and re-encodes, and what it leaves.
Written by Sume