Publish or schedule a post to connected social platforms.
Publish or schedule a post to connected social platforms. ALWAYS call list_connected_accounts FIRST — if the target platform is not connected, call start_platform_connection to get a one-time browser deep link the user opens to complete the platform OAuth (this is a one-time setup on socialneuron.com, not another OAuth in Claude). After they approve, call wait_for_connection and only then call schedule_post. For Instagram carousels: use media_type=CAROUSEL_ALBUM with 2-10 media_urls. For YouTube: title is required. schedule_at uses ISO 8601 (e.g. 2026-03-20T14:00:00Z) — omit to post immediately. Costs ~1-3 credits.
Publish or schedule a post to connected social platforms. › Request Body
platformsTarget platforms (array). Each must have active OAuth — check list_connected_accounts first. Values: youtube, tiktok, instagram, twitter, linkedin, facebook, threads, bluesky.
media_urlURL of the media file to post. Any public HTTPS URL works — including ephemeral ' + 'generator URLs (Replicate, OpenAI, DALL-E). The server persists non-R2 URLs into ' + 'R2 before posting so scheduled posts and byte-upload platforms (X, LinkedIn, ' + 'YouTube, Bluesky) do not 404 when the source URL expires. Set auto_rehost=false ' + 'to skip. Not needed if media_urls, r2_key, or job_id is provided.
media_urlsArray of 2-10 image URLs for carousel posts. Same rehosting rules as media_url — ' + 'ephemeral URLs are persisted automatically. Use with media_type=CAROUSEL_ALBUM.
r2_keyR2 object key from upload_media. Signed on demand at post time — survives scheduling delays. ' + 'Alternative to media_url.
r2_keysArray of R2 object keys for carousel posts. Each is signed on demand. Alternative to media_urls.
job_idAsync job ID from generate_image/generate_video. Resolves the completed jobs R2 key and signs it. Alternative to media_url/r2_key.
job_idsArray of async job IDs for carousel posts. Each resolved to its R2 key. Alternative to media_urls/r2_keys.
platform_metadataRequired unless useInbox=true. Who can view the video.
media_typeMedia type. Set to CAROUSEL_ALBUM with media_urls for Instagram carousels. ' + 'Default: auto-detected from media_url.
captionPost caption/description text.
titlePost title (used by YouTube and some other platforms).
hashtagsHashtags to append to caption. Include or omit the "#" prefix — both work. Example: ["ai", "contentcreator"] or ["#ai", "#contentcreator"].
schedule_atISO 8601 UTC datetime for scheduled posting (e.g. "2026-03-20T14:00:00Z"). Omit to post immediately. Must be in the future.
project_idSocial Neuron project ID to associate this post with.
response_formatOptional response format. Defaults to text.
attributionIf true, appends "Created with Social Neuron" to the caption. Default: false.
account_idConnected account ID to post from. Use list_connected_accounts to find the right ID. ' + 'Required when multiple accounts exist for the same platform.
account_idsPer-platform account IDs when posting to multiple platforms. ' + 'Example: {"twitter": "abc123", "instagram": "def456"}. ' + 'Use list_connected_accounts to find IDs.
auto_rehostWhether to persist non-R2 media_url/media_urls into R2 before posting. ' + 'Default: true. Set to false only if you know the source URL will outlive the ' + 'scheduling window and every target platform supports URL ingest.
visual_gate_resultVisual QA gate verdict from the carousel/image generation pipeline. ' + 'Required when mediaType is CAROUSEL_ALBUM, IMAGE, or VIDEO and ' + 'VISUAL_GATE_ENFORCE is enabled on the EF. Produce with visual_quality_check tool. ' + 'Must have passed=true for the gate to allow the publish.
Publish or schedule a post to connected social platforms. › Responses
Successful tool execution.
Check which social platforms have active OAuth connections for posting.
Check which social platforms have active OAuth connections for posting. Call this before schedule_post to verify credentials. If a platform is missing or expired, the user needs to reconnect at socialneuron.com/settings/connections. Costs ~1-3 credits.
Check which social platforms have active OAuth connections for posting. › Request Body
response_formatOptional response format. Defaults to text.
Check which social platforms have active OAuth connections for posting. › Responses
Successful tool execution.
List recent published and scheduled posts with status, platform, title, and timestamps.
List recent published and scheduled posts with status, platform, title, and timestamps. Use to check what has been posted before planning new content, or to find post IDs for fetch_analytics. Filter by platform or status to narrow results. Costs ~1-3 credits.
List recent published and scheduled posts with status, platform, title, and timestamps. › Request Body
platformFilter to a specific platform.
statusFilter by post status.
daysNumber of days to look back. Defaults to 7. Max 90.
limitMaximum number of posts to return. Defaults to 20.
response_formatOptional response format. Defaults to text.
List recent published and scheduled posts with status, platform, title, and timestamps. › Responses
Successful tool execution.
Find optimal posting time slots based on best posting times and existing schedule.
Find optimal posting time slots based on best posting times and existing schedule. Returns non-conflicting slots sorted by engagement score. Costs ~1-3 credits.
Find optimal posting time slots based on best posting times and existing schedule. › Request Body
platformscountNumber of slots to find
min_gap_hoursMinimum gap between posts on same platform
response_formatstart_afterISO datetime, defaults to now
Find optimal posting time slots based on best posting times and existing schedule. › Responses
Successful tool execution.
Schedule all posts in a content plan.
Schedule all posts in a content plan. Optionally auto-assigns time slots and runs quality checks before scheduling. Supports dry-run mode. Costs ~1-3 credits.
Schedule all posts in a content plan. › Request Body
auto_slotAuto-assign time slots for posts without schedule_at
dry_runPreview without actually scheduling
response_formatenforce_qualityWhen true, block scheduling for posts that fail quality checks.
batch_sizeConcurrent schedule calls per platform batch.
planplan_idPersisted content plan ID from content_plans table
quality_thresholdOptional quality threshold override. Defaults to project setting or 26.
idempotency_seedOptional stable seed used when building idempotency keys.
Schedule all posts in a content plan. › Responses
Successful tool execution.