From sundial-org-awesome-openclaw-skills-4
Uploads videos, photos, text, documents to TikTok, Instagram, YouTube, LinkedIn, Facebook, X, Threads, Pinterest, Reddit, Bluesky via Upload-Post API. Supports scheduling, analytics, FFmpeg processing, history.
npx claudepluginhub joshuarweaver/cascade-ai-ml-agents-misc-2 --plugin sundial-org-awesome-openclaw-skills-4This skill uses the workspace's default tool permissions.
Post content to multiple social media platforms with a single API call.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
Post content to multiple social media platforms with a single API call.
user parameter in API callsAuthorization: Apikey YOUR_API_KEY
Base URL: https://api.upload-post.com/api
The user parameter in all endpoints refers to your profile name (not username), which determines which connected social accounts receive the content.
| Endpoint | Method | Description |
|---|---|---|
/upload_videos | POST | Upload videos |
/upload_photos | POST | Upload photos/carousels |
/upload_text | POST | Text-only posts |
/upload_document | POST | Upload documents (LinkedIn only) |
/uploadposts/status?request_id=X | GET | Check async upload status |
/uploadposts/history | GET | Upload history |
/uploadposts/schedule | GET | List scheduled posts |
/uploadposts/schedule/<job_id> | DELETE | Cancel scheduled post |
/uploadposts/schedule/<job_id> | PATCH | Edit scheduled post |
/uploadposts/me | GET | Validate API key |
/analytics/<profile> | GET | Get analytics |
/uploadposts/facebook/pages | GET | List Facebook pages |
/uploadposts/linkedin/pages | GET | List LinkedIn pages |
/uploadposts/pinterest/boards | GET | List Pinterest boards |
/uploadposts/reddit/detailed-posts | GET | Get Reddit posts with media |
/ffmpeg | POST | Process media with FFmpeg |
curl -X POST "https://api.upload-post.com/api/upload_videos" \
-H "Authorization: Apikey YOUR_KEY" \
-F "user=profile_name" \
-F "platform[]=instagram" \
-F "platform[]=tiktok" \
-F "video=@video.mp4" \
-F "title=My caption"
Key parameters:
user: Profile username (required)platform[]: Target platforms (required)video: Video file or URL (required)title: Caption/title (required)description: Extended descriptionscheduled_date: ISO-8601 date for schedulingtimezone: IANA timezone (e.g., "Europe/Madrid")async_upload: Set true for background processingfirst_comment: Auto-post first commentcurl -X POST "https://api.upload-post.com/api/upload_photos" \
-H "Authorization: Apikey YOUR_KEY" \
-F "user=profile_name" \
-F "platform[]=instagram" \
-F "photos[]=@photo1.jpg" \
-F "photos[]=@photo2.jpg" \
-F "title=My caption"
Instagram & Threads support mixed carousels (photos + videos in same post).
curl -X POST "https://api.upload-post.com/api/upload_text" \
-H "Authorization: Apikey YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"user": "profile_name",
"platform": ["x", "threads", "bluesky"],
"title": "My text post"
}'
Supported: X, LinkedIn, Facebook, Threads, Reddit, Bluesky.
Upload PDFs, PPTs, DOCs as native LinkedIn document posts (carousel viewer).
curl -X POST "https://api.upload-post.com/api/upload_document" \
-H "Authorization: Apikey YOUR_KEY" \
-F "user=profile_name" \
-F 'platform[]=linkedin' \
-F "document=@presentation.pdf" \
-F "title=Document Title" \
-F "description=Post text above document"
Parameters:
document: PDF, PPT, PPTX, DOC, DOCX (max 100MB, 300 pages)title: Document title (required)description: Post commentaryvisibility: PUBLIC, CONNECTIONS, LOGGED_IN, CONTAINERtarget_linkedin_page_id: Post to company page| Platform | Videos | Photos | Text | Documents |
|---|---|---|---|---|
| TikTok | ✓ | ✓ | - | - |
| ✓ | ✓ | - | - | |
| YouTube | ✓ | - | - | - |
| ✓ | ✓ | ✓ | ✓ | |
| ✓ | ✓ | ✓ | - | |
| X (Twitter) | ✓ | ✓ | ✓ | - |
| Threads | ✓ | ✓ | ✓ | - |
| ✓ | ✓ | - | - | |
| - | ✓ | ✓ | - | |
| Bluesky | ✓ | ✓ | ✓ | - |
curl "https://api.upload-post.com/api/uploadposts/history?page=1&limit=20" \
-H "Authorization: Apikey YOUR_KEY"
Parameters:
page: Page number (default: 1)limit: 10, 20, 50, or 100 (default: 10)Returns: upload timestamp, platform, success status, post URLs, errors.
Add scheduled_date parameter (ISO-8601):
{
"scheduled_date": "2026-02-01T10:00:00Z",
"timezone": "Europe/Madrid"
}
Response includes job_id. Manage with:
GET /uploadposts/schedule - List all scheduledDELETE /uploadposts/schedule/<job_id> - CancelPATCH /uploadposts/schedule/<job_id> - Edit (date, title, caption)For async uploads or scheduled posts:
curl "https://api.upload-post.com/api/uploadposts/status?request_id=XXX" \
-H "Authorization: Apikey YOUR_KEY"
Or use job_id for scheduled posts.
curl "https://api.upload-post.com/api/analytics/profile_name?platforms=instagram,tiktok" \
-H "Authorization: Apikey YOUR_KEY"
Supported: Instagram, TikTok, LinkedIn, Facebook, X, YouTube, Threads, Pinterest, Reddit, Bluesky.
Returns: followers, impressions, reach, profile views, time-series data.
# Facebook Pages
curl "https://api.upload-post.com/api/uploadposts/facebook/pages" \
-H "Authorization: Apikey YOUR_KEY"
# LinkedIn Pages
curl "https://api.upload-post.com/api/uploadposts/linkedin/pages" \
-H "Authorization: Apikey YOUR_KEY"
# Pinterest Boards
curl "https://api.upload-post.com/api/uploadposts/pinterest/boards" \
-H "Authorization: Apikey YOUR_KEY"
Get posts with full media info (images, galleries, videos):
curl "https://api.upload-post.com/api/uploadposts/reddit/detailed-posts?profile_username=myprofile" \
-H "Authorization: Apikey YOUR_KEY"
Returns up to 2000 posts with media URLs, dimensions, thumbnails.
Process media with custom FFmpeg commands:
curl -X POST "https://api.upload-post.com/api/ffmpeg" \
-H "Authorization: Apikey YOUR_KEY" \
-F "file=@input.mp4" \
-F "full_command=ffmpeg -y -i {input} -c:v libx264 -crf 23 {output}" \
-F "output_extension=mp4"
{input} and {output} placeholdersFINISHED/ffmpeg/job/<job_id>/download{input0}, {input1}, etc.Quotas: Free 30min/mo, Basic 300min, Pro 1000min, Advanced 3000min, Business 10000min.
See references/platforms.md for detailed platform parameters.
See references/requirements.md for format specs per platform.
| Code | Meaning |
|---|---|
| 400 | Bad request / missing params |
| 401 | Invalid API key |
| 404 | Resource not found |
| 429 | Rate limit / quota exceeded |
| 500 | Server error |
x_long_text_as_post=true