OpenAI (GPT)
Get a key
Section titled “Get a key”- platform.openai.com → API keys.
- Create a new secret key.
- Paste into Workforce0.
OpenAI has no free tier; $5 minimum credit to start.
Set the key
Section titled “Set the key”OPENAI_API_KEY=sk-...Or: Settings → AI providers → OpenAI → Paste key.
Models used by default
Section titled “Models used by default”| Role | Default |
|---|---|
| Planner | gpt-4o |
| Critique + revise | gpt-4o |
| Specialists | gpt-4o-mini |
| Transcription | whisper-1 |
| Long summaries | gpt-4o (128k window) |
Override via MODEL_<ROLE>_OPENAI.
Whisper integration
Section titled “Whisper integration”whisper-1 is the primary transcription path for uploaded recordings
(unless you’ve configured a local Whisper; see
Local models). Usage is billed per second of
audio.
Rate limits
Section titled “Rate limits”OpenAI’s rate limits by tier:
- Tier 1 (new, <$5): 500 req/min, 30k TPM.
- Tier 2–4 escalating as you spend more.
- Enterprise: custom.
Workforce0 respects 429 and Retry-After headers.
Cost rough numbers
Section titled “Cost rough numbers”| Model | Input $/1M | Output $/1M | Typical brief cost |
|---|---|---|---|
| GPT-4o | $2.50 | $10.00 | ~$0.08 |
| GPT-4o-mini | $0.15 | $0.60 | ~$0.01 |
| Whisper-1 (audio) | $0.006/min | — | ~$0.05 / 10 min |
Azure OpenAI
Section titled “Azure OpenAI”Supported via OPENAI_BASE_URL override:
OPENAI_API_KEY=your-azure-keyOPENAI_BASE_URL=https://your-resource.openai.azure.comOPENAI_API_VERSION=2024-07-01-previewOPENAI_DEPLOYMENT_PLANNER=gpt4o-deployment-nameThe schema stays the same; you’re just pointing at Azure’s endpoints.
What breaks
Section titled “What breaks”Org / project key mismatches
Section titled “Org / project key mismatches”Some OpenAI keys are project-scoped. If you get a 401 with “no matching project”, use an org-level key or pin the project:
OPENAI_ORG_ID=org-...Rate limits on burst
Section titled “Rate limits on burst”Decomposing 50 briefs simultaneously hits TPM limits on Tier 1. Either fund your OpenAI account enough for Tier 3, or use Anthropic / Gemini alongside to spread load.
Moderation holds
Section titled “Moderation holds”OpenAI sometimes flags transcripts with sensitive content (“violent language”, even for quoted material in a crime-podcast brief). These return 400 + a moderation reason. Workforce0 logs them; nothing to auto-retry. Route sensitive content through local models if this matters — see Local models.