Upload Videos🎥, Photos📸 & Text🖊️ to TikTok, Instagram, YouTube, X, LinkedIn, Facebook, Threads, Pinterest, Reddit & Bluesky via Upload-Post API

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.

MIT-0 · Free to use, modify, and redistribute. No attribution required.
43 · 7.5k · 35 current installs · 36 all-time installs
byVíctor Cavero@victorcavero14
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The name/description match the SKILL.md: it documents a single external service (upload-post.com) for posting to many social platforms. There are no unexpected environment variables, binaries, or install steps requested that would be unrelated to a posting/scheduling service.
Instruction Scope
The instructions show curl examples that upload local files (e.g., -F "video=@video.mp4") and reference an /ffmpeg endpoint plus local ffmpeg CLI examples in references. That is reasonable for a posting tool, but it means the agent will need access to any files you ask it to upload. The SKILL.md does not instruct the agent to read unrelated system files or secrets.
Install Mechanism
This is instruction-only (no install spec, no code files to execute). No downloads or third‑party installs are required by the skill itself.
Credentials
The documentation expects an API key from upload-post.com (Authorization: Apikey). The skill does not request other credentials or unrelated environment variables—proportional to the described functionality.
Persistence & Privilege
always is false and there is no installation that writes persistent config. Model invocation is enabled by default (normal for skills); there are no combined red flags that would make autonomous invocation unusually risky.
Assessment
This skill is a documentation guide for a third‑party service (upload-post.com). Before enabling or using it: verify the service's trustworthiness and privacy/terms; only provide an API key you control and rotate it if needed; avoid uploading sensitive files or secrets through the service; test with a non‑production profile first; limit which social accounts/pages you connect; and be aware the agent (if allowed to run autonomously) could post using that API key — only enable autonomous actions if you trust the service and the skill.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.0.0
Download zip
latestvk97dwhks97kkbn0gjfxmnqd9fh7zxxbr

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

SKILL.md

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)

Files

3 total
Select a file
Select a file to preview.

Comments

Loading comments…