upload-post

Upload content to social media platforms via Upload-Post API. Use when posting videos, photos, text, or documents to TikTok, Instagram, YouTube, LinkedIn, Facebook, X (Twitter), Threads, Pinterest, Reddit, or Bluesky. Supports scheduling, analytics, FFmpeg processing, and upload history.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "upload-post" with this command: npx skills add sundial-org/awesome-openclaw-skills/sundial-org-awesome-openclaw-skills-upload-post

Upload-Post API

Post content to multiple social media platforms with a single API call.

Documentation

Setup

  1. Create account at upload-post.com
  2. Connect your social media accounts
  3. Create a Profile (e.g., "mybrand") - this links your connected accounts
  4. Generate an API Key from dashboard
  5. Use the profile name as user parameter in API calls

Authentication

Authorization: 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.

Endpoints Reference

EndpointMethodDescription
/upload_videosPOSTUpload videos
/upload_photosPOSTUpload photos/carousels
/upload_textPOSTText-only posts
/upload_documentPOSTUpload documents (LinkedIn only)
/uploadposts/status?request_id=XGETCheck async upload status
/uploadposts/historyGETUpload history
/uploadposts/scheduleGETList scheduled posts
/uploadposts/schedule/<job_id>DELETECancel scheduled post
/uploadposts/schedule/<job_id>PATCHEdit scheduled post
/uploadposts/meGETValidate API key
/analytics/<profile>GETGet analytics
/uploadposts/facebook/pagesGETList Facebook pages
/uploadposts/linkedin/pagesGETList LinkedIn pages
/uploadposts/pinterest/boardsGETList Pinterest boards
/uploadposts/reddit/detailed-postsGETGet Reddit posts with media
/ffmpegPOSTProcess media with FFmpeg

Upload Videos

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 description
  • scheduled_date: ISO-8601 date for scheduling
  • timezone: IANA timezone (e.g., "Europe/Madrid")
  • async_upload: Set true for background processing
  • first_comment: Auto-post first comment

Upload Photos

curl -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).

Upload Text

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 Document (LinkedIn only)

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 commentary
  • visibility: PUBLIC, CONNECTIONS, LOGGED_IN, CONTAINER
  • target_linkedin_page_id: Post to company page

Supported Platforms

PlatformVideosPhotosTextDocuments
TikTok--
Instagram--
YouTube---
LinkedIn
Facebook-
X (Twitter)-
Threads-
Pinterest--
Reddit--
Bluesky-

Upload History

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.

Scheduling

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 scheduled
  • DELETE /uploadposts/schedule/<job_id> - Cancel
  • PATCH /uploadposts/schedule/<job_id> - Edit (date, title, caption)

Check Upload Status

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.

Analytics

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.

Get Pages/Boards

# 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"

Reddit Detailed Posts

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.

FFmpeg Editor

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"
  • Use {input} and {output} placeholders
  • Poll job status until FINISHED
  • Download result from /ffmpeg/job/<job_id>/download
  • Supports multiple inputs: {input0}, {input1}, etc.

Quotas: Free 30min/mo, Basic 300min, Pro 1000min, Advanced 3000min, Business 10000min.

Platform-Specific Parameters

See references/platforms.md for detailed platform parameters.

Media Requirements

See references/requirements.md for format specs per platform.

Error Codes

CodeMeaning
400Bad request / missing params
401Invalid API key
404Resource not found
429Rate limit / quota exceeded
500Server error

Notes

  • Videos auto-switch to async if >59s processing time
  • X long text creates threads unless x_long_text_as_post=true
  • Facebook requires Page ID (personal profiles not supported by Meta)
  • Instagram/Threads support mixed carousels (photos + videos)

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

ontology

No summary provided by upstream source.

Repository SourceNeeds Review
General

exa-web-search-free

No summary provided by upstream source.

Repository SourceNeeds Review
General

stock-market-pro

No summary provided by upstream source.

Repository SourceNeeds Review
General

finance-news

No summary provided by upstream source.

Repository SourceNeeds Review