AI
Pass

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

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