postiz 2.0.5 → 2.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +29 -0
- package/LICENSE +13 -657
- package/README.md +57 -28
- package/SKILL.md +35 -6
- package/dist/index.js +324 -12480
- package/dist/index.js.map +1 -1
- package/package.json +29 -8
package/README.md
CHANGED
|
@@ -29,7 +29,6 @@ pnpm link --global
|
|
|
29
29
|
### For Development
|
|
30
30
|
|
|
31
31
|
```bash
|
|
32
|
-
cd apps/cli
|
|
33
32
|
pnpm install
|
|
34
33
|
pnpm run build
|
|
35
34
|
pnpm link --global
|
|
@@ -180,19 +179,34 @@ postiz posts:delete <post-id>
|
|
|
180
179
|
postiz upload <file-path>
|
|
181
180
|
```
|
|
182
181
|
|
|
182
|
+
**⚠️ IMPORTANT: Upload Files Before Posting**
|
|
183
|
+
|
|
184
|
+
You **must** upload media files to Postiz before using them in posts. Many platforms (especially TikTok, Instagram, and YouTube) require verified/trusted URLs and will reject external links.
|
|
185
|
+
|
|
186
|
+
**Workflow:**
|
|
187
|
+
1. Upload your file using `postiz upload`
|
|
188
|
+
2. Extract the returned URL
|
|
189
|
+
3. Use that URL in your post's `-m` parameter
|
|
190
|
+
|
|
183
191
|
**Supported formats:**
|
|
184
|
-
- **Images:** PNG, JPG, JPEG, GIF
|
|
185
|
-
- **Videos:** MP4
|
|
186
|
-
- **Audio:** MP3, WAV, OGG, AAC, FLAC, M4A
|
|
187
|
-
- **Documents:** PDF, DOC, DOCX
|
|
192
|
+
- **Images:** PNG, JPG, JPEG, GIF
|
|
193
|
+
- **Videos:** MP4
|
|
188
194
|
|
|
189
195
|
**Example:**
|
|
190
196
|
```bash
|
|
197
|
+
# 1. Upload the file first
|
|
191
198
|
RESULT=$(postiz upload video.mp4)
|
|
192
199
|
PATH=$(echo "$RESULT" | jq -r '.path')
|
|
193
|
-
|
|
200
|
+
|
|
201
|
+
# 2. Use the Postiz URL in your post
|
|
202
|
+
postiz posts:create -c "Check out my video!" -s "2024-12-31T12:00:00Z" -m "$PATH" -i "tiktok-id"
|
|
194
203
|
```
|
|
195
204
|
|
|
205
|
+
**Why this is required:**
|
|
206
|
+
- **TikTok, Instagram, YouTube** only accept URLs from trusted domains
|
|
207
|
+
- **Security:** Platforms verify media sources to prevent abuse
|
|
208
|
+
- **Reliability:** Postiz ensures your media is always accessible
|
|
209
|
+
|
|
196
210
|
---
|
|
197
211
|
|
|
198
212
|
## Platform-Specific Features
|
|
@@ -215,22 +229,31 @@ postiz posts:create \
|
|
|
215
229
|
# Get playlists
|
|
216
230
|
postiz integrations:trigger youtube-id getPlaylists
|
|
217
231
|
|
|
218
|
-
# Upload video
|
|
232
|
+
# Upload video FIRST (required!)
|
|
233
|
+
VIDEO=$(postiz upload video.mp4)
|
|
234
|
+
VIDEO_URL=$(echo "$VIDEO" | jq -r '.path')
|
|
235
|
+
|
|
236
|
+
# Post with uploaded video URL
|
|
219
237
|
postiz posts:create \
|
|
220
238
|
-c "Video description" \
|
|
221
239
|
-s "2024-12-31T12:00:00Z" \
|
|
222
240
|
--settings '{"title":"Video Title","type":"public","tags":[{"value":"tech","label":"Tech"}],"playlistId":"playlist-id"}' \
|
|
223
|
-
-m "
|
|
241
|
+
-m "$VIDEO_URL" \
|
|
224
242
|
-i "youtube-id"
|
|
225
243
|
```
|
|
226
244
|
|
|
227
245
|
### TikTok
|
|
228
246
|
```bash
|
|
247
|
+
# Upload video FIRST (TikTok only accepts verified URLs!)
|
|
248
|
+
VIDEO=$(postiz upload video.mp4)
|
|
249
|
+
VIDEO_URL=$(echo "$VIDEO" | jq -r '.path')
|
|
250
|
+
|
|
251
|
+
# Post with uploaded video URL
|
|
229
252
|
postiz posts:create \
|
|
230
253
|
-c "Video caption #fyp" \
|
|
231
254
|
-s "2024-12-31T12:00:00Z" \
|
|
232
255
|
--settings '{"privacy":"PUBLIC_TO_EVERYONE","duet":true,"stitch":true}' \
|
|
233
|
-
-m "
|
|
256
|
+
-m "$VIDEO_URL" \
|
|
234
257
|
-i "tiktok-id"
|
|
235
258
|
```
|
|
236
259
|
|
|
@@ -268,20 +291,27 @@ postiz posts:create \
|
|
|
268
291
|
|
|
269
292
|
### Instagram
|
|
270
293
|
```bash
|
|
294
|
+
# Upload image FIRST (Instagram requires verified URLs!)
|
|
295
|
+
IMAGE=$(postiz upload image.jpg)
|
|
296
|
+
IMAGE_URL=$(echo "$IMAGE" | jq -r '.path')
|
|
297
|
+
|
|
271
298
|
# Regular post
|
|
272
299
|
postiz posts:create \
|
|
273
300
|
-c "Caption #hashtag" \
|
|
274
301
|
-s "2024-12-31T12:00:00Z" \
|
|
275
302
|
--settings '{"post_type":"post"}' \
|
|
276
|
-
-m "
|
|
303
|
+
-m "$IMAGE_URL" \
|
|
277
304
|
-i "instagram-id"
|
|
278
305
|
|
|
279
|
-
# Story
|
|
306
|
+
# Story (upload first)
|
|
307
|
+
STORY=$(postiz upload story.jpg)
|
|
308
|
+
STORY_URL=$(echo "$STORY" | jq -r '.path')
|
|
309
|
+
|
|
280
310
|
postiz posts:create \
|
|
281
311
|
-c "" \
|
|
282
312
|
-s "2024-12-31T12:00:00Z" \
|
|
283
313
|
--settings '{"post_type":"story"}' \
|
|
284
|
-
-m "
|
|
314
|
+
-m "$STORY_URL" \
|
|
285
315
|
-i "instagram-id"
|
|
286
316
|
```
|
|
287
317
|
|
|
@@ -491,21 +521,20 @@ The CLI provides clear error messages with exit codes:
|
|
|
491
521
|
### Project Structure
|
|
492
522
|
|
|
493
523
|
```
|
|
494
|
-
|
|
495
|
-
├──
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
└── SKILL.md # AI agent reference
|
|
524
|
+
src/
|
|
525
|
+
├── index.ts # CLI entry point with yargs
|
|
526
|
+
├── api.ts # PostizAPI client class
|
|
527
|
+
├── config.ts # Environment configuration
|
|
528
|
+
└── commands/
|
|
529
|
+
├── posts.ts # Post management commands
|
|
530
|
+
├── integrations.ts # Integration commands
|
|
531
|
+
└── upload.ts # Media upload command
|
|
532
|
+
examples/ # Example scripts and JSON files
|
|
533
|
+
package.json
|
|
534
|
+
tsconfig.json
|
|
535
|
+
tsup.config.ts # Build configuration
|
|
536
|
+
README.md # This file
|
|
537
|
+
SKILL.md # AI agent reference
|
|
509
538
|
```
|
|
510
539
|
|
|
511
540
|
### Scripts
|
|
@@ -583,7 +612,7 @@ AGPL-3.0
|
|
|
583
612
|
## Links
|
|
584
613
|
|
|
585
614
|
- **Website:** [postiz.com](https://postiz.com)
|
|
586
|
-
- **API Docs:** [postiz.com
|
|
615
|
+
- **API Docs:** [docs.postiz.com](https://docs.postiz.com)
|
|
587
616
|
- **GitHub:** [gitroomhq/postiz-app](https://github.com/gitroomhq/postiz-app)
|
|
588
617
|
- **Issues:** [Report bugs](https://github.com/gitroomhq/postiz-app/issues)
|
|
589
618
|
|
package/SKILL.md
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: postiz
|
|
3
|
+
description: Postiz is a tool to schedule social media and chat posts to 28+ channels X, LinkedIn, LinkedIn Page, Reddit, Instagram, Facebook Page, Threads, YouTube, Google My Business, TikTok, Pinterest, Dribbble, Discord, Slack, Kick, Twitch, Mastodon, Bluesky, Lemmy, Farcaster, Telegram, Nostr, VK, Medium, Dev.to, Hashnode, WordPress, ListMonk
|
|
4
|
+
homepage: https://docs.postiz.com/public-api/introduction
|
|
5
|
+
metadata: {"clawdbot":{"emoji":"🌎","requires":{"bins":[],"env":["POSTIZ_API_URL","POSTIZ_API_KEY"]}}}
|
|
6
|
+
---
|
|
7
|
+
|
|
1
8
|
| Property | Value |
|
|
2
9
|
|----------|-------|
|
|
3
10
|
| **name** | postiz |
|
|
@@ -107,12 +114,19 @@ postiz posts:delete <post-id>
|
|
|
107
114
|
|
|
108
115
|
### Media Upload
|
|
109
116
|
|
|
117
|
+
**⚠️ IMPORTANT:** Always upload files to Postiz before using them in posts. Many platforms (TikTok, Instagram, YouTube) **require verified URLs** and will reject external links.
|
|
118
|
+
|
|
110
119
|
```bash
|
|
111
120
|
# Upload file and get URL
|
|
112
121
|
postiz upload image.jpg
|
|
113
122
|
|
|
114
123
|
# Supports: images (PNG, JPG, GIF, WEBP, SVG), videos (MP4, MOV, AVI, MKV, WEBM),
|
|
115
124
|
# audio (MP3, WAV, OGG, AAC), documents (PDF, DOC, DOCX)
|
|
125
|
+
|
|
126
|
+
# Workflow: Upload → Extract URL → Use in post
|
|
127
|
+
VIDEO=$(postiz upload video.mp4)
|
|
128
|
+
VIDEO_PATH=$(echo "$VIDEO" | jq -r '.path')
|
|
129
|
+
postiz posts:create -c "Content" -s "2024-12-31T12:00:00Z" -m "$VIDEO_PATH" -i "tiktok-id"
|
|
116
130
|
```
|
|
117
131
|
|
|
118
132
|
---
|
|
@@ -455,21 +469,29 @@ postiz posts:create \
|
|
|
455
469
|
|
|
456
470
|
### YouTube
|
|
457
471
|
```bash
|
|
472
|
+
# Upload video first (required!)
|
|
473
|
+
VIDEO=$(postiz upload video.mp4)
|
|
474
|
+
VIDEO_URL=$(echo "$VIDEO" | jq -r '.path')
|
|
475
|
+
|
|
458
476
|
postiz posts:create \
|
|
459
477
|
-c "Video description" \
|
|
460
478
|
-s "2024-12-31T12:00:00Z" \
|
|
461
479
|
--settings '{"title":"Video Title","type":"public","tags":[{"value":"tech","label":"Tech"}]}' \
|
|
462
|
-
-m "
|
|
480
|
+
-m "$VIDEO_URL" \
|
|
463
481
|
-i "youtube-id"
|
|
464
482
|
```
|
|
465
483
|
|
|
466
484
|
### TikTok
|
|
467
485
|
```bash
|
|
486
|
+
# Upload video first (TikTok only accepts verified URLs!)
|
|
487
|
+
VIDEO=$(postiz upload video.mp4)
|
|
488
|
+
VIDEO_URL=$(echo "$VIDEO" | jq -r '.path')
|
|
489
|
+
|
|
468
490
|
postiz posts:create \
|
|
469
491
|
-c "Video caption #fyp" \
|
|
470
492
|
-s "2024-12-31T12:00:00Z" \
|
|
471
493
|
--settings '{"privacy":"PUBLIC_TO_EVERYONE","duet":true,"stitch":true}' \
|
|
472
|
-
-m "
|
|
494
|
+
-m "$VIDEO_URL" \
|
|
473
495
|
-i "tiktok-id"
|
|
474
496
|
```
|
|
475
497
|
|
|
@@ -497,20 +519,27 @@ postiz posts:create \
|
|
|
497
519
|
|
|
498
520
|
### Instagram
|
|
499
521
|
```bash
|
|
522
|
+
# Upload image first (Instagram requires verified URLs!)
|
|
523
|
+
IMAGE=$(postiz upload image.jpg)
|
|
524
|
+
IMAGE_URL=$(echo "$IMAGE" | jq -r '.path')
|
|
525
|
+
|
|
500
526
|
# Regular post
|
|
501
527
|
postiz posts:create \
|
|
502
528
|
-c "Caption #hashtag" \
|
|
503
529
|
-s "2024-12-31T12:00:00Z" \
|
|
504
530
|
--settings '{"post_type":"post"}' \
|
|
505
|
-
-m "
|
|
531
|
+
-m "$IMAGE_URL" \
|
|
506
532
|
-i "instagram-id"
|
|
507
533
|
|
|
508
534
|
# Story
|
|
535
|
+
STORY=$(postiz upload story.jpg)
|
|
536
|
+
STORY_URL=$(echo "$STORY" | jq -r '.path')
|
|
537
|
+
|
|
509
538
|
postiz posts:create \
|
|
510
539
|
-c "" \
|
|
511
540
|
-s "2024-12-31T12:00:00Z" \
|
|
512
541
|
--settings '{"post_type":"story"}' \
|
|
513
|
-
-m "
|
|
542
|
+
-m "$STORY_URL" \
|
|
514
543
|
-i "instagram-id"
|
|
515
544
|
```
|
|
516
545
|
|
|
@@ -545,9 +574,9 @@ postiz posts:create \
|
|
|
545
574
|
1. **API Key not set** - Always `export POSTIZ_API_KEY=key` before using CLI
|
|
546
575
|
2. **Invalid integration ID** - Run `integrations:list` to get current IDs
|
|
547
576
|
3. **Settings schema mismatch** - Check `integrations:settings` for required fields
|
|
548
|
-
4. **Media
|
|
577
|
+
4. **Media MUST be uploaded to Postiz first** - ⚠️ **CRITICAL:** TikTok, Instagram, YouTube, and many platforms only accept verified URLs. Upload files via `postiz upload` first, then use the returned URL in `-m`. External URLs will be rejected!
|
|
549
578
|
5. **JSON escaping in shell** - Use single quotes for JSON: `--settings '{...}'`
|
|
550
|
-
6. **Date format** - Must be ISO 8601: `"2024-12-31T12:00:00Z"`
|
|
579
|
+
6. **Date format** - Must be ISO 8601: `"2024-12-31T12:00:00Z"` and is REQUIRED
|
|
551
580
|
7. **Tool not found** - Check available tools in `integrations:settings` output
|
|
552
581
|
8. **Character limits** - Each platform has different limits, check `maxLength` in settings
|
|
553
582
|
9. **Required settings** - Some platforms require specific settings (Reddit needs title, YouTube needs title)
|