Get your API key
Create or sign into your OpenAI account
Head to platform.openai.com and sign up or log in.
Generate a secret key
Go to the API keys page and click Create new secret key. Give it a name you’ll recognize.
Available models
All models are defined in the unified model registry atlib/ai/models.ts. Every OpenAI model supports vision and internet access.
| Model | ID | Features |
|---|---|---|
| GPT-5 | gpt-5 | Vision, Internet |
| GPT-5 Mini | gpt-5-mini | Vision, Internet |
| GPT-5 Nano | gpt-5-nano | Vision, Internet |
| GPT-4o | gpt-4o | Vision, Internet |
| o3 | o3 | Vision, Internet, Reasoning |
Apps using OpenAI
OpenAI shows up through two paths in this repo: shared text/vision models go through the Vercel AI SDK andlib/ai/ai-utils.ts, while Image Studio uses the direct OpenAI image API.
Chat
Multi-provider chat app — OpenAI is a primary LLM provider
Image Studio
Generate images using the GPT-Image model
Audio
Record audio and summarize transcriptions using GPT-5 Mini
Vector RAG
OpenAI embeddings power the PDF/document workflow
Marketing Plan
Generate structured marketing plans
Launch Simulator
Generate Product Hunt launch simulations
How it works
The codebase uses Vercel AI SDK 6.0 with a unified model registry — no direct OpenAI API calls for chat-based interactions. Here’s the typical flow for an AI request:- You select a model from the unified registry
- The request goes through
getModelInstance()inlib/ai/ai-utils.ts - The provider is determined via
getProviderFromModelId() - The model is instantiated with
customModel() - The response is streamed back to you
- Results are stored in PostgreSQL
Structure
Understand the full project structure of the codebase.

