Social Post Generator

Write social posts for X, LinkedIn or Instagram, with hashtags and a thread version for X.

Pay by wallet (x402) AI-generated social-post-generate

Example

Example answer
{
  "hashtags": [
    "#QualityAssurance",
    "#SoftwareTesting",
    "#DevOps"
  ],
  "platform": "twitter",
  "post_text": "Testing is essential to delivering quality software. Our commitment to rigorous testing ensures reliability, security, and optimal performance for our users.",
  "thread_version": null,
  "character_count": 279,
  "engagement_hooks": [
    "Resonates with developers and QA professionals",
    "Demonstrates commitment to quality standards",
    "Relevant to current industry best practices"
  ]
}

Inputs

FieldTypeRequiredWhat it is
urlstringNo—
tonestringNo—
contentstringNo—
platformstringNo—
hashtag_countintegerNo—

Output fields

How reliably each field appears in a successful answer.

FieldTypeAppears
hashtagsarrayAlways (present in every successful answer)
post_textstringAlways (present in every successful answer)
thread_versionarrayAlways (present in every successful answer)
character_countintegerAlways (present in every successful answer)

How to call it

The same tool through each route. MCP clients reach it through Strale’s server at https://api.strale.io/mcp; the call below is what the agent sends.

# Needs an API key. max_price_cents caps what this call may cost.
curl -X POST https://api.strale.io/v1/do \
  -H "Authorization: Bearer $STRALE_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "capability_slug": "social-post-generate",
    "inputs": {
      "content": "artificial intelligence trends 2026",
      "platform": "twitter"
    },
    "max_price_cents": 5
  }'

Limitations

  • Advertising compliance is not verified

    Generated posts follow platform conventions but cannot verify compliance with platform-specific advertising rules

    What to do instead: Review generated content against the target platform's advertising and content policies before publishing

  • Pages are limited to 16 MiB of HTML

    Pages with more than 16 MiB of HTML are refused with a caller_input error naming the input field. The call is not charged, and the page is not retried through another fetch or rendering route.

Related tools