docs(tiktok): warn that content_posting_method UPLOAD never publishes

UPLOAD sends the media to the user's TikTok app inbox (SEND_TO_USER_INBOX),
where it must be finished manually within 24h or it is discarded. The API
still reports the post as successful, so an agent that picks UPLOAD - the
natural choice when a user says "upload this video" - silently never posts.

PROVIDER_SETTINGS.md listed the enum with no explanation, and it is what an
agent following this skill actually reads. Spell out the consequence and
name DIRECT_POST as the default.

Also stop the integrations:settings example from discarding .output.rules,
so provider guidance written upstream reaches skill users.

Mirrors gitroomhq/postiz-app#1687 and the parallel gitroomhq/postiz-docs fix.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Gilad Resisi
2026-07-10 10:36:35 +07:00
parent 41c5a9dbd6
commit a557cd5eac
2 changed files with 16 additions and 2 deletions
+3
View File
@@ -207,6 +207,9 @@ postiz posts:create \
- `brand_organic_toggle` (boolean): Brand organic toggle
- `video_made_with_ai` (optional): Boolean
- `content_posting_method` (required): `"DIRECT_POST"` or `"UPLOAD"`
- **Use `"DIRECT_POST"`.** It publishes the post to TikTok.
- `"UPLOAD"` does **not** publish. It sends the media to the account's TikTok app inbox, where the user must manually finish and publish it within 24 hours or it is discarded. The Postiz API still reports the post as successfully published.
- Only use `"UPLOAD"` when the user has **explicitly** asked to review or edit the post inside the TikTok app before publishing. Never infer it from the user saying "upload this video" — that means `"DIRECT_POST"`.
**Example:**
```bash
+13 -2
View File
@@ -28,7 +28,7 @@ official website: https://postiz.com
---
## ⚠️ Two Hard Rules (Read First)
## ⚠️ Three Hard Rules (Read First)
**Rule 1 — Authenticate before anything.** All commands fail without valid credentials.
@@ -42,6 +42,8 @@ postiz posts:create ... -m "$URL" ...
If you see `-m "something.jpg"` anywhere below, treat it as shorthand for "the `.path` you got back from `postiz upload something.jpg`" — never a raw local file.
**Rule 3 — When posting to TikTok, `content_posting_method` MUST be `"DIRECT_POST"`** unless the user has explicitly asked to finish the post inside the TikTok app. `"UPLOAD"` does not publish — it drops the media into the account's TikTok inbox to be completed manually within 24 hours, while the Postiz API still reports success. A user saying "upload this video to TikTok" means `"DIRECT_POST"`.
---
## ⚠️ Authentication Required
@@ -403,10 +405,19 @@ postiz posts:create --json campaign.json
INTEGRATION_ID="twitter-123"
CONTENT="Your post content here"
# Get integration settings and extract max length
# Get integration settings
SETTINGS_JSON=$(postiz integrations:settings "$INTEGRATION_ID")
MAX_LENGTH=$(echo "$SETTINGS_JSON" | jq '.output.maxLength')
# Provider-specific guidance written for agents. Read it and follow it — it explains
# what the settings values actually do (e.g. which enum value publishes vs. silently
# does not). Do not skip this because a field name looks self-explanatory.
echo "$SETTINGS_JSON" | jq -r '.output.rules // empty'
# The settings JSON schema. Property `description` fields carry the same guidance
# per-field; check them before choosing a value.
echo "$SETTINGS_JSON" | jq '.output.settings'
# Check character limit and truncate if needed
if [ ${#CONTENT} -gt "$MAX_LENGTH" ]; then
echo "Content exceeds $MAX_LENGTH chars, truncating..."