source="partner_api" and appear in the dashboard queue immediately.
Body Parameters
Text caption applied to every platform.
Provide either a single video clip or a slideshow bundle.
Optional TikTok post URL (e.g.,
https://www.tiktok.com/@genviral/video/1234567890) used to resolve the
track. The API validates that the link points to TikTok and automatically
ignores it when any Instagram account is targeted.Up to 10 account objects referencing IDs returned from
/accounts.All IDs must belong to the authenticated workspace. Unknown or inactive
accounts cause the request to fail.ISO 8601 timestamp (e.g.,
2025-02-01T15:00:00Z). If omitted or within 30
seconds of “now”, the post is treated as pending for immediate publish.Optional correlation ID to map posts back to your system.
Media Hosting
- BYO Accounts: Media is automatically ingested into Genviral storage.
- Hosted-Only: Provided URLs are validated for reachability but not re-hosted unless necessary.
- Google Drive: Share links are auto-converted to direct download links.
Limits (enforced for all accounts)
- Caption: max 500 characters.
- Video: MP4/MOV/M4V/AVI, under 100MB. If duration metadata is present, we enforce 15–60 seconds; when duration is missing we proceed with a warning. ~9:16 aspect recommended.
- Slideshow: 1–35 images, JPG/JPEG/PNG, each under 5MB. ~9:16 aspect recommended.
- Music: blocked when any Instagram account is selected.
Response
Successful requests return201 with:
id— canonical Genviral post IDstatus— eitherpendingorscheduled, matching the scheduling logic abovescheduled_at— ISO timestamp stored on the post (ornullwhen queued immediately)warnings— optional array describing non-blocking validation issues
Examples
Single video post (default)
Use a singlevideo object when targeting TikTok, Instagram Reels, or YouTube Shorts. Add music only when all selected accounts support it (TikTok hosted/BYO today).
Slideshow post (photo carousel)
Provide up to 35slideshow items to schedule a TikTok Photo Mode or Instagram carousel. Order is preserved as given in the media array.
Responses may include a
warnings array when media metadata
(size/duration/aspect) is missing. These are informational so you can decide
whether to re-upload media before Hosted Accounts enforce limits.Error Responses
400 invalid_json— body is not valid JSON422 invalid_payload— schema validation failed (caption/media/accounts)400 unknown_accounts— at least oneaccount.idis not part of the workspace400 validation_failed— caption/media/music rules failed (TikTok-only music, bad aspect ratio, etc.)400 missing_accounts— resolved account array is empty after validation400 invalid_music_urlor400 media_unreachable— media or music URLs failed reachability checks500 create_failed— upstream scheduler error (retry after inspecting logs)
