# Claude social media automation

Connect Claude to Genviral through the Partner REST API, or install the open source Genviral skill so Claude Code, the Cowork tab, or an Agent SDK build shells out to the `genviral` CLI. One scoped API key lets Claude generate slideshows, images, and video, then schedule and publish across 10 connected platforms including TikTok, Instagram, and YouTube.

## Ways to connect Claude

Every Claude surface that can run a shell command or make an HTTP request reaches the same Genviral accounts, media, and scheduling.

- Claude Code (Skill + CLI): Anthropic's terminal and IDE agent. Drop the Genviral skill into ~/.claude/skills and Claude Code shells out to the `genviral` CLI for accounts, slideshows, posts, and analytics.
- Cowork (CLI + API): The autonomous background tab in the Claude desktop app. Hand it a recurring brief and it runs the CLI or Partner API in its own environment — dispatch hands-off social work without keeping a window open.
- Claude Agent SDK (CLI + API): Build your own headless Claude agent in TypeScript or Python. Call the `genviral` CLI from its Bash tool or hit the Partner REST API directly — then wire it into cron, CI, or a GitHub Action.
- Claude + MCP / API (REST API): Any Claude that can make an HTTP request talks to the Genviral Partner API directly with a Bearer key — through an MCP server or inline fetch, no CLI install required.

## What Genviral executes for Claude

Genviral is the execution layer Claude calls into; Claude keeps the reasoning and conversational handoff.

- Connected social accounts: TikTok, Instagram, YouTube, Pinterest, LinkedIn, Facebook, X, Bluesky, Mastodon, and Telegram behind one API key — no Meta or TikTok partner approval wait.
- AI media generation: Slideshows, images, and videos rendered through Genviral's AI Studio. No separate model wiring — Claude calls one endpoint and gets a finished asset.
- Cross-platform scheduling: One queue, every platform. Idempotent posting via `external_id`, retry-safe drafts, and per-account cooldowns Claude can drive from one endpoint.
- Analytics feedback loop: Genviral feeds last-30-day performance back to Claude so the next batch rewrites hooks against whichever format actually outperformed.

## Setup in five steps

Each step links to the real surface in the Genviral dashboard. Run them once, then let Claude take the recurring work.

- Drop the Genviral skill into Claude's skills folder. Claude Code and Cowork auto-load skills from your local skills directory. The Genviral skill ships an opinionated SKILL.md, slideshow workflow, defaults file, and a feedback loop tuned for social — no manual wiring required. Building on the Agent SDK instead? Point its Bash tool at the same CLI.
- Install the Genviral CLI. The skill shells out to `genviral`, the same CLI any agent uses. Claude's tool calls run shell, the shell runs `genviral`, and Genviral does the rest. Prefer pure HTTP? Skip the CLI and call the Partner REST API directly.
- Create a scoped API key. Create one key per workspace Claude is allowed to drive. Drop it into `GENVIRAL_API_KEY` in your shell profile so the skill picks it up on every session — or pass it as a Bearer token when you call the API directly.
- Connect your social accounts in Genviral. Connect TikTok, Instagram, YouTube, Pinterest, LinkedIn, Facebook, X, Bluesky, Mastodon, and Telegram once in the dashboard. Claude never touches OAuth — it just reads the account list and uses the IDs.
- Ask Claude to draft one sample post. From Claude Code, the Cowork tab, or your own Agent SDK build, ask Claude to generate one slideshow, review it, and create a draft post. Claude uses the skill end-to-end — you watch it work before promoting anything to public.

## Recurring Claude workflows by platform

Each workflow follows the same loop: Claude plans, Genviral renders and publishes, analytics feeds the next session.

- TikTok: Daily slideshows from a fixed format. Ask Claude once; it composes a 4-slide carousel, drafts it as a MEDIA_UPLOAD post, and waits for your thumbs-up before publishing.
- Pinterest: Recurring infographic pins. Claude pulls a recipe from your blog, generates an infographic, and ships the pin to a chosen board — every 8 hours, with confirmations in chat.
- YouTube: Shorts from a shared queue. Claude pulls the next approved Short, fills `settings.youtube` from metadata, and publishes on the cadence you set in chat.
- Instagram: Reels from an approved media folder. Point Claude at a Genviral media-library folder; new uploads get captioned, hashtagged, and queued without ever leaving the approval pipeline.
- LinkedIn: Posts from release notes & drafts. Claude summarizes engineering output into voice-matched posts; Genviral publishes under the company page on a weekly cadence.
- Facebook: Cross-post filler for brand-page trust. Claude mirrors the day's TikTok onto the Facebook page 30 minutes later, keeping the brand page warm so paid traffic and approvals stay healthy.

## Why Claude still needs an API layer

You could wire Claude into every platform's API yourself. In practice that is slow and breaks often.

- Meta and TikTok partner approvals can take months -> Genviral fronts those approvals so Claude posts on day one
- Every platform has its own auth, post settings, and quirks -> One endpoint per concept; Genviral maps it per platform
- AI assets need separate model providers and plumbing -> Genviral's AI Studio ships slideshows, images, and video in-API
- Scaling to many accounts gets you shadowbanned and locked out -> Hosted, pre-warmed accounts keep posting reliable past the early stage

## Which Claude surfaces does this work with?

All of them that can run a shell command or make an HTTP request. Claude Code (terminal and IDE) and the Cowork background tab in the desktop app load the Genviral skill and shell out to the `genviral` CLI. The Claude Agent SDK can call the CLI from its Bash tool or hit the Partner API directly. And any Claude with HTTP access — including via an MCP server — can call the Genviral Partner API with a Bearer key. Same accounts, same endpoints, no per-surface rebuild.

## How does Claude post to social media?

Claude itself doesn't ship with platform connectors. You either install the Genviral skill plus the `genviral` package, or point Claude at the Partner REST API. Claude then drives commands for accounts, slideshows, posts, analytics, and trends — Genviral handles auth, rendering, scheduling, and publishing to every supported network.

## Do I need the Genviral skill, the CLI, or the API?

It depends on the surface. For Claude Code and Cowork, install the skill (SKILL.md, slideshow workflow, defaults, feedback loop) and the CLI it shells out to — that's the smoothest path. For headless Agent SDK builds or any MCP/HTTP integration, you can skip the CLI entirely and call the Partner REST API directly with your Bearer key.

## Can I dispatch Claude to run social tasks autonomously?

Yes. The Cowork background tab runs in its own cloud environment, so you can hand it a recurring brief and let it execute without keeping a window open. For fully scheduled jobs, run the `genviral` CLI on cron, systemd, or a GitHub Action from an Agent SDK build, or use the Hermes Agent integration, which has native scheduled tasks.

## Which platforms can Claude post to through Genviral?

TikTok, Instagram, YouTube, Pinterest, LinkedIn, Facebook, X, Bluesky, Mastodon, and Telegram. Analytics coverage is strongest for TikTok, Instagram, and YouTube. Claude publishes from your connected accounts via one API key — no Meta or TikTok partner approval wait.

## Does this need an MCP server?

No. With the skill, Claude shells out to `genviral` directly — there's no separate MCP server to operate. MCP is optional: if you prefer it, you can wrap the Partner API in an MCP server and have any Claude surface call it that way instead.

## Should I let Claude publish without confirmation?

Not at first. Post manually for a few days, then have Claude generate one sample post. Review the image, caption, tags, and destination. Only after the sample is right should you let Claude publish without asking. Use draft modes (TikTok MEDIA_UPLOAD, YouTube unlisted, Instagram private) for the first few runs.

---

Canonical HTML: https://www.genviral.io/claude
