doodle top mobile

Automate Instagram with AI Agents

Schedule feed posts, stories, and reels, manage trial reels and collaborator tags, and grow your Instagram presence — all from the command line or through your AI agent.

Setup GuideClawHub

Please make sure there is always a human in the loop.

doodle left mobiledoodle right mobile

Post to Instagram in Seconds

Terminal

# Install globally
npm install -g postiz

# Set your API key
export POSTIZ_API_KEY=your_api_key

# Find your Instagram integration
postiz integrations:list

# Upload an image
RESULT=$(postiz upload photo.jpg)
IMAGE_URL=$(echo "$RESULT" | jq -r '.path')

# Schedule an Instagram feed post
postiz posts:create \
  -c "New post! #photography #instagood" \
  -m "$IMAGE_URL" \
  -s "2025-01-15T10:00:00Z" \
  --settings '{"post_type":"post"}' \
  -i "your-instagram-integration-id"

Instagram-Specific Features

📷

Feed Posts

Publish photo and video posts to your Instagram feed with captions, hashtags, and location tags. Schedule for optimal engagement times.

📱

Stories

Share ephemeral content with Instagram Stories. Upload images or videos that disappear after 24 hours.

🎬

Trial Reels

Test content with trial reels that have limited initial reach. Graduate to full distribution manually or automatically based on performance.

🤝

Collaborator Tags

Tag collaborators on your posts to co-author content. The post appears on both profiles, doubling your reach.

📊

Graduation Strategy

Control how trial reels graduate to full reach. Choose MANUAL for hands-on control or SS_PERFORMANCE for automatic promotion.

📅

Scheduled Posting

Schedule posts and stories with precise timestamps. Plan your Instagram content calendar and let Postiz handle the publishing.

How It Works

1

Find Your Instagram Integration

List your connected accounts and grab your Instagram integration ID. You can also fetch available settings to see what options are supported.

Discovery

# List all integrations
postiz integrations:list

# Filter for Instagram
postiz integrations:list | jq \
  '.[] | select(.identifier=="instagram")'

# Get Instagram settings schema
postiz integrations:settings <instagram-id>
2

Upload Your Media

Upload your photo or video to get a public URL. Instagram requires media to be accessible via HTTPS. Supports JPG, PNG, MP4, and more.

Upload

# Upload image and extract URL
RESULT=$(postiz upload photo.jpg)
IMAGE_URL=$(echo "$RESULT" | jq -r '.path')

echo $IMAGE_URL
# https://uploads.postiz.com/photo.jpg
3

Create Your Post

Schedule an Instagram post with your media, caption, hashtags, and platform-specific settings like post type, trial reels, and collaborators.

Post Creation

postiz posts:create \
  -c "Sunset vibes #photography #nature" \
  -m "$IMAGE_URL" \
  -s "2025-03-01T18:00:00Z" \
  --settings '{
    "post_type": "post",
    "collaborators": [
      {"label": "photographer_friend"}
    ]
  }' \
  -i "instagram-id"

Instagram Settings Reference

Every Instagram post accepts these platform-specific settings via the --settings flag.

FieldTypeDescription
__typestringMust be "instagram" or "instagram-standalone"
post_typestringContent type: "post" (feed) or "story"
is_trial_reelbooleanPost as a trial reel with limited initial reach
graduation_strategystringTrial reel graduation: "MANUAL" or "SS_PERFORMANCE" (auto based on performance)
collaboratorsarrayList of collaborator objects, e.g. [{"label":"username"}]

Common Configurations

Copy-paste these settings for common Instagram posting scenarios.

Simple Feed Post

settings.json

{
  "post_type": "post"
}

Story Post

settings.json

{
  "post_type": "story"
}

Trial Reel with Auto Graduation

settings.json

{
  "post_type": "post",
  "is_trial_reel": true,
  "graduation_strategy": "SS_PERFORMANCE"
}

Collaborator Post

settings.json

{
  "post_type": "post",
  "collaborators": [
    {"label": "cofounder"},
    {"label": "designer_jane"}
  ]
}

What is OpenClaw?

OpenClaw is the open-source personal AI agent with 145k+ GitHub stars. It runs locally on your machine, connects through apps you already use, and takes real actions on your behalf.

💬

Works Where You Are

Message OpenClaw from WhatsApp, Telegram, Slack, Discord, Signal, iMessage, or 10+ other platforms. No new app to learn.

🧩

Skill-Based Architecture

OpenClaw extends its abilities through Skills — lightweight plugins defined in Markdown files. Postiz is available as a skill on ClawHub.

Proactive Automation

Schedule recurring tasks with cron jobs. OpenClaw can post your Instagram content on a schedule without you having to ask each time.

How Postiz Becomes an OpenClaw Skill

When you install Postiz Agent globally, OpenClaw automatically discovers it by reading the bundled SKILL.md file. This file tells OpenClaw what commands are available, what environment variables are needed, and how to compose Instagram posts with the right settings.

  • Install from ClawHub with one command: clawhub install nevo-david/postiz
  • OpenClaw reads the SKILL.md and learns all Postiz commands
  • Eligibility is checked automatically — POSTIZ_API_KEY must be set
  • Skills are loaded on-demand, keeping the agent context clean
  • Works with any LLM backend: Claude, GPT, Gemini, Llama, and more

Install from ClawHub

# Install the Postiz skill
clawhub install nevo-david/postiz

# Or install the CLI globally
npm install -g postiz

# Set your API key
export POSTIZ_API_KEY=your_api_key

# Verify OpenClaw sees it
openclaw skills list --eligible

# Output:
# - postiz: Social media automation
#   CLI for scheduling posts
#   across 30+ platforms

Instagram Posting with OpenClaw

Message OpenClaw from any platform — it reads the Postiz skill, discovers your Instagram integration, and handles the entire posting workflow autonomously.

🦀

From Any Chat App

WhatsApp, Telegram, Slack, Discord...

Send a message to OpenClaw from your favorite chat app. It runs as a persistent daemon on your machine, so it picks up your message, discovers your Instagram account via Postiz, uploads the photo, and schedules the post — all while you go about your day.

WhatsApp / Telegram

You: Post my sunset.jpg to Instagram
  as a feed post, schedule for tomorrow
  at 6pm, tag @photographer_friend

OpenClaw: Got it! Here's what I'll do:
  1. Upload sunset.jpg to Postiz
  2. Schedule for 2025-03-02T18:00:00Z
  3. Settings: feed post, collaborator
     tagged

  Done! Your Instagram post is scheduled.
  Post ID: abc-123
🦀

Scheduled & Proactive

Cron jobs for recurring content

OpenClaw supports cron-based heartbeat tasks. Set up a recurring job that checks a folder for new photos and posts them to Instagram automatically — no manual trigger needed.

openclaw.json (heartbeat)

{
  "heartbeat": [
    {
      "cron": "0 18 * * 1-5",
      "prompt": "Check ~/photos/pending
  for new .jpg files. For each one,
  upload to Postiz and schedule an
  Instagram feed post for today at
  7pm. Add relevant hashtags.
  Move posted files
  to ~/photos/posted."
    }
  ]
}

Why OpenClaw + Postiz for Instagram

OpenClaw's skill system makes Postiz a natural fit. The agent reads the SKILL.md to understand every available command, then autonomously chains them together for Instagram workflows.

  • Message from WhatsApp to post on Instagram — no terminal needed
  • Cron jobs for hands-free daily posting schedules
  • Structured JSON output lets OpenClaw verify each step succeeded
  • Trial reels and graduation strategies applied automatically
  • Cross-post to Instagram + other platforms in a single conversation
  • Model-agnostic — works with Claude, GPT, Gemini, or open-source LLMs

SKILL.md (auto-discovered)

---
name: postiz
description: Social media automation
  CLI for scheduling posts across
  30+ platforms including Instagram
metadata:
  openclaw:
    requirements:
      env:
        - POSTIZ_API_KEY
      binaries:
        - postiz
---

# Available Commands
- postiz integrations:list
- postiz integrations:settings <id>
- postiz posts:create
- postiz upload <file>
- postiz analytics:platform <id>

# Instagram Settings
post_type, is_trial_reel,
graduation_strategy,
collaborators

Also Works with Claude Code

Postiz Agent works as a CLI tool with any AI agent that can execute shell commands — including Anthropic's Claude Code.

C

Claude Code

by Anthropic

Claude reads the SKILL.md file to learn all available Postiz commands, then autonomously discovers your Instagram integration, uploads your photo, applies post type and collaborator settings, and schedules the post.

Claude Code

> Post my product photo to Instagram
  as a feed post with collaborator tags,
  schedule for tomorrow evening

Claude will automatically run:
  postiz integrations:list
  postiz upload ./product.jpg
  postiz posts:create \
    -c "Launching something new!" \
    -m "uploaded-url" \
    -s "2025-03-02T18:00:00Z" \
    --settings '{"post_type":"post",
      "collaborators":[
        {"label":"cofounder"}
      ]}' \
    -i "instagram-id"

Instagram + Other Platforms

Schedule the same content to Instagram and other platforms in a single command. Each platform gets its own settings.

Terminal

# Post to Instagram and Facebook simultaneously
postiz posts:create \
  -c "New product photo! #launch #startup" \
  -m "$IMAGE_URL" \
  -s "2025-03-01T18:00:00Z" \
  --settings '{"post_type":"post"}' \
  -i "instagram-id,facebook-id"

# Batch schedule a week of Instagram content
for day in 1 2 3 4 5; do
  postiz posts:create \
    -c "Day $day of our launch week! #countdown" \
    -m "day${day}-image-url" \
    -s "2025-03-0${day}T18:00:00Z" \
    --settings '{"post_type":"post"}' \
    -i "instagram-id"
done

Post Types

Feed Post

post

Story

story

Start posting to Instagram

Install Postiz Agent and automate your Instagram content strategy with AI-powered scheduling and publishing.

Ready to get started?

Grow your social media presence with Postiz.
Schedule, analyze, and engage with your audience.

Grow your social media presence with Postiz.