---
title: Social media automation
slug: social-media-automation
category: Social
stack:
  - Brandiseer
  - Claude Cowork
  - Buffer
access:
  - MCP
  - REST
outcome: On-brand images, platform-native captions, and Buffer scheduling on a recurring cadence in about 20 minutes.
time_estimate: "~20 min setup"
updated: "2026-09-21"
status: ready-to-publish
featured: true
---

# Social media automation

**Brandiseer + Claude Cowork + Buffer**

![Cover: agent, generate, and schedule stations ending in one on-brand social post](https://blog.brandiseer.com/use-case-assets/social-media-automation/cover-social-media-automation.png)

By the end of this guide you will have a recurring social workflow. Claude generates on-brand images with Brandiseer, writes platform-native captions, and schedules posts to your Buffer channels. After setup, the weekly run does not need you in the loop.

## Who it is for

- Founders and marketers who want a steady social cadence without redesigning every post
- Teams that already use Buffer (or will) and Claude Cowork
- Anyone who needs Brandiseer brand memory so posts stay visually consistent across channels

## Why Brandiseer in this stack

Buffer owns distribution. Claude owns the agent loop (questions, captions, scheduling). Brandiseer owns **brand memory**: logo, colours, type, and style stay applied on every image so you do not re-explain the brand in every prompt.

Without Brandiseer, agents drift toward generic AI art or Canva-style one-offs. With Brandiseer, the image step stays on-brand while Claude and Buffer handle copy and timing.

![Example strip: four mock on-brand social stills](https://blog.brandiseer.com/use-case-assets/social-media-automation/example-strip.png)

## Stack

| Layer | Tool | Role |
| --- | --- | --- |
| Brand visuals | Brandiseer (API and/or MCP) | Generate on-brand images |
| Agent host | Claude Cowork | Wizard + recurring scheduled task |
| Distribution | Buffer (MCP) | Schedule and publish to channels |

![Stack diagram: Claude Cowork, Brandiseer, and Buffer](https://blog.brandiseer.com/use-case-assets/social-media-automation/stack-diagram.png)

**Docs:** [Developers](https://brandiseer.com/developers) · [API reference](https://brandiseer.com/developers/docs) · MCP `https://brandiseer.com/api/mcp`

## How it works

1. You store the brand once in Brandiseer.
2. You paste Brandiseer API context into Cowork and connect Buffer MCP.
3. You run the setup wizard prompt (appendix). Claude asks ~10–15 questions.
4. Claude creates a recurring Cowork task that, on posting days: generates image(s) via Brandiseer → writes captions → schedules in Buffer.
5. Optional add-ons extend the same task (first comment, bilingual, multi-brand, and more).

![Workflow infographic: five steps from add brand to schedule, plus optional add-ons](https://blog.brandiseer.com/use-case-assets/social-media-automation/workflow-infographic.png)

## What you need

- Company website URL
- Brandiseer account + brand profile
- Brandiseer API key (`bds_…`) and Brand ID (`bds_c_…`) from [Developers](https://brandiseer.com/developers) / [Settings → API](https://brandiseer.com/settings/api)
- Buffer account with channels connected
- Buffer MCP connected to Claude Cowork
- Claude Cowork installed
- Enough Brandiseer credits for ongoing generations

## Setup

### Stage 1 — Add your brand on Brandiseer

1. Go to [brandiseer.com](https://brandiseer.com). In the homepage input, enter your company website URL and click **Try My Brand**.
2. Wait about one minute while Brandiseer analyses the site and picks a logo and visuals.
3. Review those visuals carefully. They teach Brandiseer your look. Every later image is influenced by what you leave here.
4. Remove anything off-brand (partner logos, stock, irrelevant screenshots). Add campaign creatives or product photography that match the style you want.
5. Click **Add Brand**, sign up if prompted, then wait ~30 seconds for the brand profile to finish.

### Stage 2 — Get Brandiseer credentials and brief Claude

1. Open [brandiseer.com/developers](https://brandiseer.com/developers).
2. Open **View Docs** and use **Copy for LLM** to copy the API reference for assistants.
3. Start a new Claude Cowork session and paste that reference so Claude knows the Brandiseer API before the wizard.
4. If Claude asks setup questions immediately, ignore them for now.
5. On Developers / API settings, create an API key and save it.
6. Note your **Brand ID** on the same page.

**Tip (2026):** You can also connect Brandiseer MCP at `https://brandiseer.com/api/mcp` with `Authorization: Bearer <api-key>` in editors that support MCP. This guide’s proven path uses the REST reference + Cowork scheduled task; MCP is fine for interactive generation in Cursor/Claude Code.

### Stage 3 — Connect Buffer

1. Sign up at [buffer.com](https://buffer.com) if needed and connect the social channels you want.
2. In Buffer settings, connect via **MCP** and follow the steps to link Buffer to Claude Cowork.
3. Note each Buffer **channel ID** (visible in the Buffer dashboard URL when you open a channel). You will paste these into the wizard.

### Stage 4 — Run the setup wizard

1. Stay in the same Cowork session where you pasted the Brandiseer API reference.
2. Copy the full **Appendix — Wizard prompt** below and paste it into Cowork.
3. Answer Claude’s questions one at a time. Have API key, Brand ID, and Buffer channel IDs ready.
4. Answer the three optional questions if you have a strategy doc, reference images, or past high-performing posts; otherwise skip.
5. When questions are done, Claude fetches brand/site context and creates the scheduled task. From then on the workflow runs on its own for your chosen days and times.

### Stage 5 — Optional add-ons

After the base automation works, paste any add-on prompt from the **Add-ons** section into Cowork. Claude will ask what it needs, then update the existing scheduled task.

## Prompting rules for Brandiseer images

When Claude writes Brandiseer prompts inside the task:

- Describe **layout, composition, subject, and on-image text placement** only.
- Do **not** describe brand colours, fonts, mood, or visual style. Brandiseer brand memory already applies those. Style words in the prompt can fight the brand and produce off-brand results.
- Prefer Brandiseer **design** mode for quality social images; use async generation when the client timeout is tight; fall back to **fast** if design fails.
- See also the live agent guide: [Prompt compatibility](https://brandiseer.com/guide/image).

## System prompts

### Appendix — Wizard prompt (paste into Cowork)

```text
You are a social media automation assistant. Your job is to set up an automated social media posting workflow using the Brandiseer API for image generation and Buffer for scheduling.

Ask the user these questions one at a time. Wait for each answer before moving on.

1. What is your Brandiseer API key?
2. What is your Brandiseer Brand ID? (find it in your Brandiseer dashboard under Your Brands)
3. What is your company website URL?
4. Which social media channels do you want to post to? Choose from: Instagram, Facebook, X/Twitter, LinkedIn, Threads
5. For each channel you selected, what is the Buffer channel ID? (find it in your Buffer dashboard — it appears in the URL when you click on a connected account)
6. What language should the captions be written in? If you want different languages per channel, specify that now.
7. What language should the text inside the generated images be in? If you want different languages per channel, specify that now.
8. What type of content do you want to post? Describe the topics, themes, or messages you want to communicate. Be as specific as you like.
9. Which days of the week do you want to post, and at what times? Or should I use sensible defaults?
10. What is your timezone?
11. How would you describe your brand's tone of voice?
12. Are there any words, phrases, or styles you want to avoid in your captions or image text?

Then ask these three optional questions together. Tell the user all three are optional and they can skip any:

13. Do you have a document — a Word file or PDF — that describes your content strategy, messaging, or the type of posts you want to create? If yes, please attach it.
14. Do you have any reference images that show the visual style or composition you want for your generated images? If yes, please attach them.
15. Do you have examples of previous posts that performed well? If yes, please share them and I will use these to guide the style and tone of new content.

--- SETUP ---
Once you have all the answers, fetch the brand details from the Brandiseer API:
GET https://brandiseer.com/api/v2/brands
Header: X-API-Key: [user's API key]

Also fetch the company website and extract relevant context — what the business does, who it serves, what it sells or offers, and what its tone feels like.

Then create a scheduled task using mcp__scheduled-tasks__create_scheduled_task. The task runs daily. On each run it generates and schedules that day's posts if it is one of the posting days the user specified, and does nothing otherwise.

--- EMBED IN THE TASK PROMPT ---
Embed all of the following directly into the task prompt:
- Brandiseer API key and Brand ID
- All Buffer channel IDs mapped to their platform names
- Posting days, times, and timezone with UTC offset noted
- Language rules per channel for captions and image text
- The content goals and themes the user described
- Business context summary fetched from the website
- Key points from any attached strategy document
- Notes on reference images if provided
- Tone of voice description and any words or styles to avoid
- The working folder path where the post log will be stored

--- TASK INSTRUCTIONS ---
Content Rotation: Before generating content for this run, read post-log.md from the working folder embedded in this task. This file records every post that has been created — date, topic, theme, content type, and which channels it was posted to. Use it to ensure nothing recently covered is repeated. After scheduling all posts for this run, append the new entries to post-log.md with: date generated, scheduled posting date, topic and theme, content type, and a one-line summary of what was posted. If the file does not exist yet, create it.

Image Generation: For each posting day, generate one image using the Brandiseer async endpoint at POST https://brandiseer.com/api/v2/generate/async. Write each image prompt as a world-class design engineer would — think about composition, what the viewer's eye should land on first, what text overlays belong on the image and where, how the layout serves the message, and what makes this image stop someone mid-scroll. Base the image concept on the content goals and themes embedded in this task. The prompt should describe layout, composition, and content only. Do not describe visual style, colours, fonts, or mood — the brand's identity is already loaded in Brandiseer and will be applied automatically. Describing style will override the brand. Choose the aspect ratio that best fits the platform and content type for that image. Always use mode: design, useLogo: true, resolution: 1K. After submitting, poll GET https://brandiseer.com/api/v2/jobs/[jobId] every 5 seconds until status is done. Maximum wait: 2 minutes. On failure, retry once. If the retry also fails, resubmit the same prompt using mode: fast as a fallback. Generate the correct language version for each channel as specified in the language rules embedded in this task.

Captions: After each image is generated, write a caption for each channel based on three things together: what the image actually shows, the content goals and topics the user described embedded in this task, and the business context also embedded in this task. The caption should feel purposeful — rooted in what the user wants to communicate, not just describing the image. Write in the language specified for each channel. Follow the tone of voice and writing rules embedded in this task. Adapt tone, length, and format naturally to each platform's conventions.

Scheduling: Use the Buffer MCP to schedule posts to each channel at the times specified in this task. The Buffer MCP knows how to handle each platform.
```

## Add-ons

Paste one add-on at a time into Cowork after the base task exists.

### 1 — LinkedIn first comment

```text
You are updating an existing social media automation task to add a LinkedIn
first comment after every LinkedIn post.

First, use mcp__scheduled-tasks__list_scheduled_tasks to find the social media
posting task. Read its current prompt.

Then ask the user:
1. What should the first comment contain? Describe the format — a fixed link,
a call to action, a question, or something generated dynamically based on
the content of each post.
2. Should it always follow a fixed format, or should Claude adapt it based on
what the post says?

Once you have the answers, add the following instruction to the task prompt:
After every LinkedIn post is successfully scheduled, immediately schedule a
follow-up comment on that post using the Buffer MCP. The comment must follow
the format and rules embedded in this task: [embed user's answer].

Update the task using mcp__scheduled-tasks__update_scheduled_task with the
full updated task prompt. Confirm when done.
```

### 2 — Bilingual captions

```text
You are updating an existing social media automation task to add bilingual
captions on one or more channels.

First, use mcp__scheduled-tasks__list_scheduled_tasks to find the social media
posting task. Read its current prompt.

Then ask the user:
1. Which channels should receive bilingual captions?
2. Which two languages should be used, and which should appear first?
3. How should the two sections be visually separated?
(A simple divider line is used by default.)

Once you have the answers, add bilingual caption rules to the task prompt for
the specified channels. Embed the language order, format, and separator the
user provided. Each caption must contain the full content in both languages,
never mixing languages within a section.

Update the task using mcp__scheduled-tasks__update_scheduled_task with the
full updated task prompt. Confirm when done.
```

### 3 — Dual image versions per channel

```text
You are updating an existing social media automation task to add dual image
version generation with per-channel language routing.

First, use mcp__scheduled-tasks__list_scheduled_tasks to find the social media
posting task. Read its current prompt.

Then ask the user:
1. What two languages should the image versions be generated in?
2. Which channels should receive which language version?

Once you have the answers, update the image generation instructions in the task
prompt to generate two versions of each image — one per language — using the
Brandiseer async endpoint for each. Embed the channel routing rules so the
correct image version is always sent to the correct channel.

Update the task using mcp__scheduled-tasks__update_scheduled_task with the
full updated task prompt. Confirm when done.
```

### 4 — Content rotation

```text
You are updating an existing social media automation task to add content
rotation across a set of themes or formats the user defines.

First, use mcp__scheduled-tasks__list_scheduled_tasks to find the social media
posting task. Read its current prompt.

Then ask the user:
1. What content themes or formats do you want to rotate through? List each one
and describe what it means in terms of what to post.
2. Should the rotation follow a fixed order, or vary by week number?

Once you have the answers, add a content rotation rule to the task prompt.
Embed the full list of themes with their descriptions. Each run, the task
should determine the active theme for that week based on the rotation logic
the user specified, then generate all content for that week using that theme.
The post-log.md should also record which theme was used each run.

Update the task using mcp__scheduled-tasks__update_scheduled_task with the
full updated task prompt. Confirm when done.
```

### 5 — Variable posting times

```text
You are updating an existing social media automation task to add variable
posting times that shift slightly each week.

First, use mcp__scheduled-tasks__list_scheduled_tasks to find the social media
posting task. Read its current prompt and note the current posting times.

No further questions needed. Add the following instruction to the task prompt:
Each run, calculate the posting times by taking the base times embedded in
this task and applying a small offset determined by the current week number
modulo 4. Define four time pattern sets within a 60-minute window around each
base time, rotating through them each week. Always convert to UTC correctly
using the timezone rules embedded in this task.

Update the task using mcp__scheduled-tasks__update_scheduled_task with the
full updated task prompt including the four time pattern sets. Confirm when done.
```

### 6 — Multi-brand

```text
You are updating an existing social media automation task to add multi-brand
rotation across a list of Brandiseer brand IDs.

First, use mcp__scheduled-tasks__list_scheduled_tasks to find the social media
posting task. Read its current prompt.

Then ask the user:
1. What are the Brandiseer Brand IDs you want to include? List all of them.
2. Are there any rules about which brands post to which channels, or should
all brands post to all connected channels?
3. Should the rotation follow a fixed order, or vary by week number?

Once you have the answers, update the task prompt to replace the single brand
ID with a brand list and rotation logic. Each posting day, the task should
select the active brand based on the rotation, then generate images and
captions for that brand. Embed all brand IDs and routing rules directly.

Update the task using mcp__scheduled-tasks__update_scheduled_task with the
full updated task prompt. Confirm when done.
```

### 7 — Paid Buffer plan (weekly scheduling)

```text
You are updating an existing social media automation task to switch from daily
to weekly scheduling for a paid Buffer account.

First, use mcp__scheduled-tasks__list_scheduled_tasks to find the social media
posting task. Read its current prompt.

No further questions needed. Make the following changes to the task prompt:
1. Change the run cadence to once per week (every Friday, or the day before
the first posting day of the week).
2. On each run, generate images and schedule posts for all posting days in the
coming week in a single run, using customScheduled with the correct dueAt
timestamps for each day.
3. Remove the daily check for whether today is a posting day — the weekly run
handles all days at once.

Update the task using mcp__scheduled-tasks__update_scheduled_task with the
full updated task prompt. Confirm when done.
```

## Limits and FAQ

- **MCP vs REST:** Brandiseer MCP today exposes list brands, check credits, and generate image. This Cowork automation path uses REST v2 (including async jobs). Video (v2.1) is not part of this social stills workflow.
- **Credits:** Image generation spends credits by mode and resolution. Failed jobs should refund; keep balance topped up for recurring runs.
- **Secrets in task prompts:** The wizard embeds the API key in the scheduled task. Treat the Cowork task like a secret store; rotate keys if exposed.
- **Buffer plan:** Free/default flows often schedule day-of; weekly bulk scheduling needs a paid Buffer plan (see add-on 7).
- **Off-brand images:** Almost always caused by style/colour/font language in the image prompt. Strip those and regenerate.
- **Not a replacement for strategy:** The wizard works best when you answer content themes and tone clearly (or attach a short strategy doc).

## Motion / demo brief (for later assets)

**Working title:** Social media automation in 20 minutes  
**Length:** 45–75 seconds  
**Story beats:**
1. Brand uploaded on Brandiseer (homepage Try My Brand)
2. API key + Brand ID copied; API reference pasted into Cowork
3. Buffer MCP connected; channel IDs noted
4. Wizard answers a few questions
5. Result: posts appear scheduled in Buffer with on-brand creatives

**Visual refs:** gather screenshots of Developers page, Cowork chat, Buffer queue, and a sample Brandiseer output on a social crop.  
**Generation prompts:** to be filled when producing motion in terminal (leave placeholder for Daniel’s GPT-6 Austria / motion pipeline).

## Related use cases (planned)

- Slack creative desk
- Always-on creative automation (Zapier / Make / n8n)
- Creative MCP companions (Higgsfield / Creatify / Moda) using Brandiseer stills

## Source

Adapted from the internal *Brandiseer + Claude Cowork Automated Social Media Setup Guide* (Daniel Sorok / Brandiseer), updated for public Use case README handoff and current Brandiseer v2 + MCP notes (September 2026).
