Publora Twitter
by @sergebulaev
Post or schedule content to X (Twitter) using the Publora API. Use this skill when the user wants to tweet, schedule a tweet, or post a thread to X/Twitter v...
clawhub install publora-twitterπ About This Skill
name: publora-twitter description: > Post or schedule content to X (Twitter) using the Publora API. Use this skill when the user wants to tweet, schedule a tweet, or post a thread to X/Twitter via Publora.
Publora β X / Twitter
X/Twitter 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: twitter-{userId}
> β οΈ Twitter/X requires Pro or Premium plan β excluded from the Starter plan.
Platform Limits (API)
> β οΈ API limits differ from native app. Design against these.
| Property | API Limit | Notes |
|----------|-----------|-------|
| Text | 280 characters | 25,000 with Premium account |
| Images | Up to 4 Γ 5 MB | All formats auto-converted to PNG (max 1000px width) |
| Video | 2 min (120s) / 512 MB | β οΈ Native allows 2:20 β API is stricter |
| Video format | MP4, MOV | β |
| Threading | β
Auto-split with (1/N) or manual --- | See Threading section |
| Text only | β
Yes | β |
Common errors:
This user is not allowed to post a video longer than 2 minutes β trim video to under 120sCharacter Counting
X has specific rules Publora handles automatically:
Post a Tweet
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: 'Just shipped a new feature! π #buildinpublic',
platforms: ['twitter-123456789']
})
});
Threading
Auto-split (content > 280 chars)
Publora automatically splits at paragraph/sentence/word breaks and adds(1/N) markers (e.g., (1/3), (2/3)). 10 characters reserved per tweet for the marker.Manual split with ---
Use --- on its own line to define exact split points:body: JSON.stringify({
content: '1/ Everything I learned building in public this year.\n\n---\n\n2/ First lesson: ship early. Don\'t wait for perfect.\n\n---\n\n3/ Second lesson: your audience is your best product team.',
platforms: ['twitter-123456789']
})
Explicit markers [n/m]
Use [1/3], [2/3] etc. β Publora detects these and splits at those points exactly (preserves as written).Media in threads
Schedule a Tweet
body: JSON.stringify({
content: 'Scheduled announcement: our product launches tomorrow! π',
platforms: ['twitter-123456789'],
scheduledTime: '2026-03-20T14:00:00.000Z'
})