Publish to Instagram, Facebook, TikTok, YouTube, X, Bluesky or LinkedIn (a personal profile or an organization Page). This posts publicly unless the platform's privacy setting says otherwise, so confirm the content with the user first. `post` is exactly the JSON body of POST /api/v1/posts: Instagram takes image, legacy image-only images, reel, story, or mixed image/video carousel. Instagram video can be base64 MP4 or {"url": "https://..."}; prefer staged upload references for media. Image altText and coordinate userTags, video username-only userTags, Reel shareToFeed, collaborators, and isAiGenerated are supported where Instagram allows them; hashtags go in caption. A fully staged Instagram request returns a durable job; poll get_instagram_post_status. Legacy URL/base64 requests remain synchronous. Stories expire after 24 hours and may have no permalink. Facebook takes image, images, reel or video (base64); TikTok takes video (prefer {"url": "https://..."} over base64) or photos, with music_usage_confirmed: true. Call get_tiktok_creator_info before a TikTok post. TikTok videos publish publicly (privacy_level PUBLIC_TO_EVERYONE or omitted); any other video privacy_level is refused. Photos take any level from get_tiktok_creator_info. post_mode MEDIA_UPLOAD sends a draft to the creator's TikTok inbox instead of publishing. YouTube takes video (prefer {"url": "https://..."}), title, privacy_status (public, unlisted or private) and made_for_kids, all required; ask the user for privacy_status and made_for_kids rather than choosing them. publish_at schedules a private video to go public. Until Adeli passes YouTube's API audit, YouTube keeps every upload private: the result says so with privacyRestricted. X takes text (280 characters, a link counts as 23) and media: up to 4 images, or 1 GIF, or 1 video, as base64 or a video {"url"}; thread is a list of further posts, each a reply to the one before. Every X post is billed at X's price ($0.015, or $0.20 with a link), and a thread that fails part-way returns 207 with the posts that went live. Bluesky takes text (300 characters; links, @mentions and #hashtags become links), and either up to 4 images as base64 with altText each (over 2 MB are resized) or one MP4 video (base64 or {"url"}, up to 100 MB), plus optional langs, and thread like X. Bluesky posting is free. LinkedIn takes commentary and at most one of: image (one JPEG, PNG or GIF as {upload_id, title?} or {content_type, base64, title?}), images (2 to 20 staged images as {upload_id, alt_text?}), video (one staged MP4, 3 seconds to 30 minutes, as {upload_id, title?}), or document (one staged PDF shown as swipeable slides, as {upload_id, title}). Stage files with create_media_uploads and platform linkedin first. mentions lists {urn, name, offset} entries, where name appears in commentary at offset and urn is urn:li:organization:<id> or urn:li:person:<id>. It publishes publicly as the connected personal profile or organization Page; LinkedIn can take a minute to show a new post. Adeli does not automatically retry ambiguous writes. Instagram staged media, TikTok, Facebook video, and YouTube publish asynchronously: poll the platform's status tool with the returned jobId or publishId. Multipart uploads are REST-only. To post the same content to several accounts at once, use create_publication instead.