Instructions for the next API call in the workflow.
{ "compositionGuidance": [ "Lead with a personal story or metric.", "End with an open question." ], "examplePatterns": [ { "pattern": "Hook -> Context -> CTA", "description": "Surprising metric, 1-2 sentences, open question" } ], "intentUrl": "https://x.com/intent/tweet?text=...", "nextStep": "Write your draft and call with step: score"}
{ "totalChecks": 11, "passedCount": 9, "passed": false, "topSuggestion": "Add a specific detail or metric to the first line.", "checklist": [ { "factor": "No external links in body", "passed": true }, { "factor": "No hashtags", "passed": true }, { "factor": "No excessive capitalization", "passed": true }, { "factor": "Conversation-driving CTA", "passed": true }, { "factor": "Optimal length (50-280 characters)", "passed": true }, { "factor": "Media attached", "passed": true }, { "factor": "No excessive punctuation", "passed": true }, { "factor": "No emojis", "passed": true }, { "factor": "No em dashes or double dashes", "passed": true }, { "factor": "Sufficient substance", "passed": false, "suggestion": "Add a specific detail or metric" }, { "factor": "Link-in-reply strategy", "passed": false, "suggestion": "Move the link to a reply instead" } ], "nextStep": "Revise your draft and score again"}
{ "error": "invalid_input", "message": "step is required. Must be \"compose\", \"refine\", or \"score\"." }
Invalid JSON returns invalid_json. Valid JSON with a missing or unsupported step, missing topic for compose, missing goal, tone, or topic for refine, or missing draft for score returns invalid_input.
{ "error": "unauthenticated" }
Missing or invalid API key.
{ "error": "rate_limit_exceeded", "message": "Too many requests. Try again later.", "retryAfter": 60 }
Too many requests. Wait for the Retry-After header before retrying.
Next steps:Save Draft to save a composed tweet for later, or Analyze Style to match another account’s voice.