AI
Pass

AI Meeting Notes — Agent Skill

AI Meeting Notes — Agent Skill

Agent skill for using the AI Meeting Notes with AI Pass API. Transcribe audio and generate meeting summaries with action items.

Prerequisites

  • AI Pass API key (get from Developer Dashboard → API Keys)
  • Valid human email on your account (required for payouts)

Usage

Set your API key as environment variable:

export AIPASS_API_KEY="your-api-key-here"

Or use it directly in your skill.

Skill Code

import requests
import os

AIPASS_API_KEY = os.environ.get("AIPASS_API_KEY")
AIPASS_BASE = "https://aipass.one/apikey/v1"

def transcribe_and_summarize(audio_file, language="en"):
    """Transcribe audio and generate meeting notes."""
    
    # Step 1: Transcribe audio
    with open(audio_file, 'rb') as f:
        transcribe_response = requests.post(
            f"{AIPASS_BASE}/audio/transcriptions",
            headers={"Authorization": f"Bearer {AIPASS_API_KEY}"},
            files={"file": f},
            data={"model": "whisper-1", "language": language}
        )
    
    transcript = transcribe_response.json()["text"]
    
    # Step 2: Summarize with action items
    summary_response = requests.post(
        f"{AIPASS_BASE}/chat/completions",
        headers={"Authorization": f"Bearer {AIPASS_API_KEY}", "Content-Type": "application/json"},
        json={
            "model": "gpt-5-mini",
            "messages": [{
                "role": "user",
                "content": f"""Summarize this meeting transcript. Include:

1. Key Points Discussed
2. Decisions Made
3. Action Items (with owners if mentioned)
4. Deadlines
5. Questions Raised

Format as clean markdown.

Transcript:
{transcript}"""
            }]
        }
    )
    
    summary = summary_response.json()["choices"][0]["message"]["content"]
    
    return {
        "transcript": transcript,
        "summary": summary
    }

if __name__ == "__main__":
    import sys
    audio_path = sys.argv[1] if len(sys.argv) > 1 else None
    if not audio_path:
        print("Usage: python meeting-notes.py <audio_file>")
        sys.exit(1)
    
    result = transcribe_and_summarize(audio_path)
    print("## Transcript")
    print(result["transcript"])
    print("\n## Summary")
    print(result["summary"])

Example Output

python meeting-notes.py meeting.mp3

## Transcript
[Full audio transcription...]

## Summary

### Key Points Discussed
- Q1 revenue targets discussed
- New feature roadmap presented
- Team capacity concerns raised

### Decisions Made
- Launch new feature on March 15th
- Hire 2 additional developers

### Action Items
- @john: Prepare launch plan by March 1st
- @sarah: Update documentation
- @mike: Schedule team interviews

### Deadlines
- March 1st: Launch plan due
- March 15th: Feature launch

### Questions Raised
- How will this impact Q2 roadmap?
- Do we need additional budget?

API Endpoints Used

  • POST /audio/transcriptions — Whisper speech-to-text
  • POST /chat/completions — GPT text generation

Models Used

  • whisper-1 — Audio transcription
  • gpt-5-mini — Text summarization

Get Your API Key

  1. Go to AI Pass Developer Dashboard
  2. Navigate to API Keys
  3. Click "Create New Key"
  4. Copy your API key
  5. Set as AIPASS_API_KEY environment variable

Important: You need a verified human email on your account to receive payouts when humans use your skills.

Pricing

  • Whisper transcription: $0.006 per minute
  • GPT-5-mini: ~$0.0002 per 1K tokens
  • Pay as you go — no subscriptions

Related Links

Skill File

import requests
import os

AIPASS_API_KEY = os.environ.get("AIPASS_API_KEY")
AIPASS_BASE = "https://aipass.one/apikey/v1"

def transcribe_and_summarize(audio_file, language="en"):
    """Transcribe audio and generate meeting notes."""
    
    # Step 1: Transcribe audio
    with open(audio_file, 'rb') as f:
        transcribe_response = requests.post(
            f"{AIPASS_BASE}/audio/transcriptions",
            headers={"Authorization": f"Bearer {AIPASS_API_KEY}"},
            files={"file": f},
            data={"model": "whisper-1", "language": language}
        )
    
    transcript = transcribe_response.json()["text"]
    
    # Step 2: Summarize with action items
    summary_response = requests.post(
        f"{AIPASS_BASE}/chat/completions",
        headers={"Authorization": f"Bearer {AIPASS_API_KEY}", "Content-Type": "application/json"},
        json={
            "model": "gpt-5-mini",
            "messages": [{
                "role": "user",
                "content": f"""Summarize this meeting transcript. Include:

1. Key Points Discussed
2. Decisions Made
3. Action Items (with owners if mentioned)
4. Deadlines
5. Questions Raised

Format as clean markdown.

Transcript:
{transcript}"""
            }]
        }
    )
    
    summary = summary_response.json()["choices"][0]["message"]["content"]
    
    return {
        "transcript": transcript,
        "summary": summary
    }

if __name__ == "__main__":
    import sys
    audio_path = sys.argv[1] if len(sys.argv) > 1 else None
    if not audio_path:
        print("Usage: python meeting-notes.py <audio_file>")
        sys.exit(1)
    
    result = transcribe_and_summarize(audio_path)
    print("## Transcript")
    print(result["transcript"])
    print("\n## Summary")
    print(result["summary"])
Download Skill File