Guides

Social publishing

Connect a character’s Instagram, TikTok, YouTube, Threads and X accounts once, then publish or schedule any generation to them.

How accounts work

Accounts belong to a character — the persona that publishes. One character can have one account per platform. Accounts connected in the Orior app are available to the API too, and vice versa.

1. Connect an account

The account owner must authorise on the platform’s own screen. Create a connect link, send them to it, and they come back to your redirect_url.

cURL
curl https://api.oriorai.com/v1/social/connect-links \
  -H "Authorization: Bearer $ORIOR_API_KEY" -H "Idempotency-Key: $(uuidgen)" -H "Content-Type: application/json" \
  -d '{"character_id":"Qx8p2LmN4vRt","platform":"instagram","redirect_url":"https://example.com/settings/social"}'
# → {"url":"https://…","expires_at":…,"monthly_fee_credits":0}

After authorising, the owner lands on your URL with query parameters:

ParameterValue
statusconnected or failed
character_id, platformWhat was connected
errorOn failure: NOT_CONNECTED (cancelled or rejected), INSUFFICIENT_CREDITS (fee could not be charged), …

Links expire after 30 minutes. Confirm with GET /social/accounts?character_id=….

2. Publish

cURL
curl https://api.oriorai.com/v1/social/posts \
  -H "Authorization: Bearer $ORIOR_API_KEY" -H "Idempotency-Key: $(uuidgen)" -H "Content-Type: application/json" \
  -d '{
    "character_id": "Qx8p2LmN4vRt",
    "platforms": ["instagram", "tiktok"],
    "generation_ids": ["gen_7f3c…"],
    "caption": "Morning ritual ☕️ #coffee",
    "settings": { "instagram": { "content_type": "reel" }, "tiktok": { "ai_disclosure": true } }
  }'

The response lists results per platform with the live post URL. Posting takes a while (media is uploaded to every platform) — allow up to a few minutes per request.

Scheduling

Add scheduled_at (ISO 8601 with offset, at least 5 minutes ahead) to schedule instead of publishing now. Scheduled posts return status: "scheduled"; they are charged when scheduled, and the platform publishes them at the requested time.

Platform rules

PlatformImagesVideoCaptionOptions
Instagram1–10 (carousel)Reel, feed or story, up to 60 min2,200content_type, aspect_ratio, collaborators, user_tags, thumb_offset
TikTok4–10 (photo post)Up to 10 min2,200allow_comments, allow_duet, allow_stitch, ai_disclosure, auto_add_music
YouTube1–10 (community post)Short, up to 60 s5,000content_type, title, visibility, made_for_kids
Threads1–10Up to 5 min500—
X (twitter)1–4Up to 2 min 20 s280—

A post is one video or up to 10 images. A platform whose limits the media doesn’t meet fails and is refunded; the others still publish.

Captions longer than a platform allows are trimmed; media is cropped to the platform’s required ratios. Declare AI-generated content where platforms require it (see the API terms).

Pricing

  • 1 credit per platform per post; 3 for an X post whose caption contains a link. Failed platforms are refunded.
  • Plans include 5 (Influencer) or 15 (Agency) connected accounts across the workspace. Each account connected through the API beyond that costs 50 credits when connected and every 30 days after.
  • If a renewal cannot be charged, the account shows payment_due: true and API posts to it are refused (402) until the fee is paid; it is retried daily. Disconnecting stops the fee.
The connect link response tells you in advance whether the account will carry the fee (monthly_fee_credits).