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
| Network | Label |
|---|---|
| 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. |
The "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. | |
| YouTube | The "altered or synthetic content" disclosure is set on the upload. Also available as versions[].options.youtube.contains_synthetic_media. |
| Facebook, LinkedIn | No API switch. Both read C2PA Content Credentials in images, see below. |
| X, Threads, Bluesky, Mastodon, Pixelfed, Pinterest, Google Business Profile, Telegram, Discord, Slack | No 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-socialandPOST /ai/repurposeare 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 sendai_generated. Send"ai_generated": falseto 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.