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:
- Selects appropriate topic and format
- Generates copy based on brand context
- Creates or selects visuals
- Optimizes for target platform
- 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:
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:
{
"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:
| 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:
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