🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Publora Threads

by @sergebulaev

Post or schedule content to Threads using the Publora API. Use this skill when the user wants to publish or schedule a Threads post via Publora.

Versionv2.0.1
Downloads1,153
Installs1
TERMINAL
clawhub install publora-threads

πŸ“– About This Skill


name: publora-threads description: > Post or schedule content to Threads using the Publora API. Use this skill when the user wants to publish or schedule a Threads post via Publora.

Publora β€” Threads

Threads 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: threads-{accountId}

⚠️ Temporary Restriction β€” Thread Nesting Unavailable

Multi-threaded nested posts are temporarily unavailable on Threads due to Threads app reconnection status.

This means: content over 500 characters that would normally auto-split into connected reply chains does not work right now.

What still works normally:

  • Single posts (text, images, videos, carousels)
  • Standalone posts under 500 characters
  • Contact support@publora.com for updates on when thread nesting will be restored.

    Platform Limits (API)

    | Property | API Limit | Notes | |----------|-----------|-------| | Text | 500 characters | 10,000 via text attachment | | Images | Up to 10 Γ— 8 MB | JPEG, PNG; WebP auto-converted | | Video | 5 min / 500 MB | MP4, MOV; 1 per post | | Max links | 5 per post | β€” | | Hashtags | Max 1 per post | More than 1 may be ignored or rejected | | Text only | βœ… Yes | β€” | | Threading (nested) | ⚠️ Temporarily unavailable | See above | | Rate limit | 250 posts/24hr | 1,000 replies/24hr |

    Post a Single Thread

    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: 'Building in public is the best marketing strategy. Here\'s why πŸ‘‡',
        platforms: ['threads-17841412345678']
      })
    });
    

    Schedule a Post

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

    Post with Image

    // Step 1: Create post
    const post = 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: 'Caption for your image post',
        platforms: ['threads-17841412345678']
      })
    }).then(r => r.json());

    // Step 2: Get upload URL const upload = await fetch('https://api.publora.com/api/v1/get-upload-url', { method: 'POST', headers: { 'Content-Type': 'application/json', 'x-publora-key': 'sk_YOUR_KEY' }, body: JSON.stringify({ postGroupId: post.postGroupId, fileName: 'photo.jpg', contentType: 'image/jpeg', type: 'image' }) }).then(r => r.json());

    // Step 3: Upload to S3 await fetch(upload.uploadUrl, { method: 'PUT', headers: { 'Content-Type': 'image/jpeg' }, body: imageBytes });

    Thread Nesting (temporarily unavailable)

    When restored, long content auto-splits into connected posts. Three methods:

    Auto-split (content > 500 chars): Publora splits at paragraphs/sentences/words, adds (1/N) markers.

    Manual --- separator:

    body: JSON.stringify({
      content: 'First post.\n\n---\n\nSecond post.\n\n---\n\nThird post.',
      platforms: ['threads-17841412345678']
    })
    

    Explicit [n/m] markers: Publora detects [1/3], [2/3] format and splits at those points exactly.

    > ⚠️ Currently all nested threading is disabled. Single posts, images, carousels work normally.

    Media in threads: Images/video attach to the first post only. Subsequent posts are text-only.

    Reply Control (platformSettings)

    Control who can reply to posts:

    body: JSON.stringify({
      content: 'Your post here',
      platforms: ['threads-17841412345678'],
      platformSettings: {
        threads: {
          replyControl: 'mentioned_only'  // or: 'accounts_you_follow', 'everyone', '' (default)
        }
      }
    })
    

    | Value | Who can reply | |-------|---------------| | "" (default) | Platform default (anyone) | | "everyone" | Anyone | | "accounts_you_follow" | Only accounts you follow | | "mentioned_only" | Only mentioned accounts |

    Platform Quirks

  • Connected via Meta OAuth β€” same account as Instagram
  • Max 1 hashtag per post β€” more than 1 may be ignored or rejected by Threads
  • 5 links per post max β€” enforced at the API level
  • PNG supported β€” unlike Instagram, Threads accepts PNG images; WebP auto-converted
  • Video carousels limited β€” video support in carousels is limited; use images for carousels
  • Nested threading disabled β€” see the notice at the top of this skill