AI Content Calendar Agent Skill — AI Pass API
Overview
What this skill does
- The AI Pass "AI Content Calendar" skill (app slug: content-calendar) generates a structured 30-day social media content calendar for any brand. Each day includes a theme, a post idea, and a ready-to-use caption (optionally with hashtags and asset suggestions).
Use cases for AI agents
- Marketing assistants: automatically create month-long posting schedules for clients or campaigns.
- Social media schedulers: produce captions and ideas for direct import to scheduling tools.
- Creative brainstorming: generate themed post variations and A/B caption options.
- Multi-platform adaptors: create calendars tailored to specific platforms (Instagram, Twitter/X, LinkedIn, Facebook, TikTok).
Skill File (YAML)
name: content-calendar
description: Generates a 30-day social media content calendar with post ideas and captions
version: "1.0"
auth:
type: bearer
token_env: AIPASS_API_KEY
endpoints:
- name: generate
method: POST
url: https://aipass.one/apikey/v1/chat/completions
headers:
Authorization: "Bearer $AIPASS_API_KEY"
Content-Type: application/json
(ALWAYS use $AIPASS_API_KEY — never a real key)
Example Usage
Curl example
- Uses $AIPASS_API_KEY and includes X-Client-Id: YOUR_CLIENT_ID header.
curl:
export AIPASS_API_KEY="$AIPASS_API_KEY" # do NOT set a real key here in docs
curl -s -X POST "https://aipass.one/apikey/v1/chat/completions" \
-H "Authorization: Bearer $AIPASS_API_KEY" \
-H "Content-Type: application/json" \
-H "X-Client-Id: YOUR_CLIENT_ID" \
-d '{
"model": "aipass-4o",
"temperature": 0.7,
"messages": [
{"role":"system","content":"You are an assistant that generates structured 30-day social media content calendars. Output must be valid JSON with a top-level key content_calendar containing an array of 30 day objects."},
{"role":"user","content":"Generate a 30-day content calendar for the brand: {brand_name}. Platforms: {platforms}. Tone: {tone}. Start date: {start_date}. Provide for each day: day_number, date (YYYY-MM-DD), theme, post_idea, caption, suggested_hashtags, recommended_assets."}
]
}'
Recommended request payload notes
- Replace {brand_name}, {platforms} (comma-separated), {tone} (e.g., friendly, professional), and {start_date} (YYYY-MM-DD) with actual values.
- Use "model" set to one of the available AI Pass models (example: "aipass-4o").
Example expected response structure (abbreviated)
{
"content_calendar": [
{
"day_number": 1,
"date": "2026-04-01",
"theme": "Welcome / Brand story",
"post_idea": "Introduce the brand's mission with behind-the-scenes photo of the team.",
"caption": "Welcome to Acme Coffee! Our mission is to ... #Welcome #AcmeCoffee",
"suggested_hashtags": ["#Welcome","#AcmeCoffee","#Sustainability"],
"recommended_assets": ["team_photo.jpg","logo_overlay.png"]
},
...
]
}
Python example
- Uses requests; replace placeholders before running.
import os
import requests
API_URL = "https://aipass.one/apikey/v1/chat/completions"
API_KEY = os.environ.get("AIPASS_API_KEY") # set this in your environment
HEADERS = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json",
"X-Client-Id": "YOUR_CLIENT_ID"
}
payload = {
"model": "aipass-4o",
"temperature": 0.7,
"messages": [
{"role":"system","content":"You are an assistant that generates structured 30-day social media content calendars. Output must be valid JSON with a top-level key content_calendar containing an array of 30 day objects."},
{"role":"user","content":"Generate a 30-day content calendar for the brand: Acme Coffee. Platforms: Instagram, Twitter. Tone: friendly. Start date: 2026-04-01. Provide for each day: day_number, date (YYYY-MM-DD), theme, post_idea, caption, suggested_hashtags, recommended_assets."}
]
}
resp = requests.post(API_URL, headers=HEADERS, json=payload)
resp.raise_for_status()
data = resp.json()
# The generated calendar should be at data["content_calendar"] or in the model's message content as JSON
print(data)
Parsing tips for agents
- Prefer machine-readable JSON output by requesting the assistant to "output valid JSON with a top-level key content_calendar".
- Validate dates and the array length (should be 30). If the response is plain text, request a JSON-only reformat.
Available Models
- aipass-4o — Latest general-purpose model, best for high-quality creative outputs (captions, themes, tone control).
- aipass-4 — High-fidelity generation for long-form and nuanced brand voice work.
- aipass-3.5-turbo — Cost-effective and fast model for straightforward calendar generation and iteration.
- aipass-instruct — Optimized for instruction-following and strict structured outputs (useful when you require exact JSON formatting).
(Choose a model based on quality vs. cost/latency needs.)
Get Your API Key
- Visit the developer dashboard: https://aipass.one/panel/developer.html
- Open the "API Keys" section to create and manage keys.
- Always store keys securely and reference them via the AIPASS_API_KEY environment variable in examples (never embed real keys in code).
Related Apps
- App page: https://aipass.one/apps/content-calendar
Notes & best practices
- ALWAYS use $AIPASS_API_KEY in docs and examples — never include real API keys.
- Use YOUR_CLIENT_ID for any client ID references.
- Ask the model to output strictly machine-readable JSON if downstream agents will parse the calendar automatically.
Skill File
schema_version: "1.0"
id: "ai-pass.content-calendar"
name: "AI Pass - 30-Day Social Media Content Calendar"
description: "Generates a 30-day social media content calendar with post ideas and captions."
author: "auto-generated"
auth:
type: "env"
env_var: "AIPASS_API_KEY"
header: "Authorization"
header_value_template: "Bearer $AIPASS_API_KEY"
base:
url: "https://aipass.one"
timeout_seconds: 60
endpoints:
create_content_calendar:
description: "Call AI Pass chat completions to generate a 30-day social media content calendar with post ideas and captions."
method: POST
path: "/apikey/v1/chat/completions"
headers:
Content-Type: "application/json"
Authorization: "Bearer $AIPASS_API_KEY"
request:
content_type: application/json
body:
model: "{{model}}"
temperature: "{{temperature}}"
max_tokens: "{{max_tokens}}"
top_p: "{{top_p}}"
messages:
- role: system
content: |
You are a helpful assistant specialized in creating social media content calendars. Produce clear, actionable post ideas and captions for each day, tailored to the user's brand, audience, tone, and preferred platforms. Format output as JSON with an array "days" containing 30 entries. Each entry should include:
- day (1-30)
- date (optional, if start_date provided)
- platforms (list)
- post_idea (short title)
- caption (complete caption appropriate to the platform(s))
- hashtags (list, up to 10)
- assets (list of suggested image/video/graphic ideas)
- call_to_action (short)
Provide any scheduling notes and suggested posting times when relevant.
- role: user
content: |
Generate a 30-day social media content calendar with post ideas and captions.
Brand: "{{brand_name}}"
Audience: "{{audience}}"
Tone: "{{tone}}"
Platforms: "{{platforms}}"
Start date (optional, YYYY-MM-DD): "{{start_date}}"
Goals: "{{goals}}"
Constraints/Do not do: "{{constraints}}"
Extra instructions: "{{extra_instructions}}"
parameters:
model:
type: string
description: "Model to use. Default should be compatible with AI Pass (if unknown, use a compact GPT-4o variant)."
default: "gpt-4o-mini"
temperature:
type: number
description: "Sampling temperature."
default: 0.7
max_tokens:
type: integer
description: "Maximum tokens for the response."
default: 1500
top_p:
type: number
description: "Nucleus sampling."
default: 0.95
brand_name:
type: string
description: "Name of the brand or account."
default: "Your Brand"
audience:
type: string
description: "Target audience description."
default: "General followers interested in the brand"
tone:
type: string
description: "Desired tone for captions (e.g., friendly, professional, witty)."
default: "friendly"
platforms:
type: string
description: "Comma-separated list of target platforms (e.g., Instagram, X/Twitter, LinkedIn, Facebook, TikTok)."
default: "Instagram, Facebook"
start_date:
type: string
description: "Optional start date in YYYY-MM-DD format to populate actual dates for each day."
default: ""
goals:
type: string
description: "Primary goals (e.g., awareness, engagement, sales, lead-gen)."
default: "engagement"
constraints:
type: string
description: "Any content constraints or prohibited topics."
default: ""
extra_instructions:
type: string
description: "Any extra guidance for the calendar."
default: ""
response:
status_codes:
200:
description: "Successful content calendar generation"
content_type: application/json
mapping:
output_path: "choices[0].message.content"
parse_as: "json_or_text"
default:
description: "Unexpected response"
content_type: application/json
mapping:
output_path: "error"
examples:
- name: "Basic 30-day calendar for small bakery"
request:
model: "gpt-4o-mini"
temperature: 0.7
max_tokens: 1500
top_p: 0.95
brand_name: "Sunrise Bakery"
audience: "Local customers who love fresh-baked goods, home bakers, families"
tone: "warm, friendly"
platforms: "Instagram, Facebook"
start_date: "2026-04-01"
goals: "increase foot traffic and local awareness"
constraints: "No dietary medical claims; avoid controversial topics"
extra_instructions: "Include weekend promotional ideas and community event tie-ins"
notes:
- "Authentication uses the $AIPASS_API_KEY environment variable. The Authorization header is set to 'Bearer $AIPASS_API_KEY'. Ensure the environment variable is available to the agent runtime."
- "The endpoint returns a standard chat-completion response. The skill extracts choices[0].message.content. If the API returns plain text, the agent should attempt to parse JSON from the content per the system instruction; otherwise return the raw text."
- "Adjust model and token settings as needed for length/detail."
Download Skill File