Suggest Ad Content
Generate AI-suggested headlines and descriptions based on campaign keywords.
Analyzes campaign keywords and generates optimized ad content following creative guidelines:
- 15 headlines across 3 categories (What It Is, Benefits, Pain/Proof/CTA)
- 4 descriptions with value props and CTAs
- All validated for character limits
Parameters:
- campaign_id: The campaign to analyze (REQUIRED)
- business_description: Optional context about the business
- key_benefits: Optional list of benefits (e.g., [“fast setup”, “no dashboard”])
- proof_points: Optional proof points (e.g., [
{"number": "2000+", "metric": "campaigns"}]) - pain_points: Optional pain points (e.g., [“manual ads”, “complex UI”])
- customer_id: Optional
Returns:
- suggested_headlines: 15 headlines ready to use
- suggested_descriptions: 4 descriptions ready to use
- headline_categories: Headlines organized by category
- keyword_themes: Top themes from campaign keywords
Use this when:
- User wants fresh ad copy ideas
- User asks “what should my headlines be?”
- Starting a new A/B test
- Refreshing stale ad content
Execution time: 3-5 seconds
Example: User: “Suggest some better headlines for my campaign” Agent:
- Uses suggest_ad_content to generate ideas
- Shows suggestions organized by category
- User picks favorites
- Uses update_ad_headlines to apply selected headlines
Authorizations
API key from https://adspirer.ai/keys. Prefix sk_live_. Treat as a secret — never commit.
Headers
Client-generated UUID to make writes idempotent. Strongly recommended for write tools. A repeat call with the same key returns the cached result instead of re-executing. Example: 550e8400-e29b-41d4-a716-446655440000
Body
All tool arguments are wrapped in an arguments object. The fields accepted inside arguments are listed below — required fields are marked with a red asterisk.
Input schema for AI-powered ad content suggestions
Response
Tool executed successfully. data.text carries the human-readable result (markdown-friendly). data.quota shows your current usage against the plan limit. data.structured appears when the tool emits machine-parseable structured content. data.content appears for tools that return non-text blocks (images, resources).
Returned on HTTP 200. data.text is the primary human-readable output. data.quota is always present for billable calls. data.structured is set only when the tool emits machine-parseable structured content. data.content is set only when the tool emits non-text content blocks.

