🧪 Skills

Publora Mastodon

Post or schedule content to Mastodon using the Publora API. Use this skill when the user wants to publish or schedule Mastodon posts via Publora.

v1.1.0
❤️ 0
⬇️ 183
👁 1
Share

Description


name: publora-mastodon description: > Post or schedule content to Mastodon using the Publora API. Use this skill when the user wants to publish or schedule Mastodon posts via Publora.

Publora — Mastodon

Mastodon / Fediverse platform skill for the Publora API. For auth, core scheduling, media upload, and workspace/webhook docs, see the publora core skill.

Base URL: https://api.publora.com/api/v1
Header: x-publora-key: sk_YOUR_KEY
Platform ID format: mastodon-{accountId}

Note: Publora currently posts to the mastodon.social instance. Other instances are not supported at this time.

Platform Limits (API)

Property Limit Notes
Text (toot) 500 characters Instance-configurable; some allow 5,000+
Images Up to 4 × 16 MB JPEG, PNG, GIF, WebP
Video ~99 MB MP4, MOV, WebM; no duration limit, capped by size
Text only ✅ Yes
Rate limit 30 media uploads/30 min 300 requests/5 min per account

Post a Toot (text)

await fetch('https://api.publora.com/api/v1/create-post', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json', 'x-publora-key': 'sk_YOUR_KEY' },
  body: JSON.stringify({
    content: 'Hello Fediverse! Building open, decentralized tools for everyone. #fediverse #opensource',
    platforms: ['mastodon-123456789']
  })
});

Schedule a Toot

body: JSON.stringify({
  content: 'Your Mastodon post here',
  platforms: ['mastodon-123456789'],
  scheduledTime: '2026-03-20T10:00:00.000Z'
})

Post with Image

import requests

HEADERS = { 'Content-Type': 'application/json', 'x-publora-key': 'sk_YOUR_KEY' }

# Step 1: Create post
post = requests.post('https://api.publora.com/api/v1/create-post', headers=HEADERS, json={
    'content': 'Here is a photo from our event 📷 #community',
    'platforms': ['mastodon-123456789']
}).json()

# Step 2: Get upload URL (up to 16 MB, JPEG/PNG/GIF/WebP)
upload = requests.post('https://api.publora.com/api/v1/get-upload-url', headers=HEADERS, json={
    'postGroupId': post['postGroupId'],
    'fileName': 'photo.jpg',
    'contentType': 'image/jpeg',
    'type': 'image'
}).json()

# Step 3: Upload
with open('photo.jpg', 'rb') as f:
    requests.put(upload['uploadUrl'], headers={'Content-Type': 'image/jpeg'}, data=f)

Platform Quirks

  • mastodon.social only — Publora currently supports this instance
  • Generous image limit: 16 MB per image, much more than most platforms
  • Video capped by size (~99 MB default) — no explicit duration limit
  • WebP supported — unlike Instagram, Mastodon accepts WebP natively
  • Federation: Posts federate automatically to the broader Fediverse
  • Hashtags: Important for discoverability on Mastodon — use them in posts
  • Content warnings: Not directly supported via Publora API yet; use text conventions if needed

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs