Write in your voice

Send a prompt and Postel writes the post in your own voice and saves it as a draft.

POST /v1/posts/generate uses your workspace's voice profile to turn a prompt, like an idea, rough notes or the gist of an article, into a post that sounds like you. It saves the result as a draft, which you can then schedule or publish like any other post.

FieldTypeDescription
promptstringRequired. What the post should be about. 1 to 5,000 characters.
platformstringRequired. x, linkedin, bluesky or mastodon.
threadbooleanWrite a thread instead of one post. X only.
voiceProfileIdstringWrite in a specific voice profile from your workspace. Leave it out to write in your own voice.

It answers 201 with the new draft, in the same shape as every post.

curl https://www.postel.app/api/v1/posts/generate \
  -H "Authorization: Bearer $POSTEL_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: weekly-recap-2026-w45" \
  -d '{
    "platform": "linkedin",
    "prompt": "This week we cut onboarding from 9 steps to 4. Signups that finish onboarding went from 31% to 58%."
  }'

Timing

Writing takes 5 to 30 seconds, and the request stays open until the draft is saved. Set your HTTP client's timeout to at least 60 seconds.

Postel writes up to 3 posts at once per workspace through the API. A fourth request while three are running gets 429 rate_limited with Retry-After: 30. See Rate limits.

Credits

Each post uses 1 AI credit from the workspace. Writing works on every plan, including free.

When the credits run out, Postel keeps writing in Lite mode up to a daily limit. After that, requests get 402 out_of_credits, and error says when writing works again. If writing fails, the response is 502 generate_failed and nothing is charged.

A workspace that uses its own AI provider key in Postel spends no credits.

Retries

Send an Idempotency-Key. If your request times out and you retry with the same key, you get the first draft back instead of a second draft and a second credit. Use a key that is unique per post you want, such as the date for a daily recap. A constant key would return the same draft for 24 hours.

Voice profiles

A workspace can have more than one voice profile, for example one per founder. The REST API doesn't list them. To find a profile's id, use the get-x-profiles tool of the MCP server.

On this page