7.5 KiB
7.5 KiB
Postiz CLI - Feature Summary
✅ Complete Feature Set
Posts with Comments and Media - FULLY SUPPORTED
The Postiz CLI fully supports the complete API structure including:
✅ Posts with Comments
- Main post content
- Multiple comments/replies
- Each comment can have different content
- Configurable delays between comments
✅ Multiple Media per Post/Comment
- Each post can have multiple images (array of MediaDto)
- Each comment can have its own images (separate MediaDto arrays)
- Support for various image formats (PNG, JPG, JPEG, GIF)
- Media can be URLs or uploaded files
✅ Multi-Platform Posting
- Post to multiple platforms in one request
- Platform-specific content for each integration
- Different media for different platforms
✅ Advanced Features
- Scheduled posting with precise timestamps
- URL shortening support
- Tags and metadata
- Delays between comments (in minutes)
- Draft mode for review before posting
Usage Modes
1. Simple Mode (Command Line)
For quick, simple posts:
# Single post
postiz posts:create -c "Hello!" -i "twitter-123"
# With multiple images
postiz posts:create -c "Post" --image "img1.jpg,img2.jpg,img3.jpg" -i "twitter-123"
# With comments (no custom media per comment)
postiz posts:create -c "Main" --comments "Comment 1;Comment 2" -i "twitter-123"
Limitations of Simple Mode:
- Comments share the same media as the main post
- Cannot specify different images for each comment
- Cannot set custom delays between comments
2. Advanced Mode (JSON Files)
For complex posts with comments that have their own media:
postiz posts:create --json complex-post.json
Capabilities:
- ✅ Each comment can have different media
- ✅ Custom delays between comments
- ✅ Multiple posts to different platforms
- ✅ Platform-specific content and media
- ✅ Full control over all API features
Real-World Examples
Example 1: Product Launch with Follow-up Comments
Main Post: Product announcement with 3 product images Comment 1: Feature highlight with 1 feature screenshot (posted 1 hour later) Comment 2: Special offer with 1 promotional image (posted 2 hours later)
{
"type": "schedule",
"date": "2024-03-15T09:00:00Z",
"posts": [{
"integration": { "id": "twitter-123" },
"value": [
{
"content": "🚀 Launching our new product!",
"image": [
{ "id": "p1", "path": "product-1.jpg" },
{ "id": "p2", "path": "product-2.jpg" },
{ "id": "p3", "path": "product-3.jpg" }
]
},
{
"content": "⭐ Key features you'll love:",
"image": [
{ "id": "f1", "path": "features-screenshot.jpg" }
],
"delay": 60
},
{
"content": "🎁 Limited time: 50% off!",
"image": [
{ "id": "o1", "path": "special-offer.jpg" }
],
"delay": 120
}
]
}]
}
Example 2: Tutorial Thread
Main Post: Introduction with overview image Tweets 2-5: Step-by-step with different screenshots for each step
{
"type": "now",
"posts": [{
"integration": { "id": "twitter-123" },
"value": [
{
"content": "🧵 How to use our CLI (1/5)",
"image": [{ "id": "1", "path": "overview.jpg" }]
},
{
"content": "Step 1: Installation (2/5)",
"image": [{ "id": "2", "path": "step1.jpg" }],
"delay": 2000
},
{
"content": "Step 2: Configuration (3/5)",
"image": [{ "id": "3", "path": "step2.jpg" }],
"delay": 2000
},
{
"content": "Step 3: First post (4/5)",
"image": [{ "id": "4", "path": "step3.jpg" }],
"delay": 2000
},
{
"content": "You're all set! 🎉 (5/5)",
"image": [{ "id": "5", "path": "done.jpg" }],
"delay": 2000
}
]
}]
}
Example 3: Multi-Platform Campaign
Same event, different content per platform:
{
"type": "schedule",
"date": "2024-12-25T12:00:00Z",
"posts": [
{
"integration": { "id": "twitter-123" },
"value": [
{
"content": "Short, catchy Twitter post 🐦",
"image": [{ "id": "t1", "path": "twitter-square.jpg" }]
},
{
"content": "Thread continuation with details",
"image": [{ "id": "t2", "path": "twitter-details.jpg" }],
"delay": 5
}
]
},
{
"integration": { "id": "linkedin-456" },
"value": [{
"content": "Professional, detailed LinkedIn post with business context...",
"image": [
{ "id": "l1", "path": "linkedin-wide.jpg" },
{ "id": "l2", "path": "linkedin-graph.jpg" }
]
}]
},
{
"integration": { "id": "facebook-789" },
"value": [
{
"content": "Engaging Facebook post for family/friends audience",
"image": [
{ "id": "f1", "path": "facebook-photo1.jpg" },
{ "id": "f2", "path": "facebook-photo2.jpg" },
{ "id": "f3", "path": "facebook-photo3.jpg" }
]
},
{
"content": "More info in the comments!",
"image": [{ "id": "f4", "path": "facebook-cta.jpg" }],
"delay": 300000
}
]
}
]
}
API Structure Reference
Complete CreatePostDto
{
type: 'now' | 'schedule' | 'draft' | 'update',
date: string, // ISO 8601 date
shortLink: boolean,
tags: Array<{
value: string,
label: string
}>,
posts: Array<{
integration: {
id: string // From integrations:list
},
value: Array<{ // Main post + comments
content: string,
image: Array<{ // Multiple images per post/comment
id: string,
path: string,
alt?: string,
thumbnail?: string
}>,
delay?: number, // Minutes
id?: string
}>,
settings: {
__type: 'EmptySettings'
}
}>
}
For AI Agents
When to Use Simple Mode
- Quick single posts
- No need for comment-specific media
- Posting to 1-2 platforms
- Same content across platforms
When to Use Advanced Mode (JSON)
- ✅ Comments need their own media ← YOUR USE CASE
- ✅ Multi-platform with different content
- ✅ Threads with step-by-step images
- ✅ Timed follow-up comments
- ✅ Complex campaigns
AI Agent Tips
- Generate JSON programmatically - Don't write JSON manually
- Validate structure - Use TypeScript types or JSON schema
- Test with "draft" type - Review before posting
- Use unique image IDs - Generate with UUID or random strings
- Set appropriate delays - Twitter: 2-5s, others: 30s-1min+
Files and Documentation
- examples/post-with-comments.json - Post with comments, each having media
- examples/multi-platform-post.json - Multi-platform campaign
- examples/thread-post.json - Twitter thread example
- examples/EXAMPLES.md - Comprehensive guide with all patterns
- SKILL.md - Full AI agent usage guide
- README.md - Installation and basic usage
Summary
Question: Does it support posts with comments, each with media?
Answer: YES! ✅
- ✅ Posts can have multiple comments
- ✅ Each comment can have its own media (multiple images)
- ✅ Each post can have multiple images
- ✅ Use JSON files for full control
- ✅ See examples/ directory for working templates
- ✅ Fully compatible with the Postiz API structure
The CLI supports the complete Postiz API including all advanced features!