Content Workflow
Understanding the post lifecycle in Vibescaling
Post lifecycle
Every post moves through these statuses:
- Draft — Created via dashboard or API. Can be edited freely.
- Scheduled — Assigned a publish date/time and TikTok account. Will publish automatically.
- Posted — Successfully published to TikTok.
- Archived — Removed from active view. Can be unarchived.
Creating posts
Via Dashboard
Click New Post in the Library. Fill in:
- Title (required)
- Post Type — slides (carousel) or video
- Caption and Hashtags (optional)
- TikTok Account to publish to
- Slides — drag to reorder, or Video — upload a single video file (MP4, WebM, MOV, max 4GB)
Via API
curl -X POST https://admin.vibescaling.org/api/v1/posts \
-H "Authorization: Bearer vs_your_api_key" \
-H "Content-Type: application/json" \
-d '{"title": "My Post", "post_type": "slides", "caption": "Check this out"}'Then upload slides:
curl -X POST https://admin.vibescaling.org/api/v1/posts/{id}/assets \
-H "Authorization: Bearer vs_your_api_key" \
-H "Content-Type: application/json" \
-d '{"filename": "slide1.png", "content_type": "image/png"}'Or for a video post:
curl -X POST https://admin.vibescaling.org/api/v1/posts \
-H "Authorization: Bearer vs_your_api_key" \
-H "Content-Type: application/json" \
-d '{"title": "My Video", "post_type": "video", "caption": "Watch this"}'curl -X POST https://admin.vibescaling.org/api/v1/posts/{id}/assets \
-H "Authorization: Bearer vs_your_api_key" \
-H "Content-Type: application/json" \
-d '{"filename": "clip.mp4", "content_type": "video/mp4", "content_length": 52428800}'Upload the file to the returned upload_url. Video posts support a single video file (max 4GB). Use "replace": true to atomically replace an existing video.
Publishing
Publish now
From a draft post, click Publish Now to open the publish dialog. Select your TikTok account, set the privacy level, review interaction settings and commercial content options, then confirm to post immediately.
Schedule
Click Schedule, pick a date and time (minimum 5 minutes from now), select the TikTok account, set privacy level and interaction settings, then confirm. The post will publish automatically via a background job.
Via API
Schedule a post:
curl -X PATCH https://admin.vibescaling.org/api/v1/posts/{id} \
-H "Authorization: Bearer vs_your_api_key" \
-H "Content-Type: application/json" \
-d '{"status": "scheduled", "scheduled_at": "2026-03-15T14:00:00Z", "tiktok_account_id": "uuid"}'Or publish immediately:
curl -X POST https://admin.vibescaling.org/api/v1/posts/{id}/publish \
-H "Authorization: Bearer vs_your_api_key" \
-H "Content-Type: application/json" \
-d '{"tiktok_account_id": "uuid", "privacy_level": "PUBLIC_TO_EVERYONE"}'Batch archive
Archive multiple posts at once from the Library:
- Click Select in the library toolbar
- Click posts to select them (checkbox appears on each card)
- Click Archive in the bottom toolbar
Or via API:
curl -X PATCH https://admin.vibescaling.org/api/v1/posts/batch \
-H "Authorization: Bearer vs_your_api_key" \
-H "Content-Type: application/json" \
-d '{"ids": ["uuid-1", "uuid-2"], "action": "archive"}'