Your Threads posts, finally with style.

Write in Markdown, publish with formatting, and learn what works. From the web, the API or your CI.

See how it works

Before and after

The same post. First as you write it, then as it looks on Threads.

What you write

yourhandle

Shipped v2.0 today. **Faster** builds, **smaller** bundles. Full changelog in the attachment.

What your readers see

yourhandle

Shipped v2.0 today. 𝗙𝗮𝘀𝘁𝗲𝗿 builds, 𝘀𝗺𝗮𝗹𝗹𝗲𝗿 bundles. Full changelog in the attachment.

Text attachment

Changelog Faster builds, smaller bundles.

The post text only takes plain characters, so Tinta swaps your Markdown for styled Unicode letters. The attachment takes real formatting, and Tinta sends it as such.

What Tinta does

  • Formatting that sticks

    Write in Markdown. Styles show up in the post text and as real formatting in the text attachment.

    Coming soon
  • An API for developers

    Create an API key and publish with a single request. Keep your drafts as files in git.

    Coming soon
  • Scheduling

    Line up posts and let Tinta publish them at the time you choose.

    Coming soon
  • Several accounts, one plan each

    Switch between accounts like on Instagram. Every Threads account has its own plan, and you get a single invoice with one line per account.

    Coming soon
  • Metrics with memory

    Tinta keeps the history: the life curve of every post, a heat map of the best hours, real engagement, your top fans, and formatted posts against plain text.

    Coming soon
  • Your own page

    A public page at tinta.re/@username for your posts and links.

    Coming soon

Announce a release from your CI

Push a tag and let your pipeline post about it. Keep the API key in a secret, send one request, done.

Publish with curl

curl -X POST https://api.tinta.re/v1/posts \
  -H "Authorization: Bearer $TINTA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text": "Shipped v2.0 today. **Faster** builds.", "attachment": "# Changelog\n**Faster** builds.", "schedule_at": "2026-12-01T09:00:00Z"}'

GitHub Actions example

name: Announce release
on:
  push:
    tags: ['v*']
jobs:
  announce:
    runs-on: ubuntu-latest
    steps:
      - run: |
          curl -X POST https://api.tinta.re/v1/posts \
            -H "Authorization: Bearer ${{ secrets.TINTA_API_KEY }}" \
            -H "Content-Type: application/json" \
            -d "{\"text\": \"${{ github.ref_name }} is out.\"}"
Coming soon

Managing accounts for clients?

Reports under your own brand, link-level ROI and a single inbox for every account.

Tinta for agencies Coming soon

We do not know who visits your profile, and nobody does. Tinta only promises what Threads actually gives.