Skip to main content

AI Disclosure

Send "ai_generated": true when you create or update a post, and PostBoost sets each network's own AI label for you. It is the same flag in the API, the SDKs and MCP. Background on the rules: EU AI Act Article 50.

curl -X POST "https://postboost.co/app/api/$WORKSPACE/posts" \
-H "Authorization: Bearer $POSTBOOST_TOKEN" -H "Content-Type: application/json" \
-d '{
"accounts": [12, 15],
"ai_generated": true,
"versions": [{"account_id": 0, "is_original": true, "content": [{"body": "Meet our new mascot", "media": [301]}]}]
}'

"ai_generated": false removes the label again (for example after a person rewrote the caption). Leaving the field out on an update keeps whatever the post had.

What happens per network​

NetworkLabel
TikTok"AI-generated content" (is_aigc) is switched on for every TikTok account of the post. You can also set it per account yourself in versions[].options.tiktok.is_aigc.
InstagramThe "AI info" label is set on the post (on the carousel itself for carousels). Stories carry no label. Also available per post as versions[].options.instagram.ai_generated.
YouTubeThe "altered or synthetic content" disclosure is set on the upload. Also available as versions[].options.youtube.contains_synthetic_media.
Facebook, LinkedInNo API switch. Both read C2PA Content Credentials in images, see below.
X, Threads, Bluesky, Mastodon, Pixelfed, Pinterest, Google Business Profile, Telegram, Discord, SlackNo AI label in the API. Add a note such as "Made with AI" to the caption when a disclosure is needed.

The response tells you how it went in the X-AI-Disclosure header:

  • applied: every network in the post that has an API label got it.
  • partial: a network with an API label could not be labelled (none at the moment; kept for future networks).

Automatic labels​

  • AI-written drafts. Drafts created by POST /ai/blog-to-social and POST /ai/repurpose are labelled as AI-generated.
  • AI images. A post that attaches an image made by the AI image endpoints (/ai/image-generate, /ai/image-edit, /ai/image-variations) is labelled automatically when you do not send ai_generated. Send "ai_generated": false to override it, for example when the image is only a minor part of a human-made post.

Content Credentials (C2PA)​

Many AI image tools and cameras embed C2PA Content Credentials: a signed record of how an image was made. The signature covers the exact bytes, so any resize or re-encode removes it.

PostBoost keeps the original file, byte for byte, when an image:

  • carries Content Credentials, and
  • is a JPEG no wider than 1080 px, so it needs no resizing or conversion for any network.

That applies to images from the AI image endpoints and to uploads through POST /media/base64. Other images (PNG, wider than 1080 px) are converted as usual and their credentials are lost; for AI images we record whether the credentials were kept. Uploads through the multipart POST /media and the dashboard are always converted for now.

To keep credentials, export a JPEG at most 1080 px wide from your tool and upload it as base64.

What stays with you​

PostBoost sets labels where networks allow it. Deciding what counts as AI-generated, reviewing AI text before it goes out and disclosing deepfakes in the post itself remain your responsibility. See the EU AI Act page.