Write my take

Your own post in your voice from a viral X post or a format, saved as a draft per network (the Viral posts page's Use as template). Works on every plan. One AI credit per network; a network whose draft fails costs nothing. Takes 10 to 40 seconds, so give the request a 60-second timeout. Videos aren't supported yet (422 not_supported). Shares the 3-at-once writing slots with POST /v1/posts/generate. Send an Idempotency-Key only when it is unique per run.

Try it

POST
/v1/viral/takes

Authorization

bearerAuth
AuthorizationBearer <token>

A Postel API key, Authorization: Bearer pstl_…. Create one in Postel under Settings → API & MCP; it acts for the workspace it was made in.

In: header

Headers

Idempotency-Key?string

Makes retries safe. The first request with a key runs; the same key from the same workspace within 24 hours gets that first response back (with Idempotent-Replayed: true) instead of creating again. Use a value unique to the run, up to 255 characters. Only successes are remembered. A key still running answers 409 request_in_progress; a key reused with a different body answers 422 idempotency_key_reused.

Lengthlength <= 255

Request body

application/json

viralPostId?string

An X post from GET /v1/viral/posts to use as the template

Length1 <= length
format?string

Or a format from GET /v1/viral/formats

Length1 <= length
answer?string

Your answer to the format's question (required with a format, optional with a post): the facts the post is about

Default""
Lengthlength <= 2000
platforms?array<>

One draft per network

Default["linkedin"]
Items1 <= items <= 2

Responses

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json