Skip to main content
Create AI-powered UGC videos for your social media with Agent Media β€” generate engaging video content and schedule it directly with Postiz. Perfect for OpenClaw 🦞
For your AI agent to work best with Postiz, install the skill by running:
npx skills add gitroomhq/postiz-agent
Or load the SKILL md file from github.com/gitroomhq/postiz-agent.
The Postiz CLI is a command-line tool for automating social media posting across 28+ platforms. It wraps the Public API so you can schedule posts, manage integrations, and upload media directly from your terminal or shell scripts.

Installation

npm install -g postiz
Verify the installation:
postiz --help

Authentication

Authenticate using the device flow β€” no client ID or secret needed:
postiz auth:login
This will:
  1. Display a one-time code in your terminal
  2. Open your browser to authorize
  3. Automatically save credentials to ~/.postiz/credentials.json
# Check current auth status
postiz auth:status

# Remove stored credentials
postiz auth:logout

Option 2: API Key

Set your Postiz API key as an environment variable. You can get your API key from the Postiz Settings page.
export POSTIZ_API_KEY=your_api_key_here
Add this to your shell profile (~/.bashrc, ~/.zshrc, etc.) so it persists across sessions.
OAuth2 credentials take priority over the API key when both are present.

Custom API URL (self-hosted)

If you’re running a self-hosted Postiz instance, point the CLI to your server:
export POSTIZ_API_URL=https://your-postiz-server.com

Self-Hosting the Auth Server

By default, postiz auth:login uses the hosted auth server at cli-auth.postiz.com. If you want to self-host the OAuth2 device flow server, see the Authentication page for the full setup guide.

Quick Start

# 1. List your connected social media accounts
postiz integrations:list

# 2. Create a scheduled post
postiz posts:create \
  -c "Hello from the Postiz CLI!" \
  -s "2025-01-15T10:00:00Z" \
  -i "your-integration-id"

# 3. List your scheduled posts
postiz posts:list

Commands Overview

CommandDescription
auth:loginAuthenticate via OAuth2 device flow
auth:statusCheck current authentication status
auth:logoutRemove stored credentials
integrations:listList all connected social media accounts
integrations:settingsGet the settings schema for an integration
integrations:triggerTrigger a dynamic tool on an integration
posts:createCreate a new post
posts:listList posts with optional date filtering
posts:deleteDelete a post by ID
posts:missingList available content from provider for a post with missing release ID
posts:connectConnect a post to its published content by release ID
analytics:platformGet analytics for an integration/channel
analytics:postGet analytics for a specific post
uploadUpload a media file
All commands output JSON, making the CLI easy to use in scripts and automation pipelines.