PowerPost APIv1
PowerPost APIv1
DashboardAPI keysPowerPost API
QuickstartAuthenticationWorkspacesErrors & Rate Limits
Input TypesPost TypesCreditsResearch Modes
Generate CaptionsGenerate ImagesPublish and ScheduleWebhooksMCP Server

Content

Generate ContentGenerations

Media

Upload MediaGenerate ImagesGenerate VideosVideo Captions

Publishing & planning

PostsPublish & SchedulePost ItemsAnalyticsCalendar

Account

Get Credits
Changelog
Concepts

Input Types

Generate content from text, images, or video.

PowerPost supports three input types for content generation. Each produces platform-optimized captions with hashtags.

Text

The simplest option — describe what you want to post about.

{
  "prompt": "We just launched our new mobile app with AI features",
  "post_types": ["instagram-reel", "tiktok-video"],
  "research_mode": "regular"
}

The prompt field is required (at least 3 characters, up to 2,000 tokens). PowerPost researches the topic and generates tailored content for each platform.

Images

Upload images via the Upload Media endpoint, then pass the returned media_ids here. PowerPost analyzes the images and generates captions. Optionally provide text for additional context.

Supported formats: JPEG, PNG, WebP

{
  "media_ids": ["a1b2c3d4-...", "e5f6g7h8-..."],
  "prompt": "Behind the scenes at our product launch event",
  "post_types": ["instagram-feed", "facebook-post"],
  "research_mode": "regular"
}
  • media_ids — Array of uploaded media IDs (up to 10 images)
  • prompt — Optional context to guide the generated content

Use the optional prompt field to steer the AI — for example, highlighting a specific detail in the image or providing context that isn't visually obvious.

Video

Upload a video via the Upload Media endpoint, then pass the returned media_id here. PowerPost analyzes the video using AI video understanding and generates captions based on the content.

Supported formats: MP4, MOV

{
  "media_ids": ["f9g0h1i2-..."],
  "prompt": "Focus on the key insights about productivity",
  "post_types": ["tiktok-video", "youtube-short", "x-post"],
  "research_mode": "deep"
}
  • media_ids — Array with the uploaded video media ID
  • prompt — Optional context to focus the generated content

Video input requires additional credits for video analysis. Credit cost also scales with video duration.

Comparison

Input TypeBest ForProcessing
TextQuick ideas, announcementsImmediate
ImagesProduct photos, event shots, designsImage analysis
VideoPodcasts, presentations, clipsAI video analysis

Post types

Pass post_types to choose platforms and surfaces. Full list and media/caption limits: Post types.

Multiple types on the same platform produce one shared caption for that platform.

Output format

Outputs are keyed by platform — one caption per unique platform derived from your post types:

{
  "tiktok": "🌙 Dark mode activated! POV: your eyes at 2am... #darkmode #tech",
  "instagram": "✨ Dark mode is here!\n\nYour late-night scrolling just got easier... #DarkMode #AppUpdate",
  "youtube": {
    "title": "We Just Shipped Dark Mode",
    "description": "Dark mode is finally here across all our apps... #darkmode #tech"
  }
}

YouTube outputs have a separate title and description since those are distinct fields on the platform. All other platforms output a single string.

Related

  • Upload media
  • Generate content
  • Generate captions guide
  • Credits

Errors & Rate Limits

API error codes, rate limit headers, and how to handle failures.

Post Types

Supported platforms, post types, and media/caption/title limits.

On this page

TextImagesVideoComparisonPost typesOutput formatRelated