Documentation Index
Fetch the complete documentation index at: https://docs.genviral.io/llms.txt
Use this file to discover all available pages before exploring further.
The social media posting API built for AI agents. Generate TikTok slideshows, post Instagram carousels, schedule YouTube Shorts, publish Pinterest pins, share to LinkedIn, and distribute to Facebook - all from one API. Works with OpenClaw, Claude Code, and any automation pipeline.
Why Genviral?
OpenClaw agents are automating social media at scale - generating images, writing captions, and posting daily content without manual effort. But wiring up separate APIs for TikTok, Instagram, YouTube, Pinterest, LinkedIn, and Facebook is a pain. Genviral gives you one unified API that handles all six platforms. Your OpenClaw agent - or any AI agent, cron job, or automation script - generates the content, calls our API, and we handle the rest.What makes Genviral different
- 6 platforms, 1 API - Post to TikTok, Instagram, YouTube, Facebook, Pinterest, and LinkedIn through a single endpoint. No platform-specific OAuth juggling.
- Built for AI agents - Designed from the ground up for OpenClaw agents, Claude Code workflows, and programmatic automation. Simple REST API with clear JSON responses that any AI can parse.
- TikTok slideshow support - Generate and post TikTok photo carousels (the format getting 2.9x more engagement than video). Upload as drafts via
MEDIA_UPLOADmode so you can add trending sounds before publishing. - Full content pipeline - Don’t just post. Generate AI slideshows, manage image packs, create reusable templates, render final assets, and track analytics - all through the API.
- Hosted accounts included - Use your own connected accounts (BYO) or our managed hosted creator accounts for instant distribution at scale.
- Real analytics - Track views, likes, comments, shares, and engagement rates across all platforms. Your agent can read the data and adapt its strategy automatically.
Who uses this API
- OpenClaw agents automating daily TikTok slideshows and Instagram carousels
- Claude Code users building social media automation pipelines
- Indie developers promoting their apps on TikTok, Instagram, and YouTube without manual effort
- Agencies scheduling content across dozens of accounts on all 6 platforms
- Growth teams running programmatic posting campaigns with analytics feedback loops
The OpenClaw + Genviral Workflow
Here’s how a typical OpenClaw agent uses the Genviral API to automate social media posting across all 6 platforms:- Agent generates images (via OpenAI, Fal, Replicate, or any image API)
- Agent calls Genviral to upload images, create slideshows, add text overlays, and render final slides
- Agent posts to TikTok as a draft (
MEDIA_UPLOADmode), so you can add trending sounds before publishing - Agent posts to Instagram, YouTube, Pinterest, LinkedIn, Facebook directly (
DIRECT_POSTmode) - Agent checks analytics via the API to see what’s performing
- Agent adapts - adjusts hooks, timing, and content based on real performance data
Supported Platforms
| Platform | Posting | Analytics | Slideshow / Carousel |
|---|---|---|---|
| TikTok | Yes | Yes | Yes (Photo Mode) |
| Yes | Yes | Yes (Carousel) | |
| YouTube | Yes | Yes | Yes (Shorts) |
| Yes | - | Yes | |
| Yes | - | Yes (Idea Pins) | |
| Yes | - | Yes |
Base URL
All requests target the main Genviral origin. Scope is inferred from the API key metadata (scope, workspace_id, owner_user_id):
Authentication & API Keys
- Sign in at www.genviral.io.
- Open the API Keys page.
- Choose key scope:
- Personal for Creator/Professional usage without workspace selection.
- Workspace for Business team usage in a specific workspace.
- Generate a key and store the token (returned once) in your secrets manager.
<public_id>.<secret> (for example, gva_live_x1y2z3.abcd1234) and must be passed in the Authorization header:
Scope-Aware Access
- Accounts:
GET /accountsreturns accounts in key scope only. Workspace keys return workspace accounts; personal keys return accounts whereuser_id = owner_user_idandworkspace_id IS NULL. - Posts/files/folders/slideshows/packs/templates: all endpoints enforce the same scope boundary from the key.
- Billing & tiers: Partner API requires an active Creator, Professional, or Business subscription (
402 subscription_requiredwhen missing). Scheduler tier is blocked (403 tier_not_allowed).
Recommended Workflow
- Discover accounts via
GET /accountsand cache the IDs you’ll target. - Assemble payloads with captions, media URLs, TikTok-only music metadata, and per-account targeting.
- Schedule posts through
POST /posts, optionally addingscheduled_atandexternal_id. - Track delivery using
GET /postsfor scope-wide status andGET /posts/{id}for canonical per-account states. - Retry or edit posts using the dedicated
PATCH /posts/{id}andPOST /posts/retryendpoints when platforms require another attempt.
music_url is TikTok-only today. Instagram’s official publishing API does
not expose music/sound selection for carousel posts or Reels, so if you want
TikTok music and Instagram delivery for the same creative, send separate
platform-specific requests.Quick Start: Post a TikTok Slideshow
Here’s the fastest path from zero to a TikTok slideshow post - the exact workflow an OpenClaw agent would run:POST /posts preflight checklist
Before posting, validate this checklist:
captionis always required. The final allowed length depends on the targeted accounts: Hosted Accounts 500; Facebook 63,206; Instagram 2,200; TikTok 2,200 for video captions / 4,000 for photo-post descriptions; LinkedIn 3,000; Pinterest 800; YouTube 5,000 bytes.accountsuses canonical shape:[{ "id": "<uuid>" }].mediais a nested object:- video:
{ "type": "video", "url": "https://..." } - slideshow:
{ "type": "slideshow", "urls": ["https://...", "..."] }
- video:
scheduled_atis omitted for immediate posting, or sent as ISO 8601 string (do not sendnull).- every media URL is a real URL string (no serialized fragments, placeholders, or partial fields).
- use
tiktok(nottiktok_settings) when sending TikTok options. - only
tiktokandpinterestplatform-specific objects are accepted today.facebook,instagram,linkedin, andyoutubesettings objects are rejected with422 invalid_payload.
Postman Collection
Import the curated collection (accounts, files, folders, Studio AI generation, posts, slideshows, analytics, trends, packs, and templates) in seconds:- Download collection
- File lives in this repo at
genviral-docs/api-reference/postman-collection.json, and the same JSON is mirrored towww.genviral.io/postman-collection.jsonso partners always have a stable URL to reference.
base_url, partner_api_token, post_id, slideshow_id, pack_id, template_id, image_id, slide_index, video_id, folder_id, analytics_target_id, analytics_refresh_id) and you’ll be able to run the end-to-end workflow described above.
Next Steps
- Response Pattern - learn the
ok/code/messagecontract used everywhere. - Data Structures - understand the shapes returned for API keys, accounts, posts, and stats.
- Studio AI - generate partner-scoped AI Studio images/videos and poll video jobs by
video_id. - Create Post - start posting to TikTok, Instagram, YouTube, Pinterest, LinkedIn, and Facebook.
- Get Trend Brief - fetch a one-call TikTok trend brief for agent planning.
- Slideshows - generate AI slideshows, manage content, and render final assets.
- OpenClaw Skill - plug in the ready-made skill and let your agent handle the rest.
