Skip to content

Content Generation

This guide explains how AMP generates content and how to influence output quality.

Generation Pipeline

Content generation happens in two pipeline stages:

graph LR
    S[Strategy Stage] --> C[Content Stage]
    S --> |Calendar| C
    S --> |Topics| C
    S --> |Formats| C
    C --> |Copy| Output
    C --> |Visuals| Output

Strategy Stage

The strategy stage analyzes your mission and produces:

  • Content pillars — Themes to cover
  • Editorial calendar — What to post when
  • Format mix — Types of content (posts, threads, etc.)
  • Topic distribution — How to balance topics

Content Stage

For each calendar slot, the content stage:

  1. Selects appropriate topic and format
  2. Generates copy based on brand context
  3. Creates or selects visuals
  4. Optimizes for target platform
  5. Adds hashtags and CTAs

Influencing Content Quality

Brand Context

The most important factor in content quality is your brand context:

Element Impact on Content
voice.tone Overall feeling of copy
voice.writing_style Sentence structure, word choice
examples.good_posts Concrete patterns to follow
examples.bad_posts Patterns to avoid
content_guidelines.topics Subject matter coverage

Mission Objectives

Clear objectives produce focused content:

// Vague - produces generic content
{
  "objectives": ["Increase engagement"]
}

// Specific - produces targeted content
{
  "objectives": [
    "Educate developers about API versioning strategies",
    "Share real-world examples from our engineering blog",
    "Drive traffic to our migration guide"
  ]
}

Constraints

Constraints guide the AI's decisions:

{
  "constraints": {
    "tone": "authoritative but accessible",
    "content_types": ["thread", "article"],
    "include_code_snippets": true,
    "link_to": "https://docs.yourcompany.com"
  }
}

Content Types

Posts

Single pieces of content:

{
  "type": "post",
  "copy": {
    "primary": "Your main message here...",
    "hashtags": ["#DevTools"],
    "cta": "Learn more →"
  }
}

Threads

Multi-part connected content (Twitter, Threads):

{
  "type": "thread",
  "copy": {
    "thread_parts": [
      "1/ Opening hook that grabs attention...",
      "2/ First main point with supporting detail...",
      "3/ Second point building on the first...",
      "4/ Conclusion with clear CTA"
    ]
  }
}

Carousels

Multi-image posts (Instagram, LinkedIn):

{
  "type": "carousel",
  "copy": {
    "primary": "Caption for the carousel..."
  },
  "visuals": [
    {"type": "carousel_slide", "position": 1},
    {"type": "carousel_slide", "position": 2},
    {"type": "carousel_slide", "position": 3}
  ]
}

Articles

Long-form content (LinkedIn, Blog):

{
  "type": "article",
  "copy": {
    "headline": "Article Title",
    "body": "Full article content...",
    "cta": "Read the full post on our blog"
  }
}

Platform Optimization

AMP automatically optimizes for each platform:

Twitter

  • Concise, punchy copy
  • 2-3 hashtags
  • Thread format for longer ideas
  • Links in final tweet

LinkedIn

  • Professional tone
  • Longer paragraphs acceptable
  • 3-5 hashtags at end
  • Clear business value

Instagram

  • Visual-first approach
  • Emoji-friendly
  • Hashtags in first comment (optional)
  • Strong CTAs

Visual Generation

Automatic Visuals

When missions require images, AMP generates them:

{
  "constraints": {
    "generate_images": true,
    "image_style": "match brand visual identity"
  }
}

Image Types

Type Use Case
hero Main post image
carousel_slide Individual carousel frames
thumbnail Video thumbnail
infographic Data visualization

Visual Guidelines

Control image generation via brand context:

{
  "visual_identity": {
    "image_style": "modern, clean, tech-focused",
    "color_palette": ["#7c3aed", "#f59e0b"],
    "avoid_in_images": ["stock photo people", "cheesy graphics"]
  }
}

Content Variations

A/B Testing

Generate variations to test:

{
  "constraints": {
    "generate_variations": true,
    "variation_count": 2
  }
}
{
  "copy": {
    "primary": "Original copy...",
    "variations": [
      {
        "id": "var_a",
        "primary": "Alternative copy A...",
        "test_weight": 0.5
      }
    ]
  }
}

Platform Variations

Same content adapted for different platforms:

{
  "content_id": "cnt_xxx",
  "platform_versions": {
    "twitter": {
      "copy": "Concise Twitter version..."
    },
    "linkedin": {
      "copy": "More detailed LinkedIn version with professional tone..."
    }
  }
}

Quality Control

Confidence Scores

Each piece of content includes a confidence score:

{
  "metadata": {
    "confidence_score": 0.92
  }
}
Score Quality
0.9+ High confidence, likely good
0.7-0.9 Moderate confidence, review recommended
< 0.7 Low confidence, review required

Review Workflow

Enable manual review for quality control:

{
  "constraints": {
    "require_approval": true,
    "auto_approve_threshold": 0.9
  }
}

Rejection and Regeneration

When content doesn't meet standards:

curl -X POST https://api.amp.dev/v1/content/{id}/reject \
  -H "Authorization: Bearer $AMP_API_KEY" \
  -d '{
    "reason": "Too promotional",
    "feedback": "Focus more on educational value, less on features",
    "regenerate": true
  }'

The feedback is used to generate an improved version.

Troubleshooting

Content is too generic

Cause: Vague objectives or limited brand context

Fix: - Add specific objectives - Include examples.good_posts in brand context - Increase writing_style detail

Content doesn't match brand voice

Cause: Brand context needs refinement

Fix: - Add more examples.good_posts - Specify examples.bad_posts - Detail voice.personality traits

Content is too long/short

Cause: Platform optimization or constraints

Fix: - Adjust constraints.max_length - Specify preferred content_types

Missing relevant topics

Cause: Topics not in brand context

Fix: - Add topics to content_guidelines.topics - Include in mission objectives