AI Pass API — Complete Guide (37 Models: Text, Images, Speech, Video, Embeddings)
AI Pass API — Complete Guide for AI Agents & Developers
One API key. Every AI feature. Text, images, speech, video — all through a single endpoint.
Getting Started
- Sign up at aipass.one — $1 credit on signup
- Go to Developer Dashboard → API Keys
- Set
AIPASS_API_KEYin your environment
All endpoints: Authorization: Bearer $AIPASS_API_KEY | Base URL: https://aipass.one/apikey/v1
Available Models (35 total)
Text Generation (POST /chat/completions)
gpt-5-nano · gpt-5-mini · gpt-5 · gpt-5.1 · gpt-5.1-codex · gpt-5.1-codex-mini · claude-sonnet-4-5 · claude-haiku-4-5 · gemini/gemini-2.5-flash · gemini/gemini-2.5-flash-lite · gemini/gemini-2.5-pro · gemini/gemini-3-pro-preview · gemini/gemini-3-flash-preview · gemini/gemma-3-27b-it · cerebras/qwen-3-32b · cerebras/gpt-oss-120b
Image Generation (POST /images/generations)
flux-pro/v1.1 · flux-pro/v1.1-ultra · imagen4/preview/ultra · standard/1024-x-1024/dall-e-3 · gpt-image-1 · gpt-image-1-mini · recraft/v3 · seedream/v3 · dreamina/v3.1
Image Editing (POST /chat/completions with base64 image)
gemini/gemini-3-pro-image-preview · gemini/gemini-2.5-flash-image-preview
Text-to-Speech (POST /audio/speech)
tts-1 · tts-1-hd · gpt-4o-mini-tts
Audio (POST /audio/transcriptions)
whisper-1 · gpt-4o-audio-preview
Video Generation (POST /videos — async)
gemini/veo-3.0-fast-generate-preview · gemini/veo-3.0-generate-preview · gemini/veo-3.1-fast-generate-preview · openai/sora-2 · openai/sora-2-pro
Code Examples
Text Generation
curl -s -X POST https://aipass.one/apikey/v1/chat/completions \
-H "Authorization: Bearer $AIPASS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-5-mini","messages":[{"role":"user","content":"Explain quantum computing in 3 sentences"}]}'
Response: response.choices[0].message.content
Image Generation
curl -s -X POST https://aipass.one/apikey/v1/images/generations \
-H "Authorization: Bearer $AIPASS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"flux-pro/v1.1","prompt":"A futuristic city at sunset","size":"1024x1024","n":1}'
Response: response.data[0].url
Image Editing
import base64, requests, os
AIPASS_API_KEY = os.environ["AIPASS_API_KEY"]
with open("photo.png", "rb") as f:
b64 = base64.b64encode(f.read()).decode()
r = requests.post("https://aipass.one/apikey/v1/chat/completions",
headers={"Authorization": f"Bearer {AIPASS_API_KEY}"},
json={"model": "gemini/gemini-3-pro-image-preview",
"messages": [{"role": "user", "content": [
{"type": "text", "text": "Remove the background"},
{"type": "image_url", "image_url": {"url": f"data:image/png;base64,{b64}"}}
]}]})
Text-to-Speech
curl -s -X POST https://aipass.one/apikey/v1/audio/speech \
-H "Authorization: Bearer $AIPASS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"tts-1","input":"Hello world!","voice":"nova"}' --output speech.mp3
Voices: alloy, echo, fable, onyx, nova, shimmer
Audio Transcription
curl -s -X POST https://aipass.one/apikey/v1/audio/transcriptions \
-H "Authorization: Bearer $AIPASS_API_KEY" \
-F "file=@recording.mp3" -F "model=whisper-1"
Response: response.text
Video Generation (Async)
# Start
r = requests.post("https://aipass.one/apikey/v1/videos",
headers={"Authorization": f"Bearer {AIPASS_API_KEY}"},
json={"model": "gemini/veo-3.1-fast-generate-preview", "prompt": "A cat playing piano"})
video_id = r.json()["videoId"]
# Poll until status == "completed", then download from status["downloadUrl"]
Quick Reference
| Feature | Endpoint | Model | Response |
|---|---|---|---|
| Text | POST /chat/completions |
gpt-5-mini | .choices[0].message.content |
| Image gen | POST /images/generations |
flux-pro/v1.1 | .data[0].url |
| Image edit | POST /chat/completions |
gemini-3-pro-image-preview | base64 in content |
| TTS | POST /audio/speech |
tts-1 | binary audio |
| STT | POST /audio/transcriptions |
whisper-1 | .text |
| Video | POST /videos |
veo-3.1-fast | async poll |
| Models | GET /models |
— | .data[].id |
For AI Agents
This post includes a complete skill file. Copy the skillContent, set your $AIPASS_API_KEY, and start generating.
For Developers
Use the JS SDK for web apps — earn 50% commission on every API call your users make.
Skill File
---
name: aipass-api
description: Complete AI Pass API skill for text generation, image generation, image editing, text-to-speech, transcription, and video generation. Uses API key auth — no browser needed.
version: 2.0.0
---
# AI Pass API — Complete Skill
All AI features via `$AIPASS_API_KEY`. No browser, no SDK, no OAuth needed.
## Auth
All endpoints: `Authorization: Bearer $AIPASS_API_KEY`
Get your key: https://aipass.one/panel/developer.html → API Keys
## Base URL
`https://aipass.one/apikey/v1`
## List Available Models
```bash
curl -s https://aipass.one/apikey/v1/models -H "Authorization: Bearer $AIPASS_API_KEY"
```
---
## Available Models (as of 2026-02-14)
### Text Generation (Chat Completions)
| Model | Notes |
|-------|-------|
| `gpt-5-nano` | Cheapest, simple tasks |
| `gpt-5-mini` | Good balance, recommended default |
| `gpt-5` | Premium OpenAI |
| `gpt-5.1` | Latest OpenAI |
| `gpt-5.1-codex` | Code-optimized |
| `gpt-5.1-codex-mini` | Code-optimized, cheaper |
| `claude-opus-4-6` | Anthropic best (reasoning, code) |
| `claude-sonnet-4-5` | Anthropic premium |
| `claude-haiku-4-5` | Anthropic fast/cheap |
| `gemini/gemini-2.5-flash` | Google fast |
| `gemini/gemini-2.5-flash-lite` | Google cheapest |
| `gemini/gemini-2.5-pro` | Google premium |
| `gemini/gemini-3-pro-preview` | Google latest |
| `gemini/gemini-3-flash-preview` | Google latest fast |
| `gemini/gemma-3-27b-it` | Google open model |
| `cerebras/qwen-3-32b` | Fast inference |
| `cerebras/gpt-oss-120b` | Large open model |
### Image Generation
| Model | Notes |
|-------|-------|
| `flux-pro/v1.1` | Fast, good quality (~$0.05) |
| `flux-pro/v1.1-ultra` | High quality |
| `imagen4/preview/ultra` | Google's best |
| `standard/1024-x-1024/dall-e-3` | DALL-E 3 |
| `gpt-image-1` | OpenAI native image gen |
| `gpt-image-1-mini` | OpenAI image gen, cheaper |
| `recraft/v3` | Design-focused |
| `seedream/v3` | ByteDance |
| `dreamina/v3.1` | ByteDance |
### Image Editing
| Model | Notes |
|-------|-------|
| `gemini/gemini-3-pro-image-preview` | Best for editing (via chat completions) |
| `gemini/gemini-2.5-flash-image-preview` | Faster, cheaper editing |
### Text-to-Speech
| Model | Notes |
|-------|-------|
| `tts-1` | Standard quality |
| `tts-1-hd` | High quality |
| `gpt-4o-mini-tts` | OpenAI mini TTS |
### Text Embeddings
| Model | Notes |
|-------|-------|
| `text-embedding-3-small` | Fast, cheap, 1536 dimensions |
| `text-embedding-3-large` | Higher quality, 3072 dimensions |
### Audio (Speech-to-Text + Audio Understanding)
| Model | Notes |
|-------|-------|
| `whisper-1` | Transcription |
| `gpt-4o-audio-preview` | Audio understanding |
### Video Generation
| Model | Notes |
|-------|-------|
| `gemini/veo-3.0-fast-generate-preview` | Fast video |
| `gemini/veo-3.0-generate-preview` | Quality video |
| `gemini/veo-3.1-fast-generate-preview` | Latest fast video |
| `openai/sora-2` | OpenAI video |
| `openai/sora-2-pro` | OpenAI premium video |
---
## 1. Text Generation (Chat Completions)
**Endpoint:** `POST /apikey/v1/chat/completions`
```bash
curl -s -X POST https://aipass.one/apikey/v1/chat/completions \
-H "Authorization: Bearer $AIPASS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5-mini",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Your prompt here"}
]
}'
```
**Response:** `response.choices[0].message.content`
### Python
```python
import requests, os
AIPASS_API_KEY = os.environ["AIPASS_API_KEY"]
def chat(prompt, model="gpt-5-mini", system="You are a helpful assistant."):
r = requests.post("https://aipass.one/apikey/v1/chat/completions",
headers={"Authorization": f"Bearer {AIPASS_API_KEY}", "Content-Type": "application/json"},
json={"model": model, "messages": [
{"role": "system", "content": system},
{"role": "user", "content": prompt}
]})
return r.json()["choices"][0]["message"]["content"]
```
---
## 2. Image Generation
**Endpoint:** `POST /apikey/v1/images/generations`
```bash
curl -s -X POST https://aipass.one/apikey/v1/images/generations \
-H "Authorization: Bearer $AIPASS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "flux-pro/v1.1",
"prompt": "A cute monster with big eyes and small horns, digital art",
"size": "1024x1024",
"n": 1
}'
```
**Response:** `response.data[0].url` (image URL) or `response.data[0].b64_json` (base64)
### Python
```python
def generate_image(prompt, model="flux-pro/v1.1", size="1024x1024"):
r = requests.post("https://aipass.one/apikey/v1/images/generations",
headers={"Authorization": f"Bearer {AIPASS_API_KEY}", "Content-Type": "application/json"},
json={"model": model, "prompt": prompt, "size": size, "n": 1})
return r.json()["data"][0]["url"]
```
### Download image
```bash
URL=$(curl -s -X POST https://aipass.one/apikey/v1/images/generations \
-H "Authorization: Bearer $AIPASS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"flux-pro/v1.1","prompt":"your prompt","size":"1024x1024","n":1}' \
| python3 -c "import json,sys; print(json.load(sys.stdin)['data'][0]['url'])")
curl -s "$URL" -o output.png
```
---
## 3. Image Editing
**Endpoint:** `POST /apikey/v1/chat/completions` (routes through chat completions for Gemini image models)
⚠️ **Note:** The `/apikey/v1/images/edits` endpoint has a known bug. Use chat completions with base64 image instead.
```python
import base64
def edit_image(image_path, prompt, model="gemini/gemini-3-pro-image-preview"):
with open(image_path, "rb") as f:
b64 = base64.b64encode(f.read()).decode()
ext = image_path.rsplit(".", 1)[-1].lower()
mime = {"png": "image/png", "jpg": "image/jpeg", "jpeg": "image/jpeg", "webp": "image/webp"}.get(ext, "image/png")
r = requests.post("https://aipass.one/apikey/v1/chat/completions",
headers={"Authorization": f"Bearer {AIPASS_API_KEY}", "Content-Type": "application/json"},
json={
"model": model,
"messages": [{
"role": "user",
"content": [
{"type": "text", "text": prompt},
{"type": "image_url", "image_url": {"url": f"data:{mime};base64,{b64}"}}
]
}]
})
return r.json()["choices"][0]["message"]["content"]
```
### Bash
```bash
B64=$(base64 -w0 input.png)
curl -s -X POST https://aipass.one/apikey/v1/chat/completions \
-H "Authorization: Bearer $AIPASS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini/gemini-3-pro-image-preview",
"messages": [{"role": "user", "content": [
{"type": "text", "text": "Remove the background"},
{"type": "image_url", "image_url": {"url": "data:image/png;base64,'$B64'"}}
]}]
}'
```
---
## 4. Text-to-Speech
**Endpoint:** `POST /apikey/v1/audio/speech`
**Voices:** `alloy`, `echo`, `fable`, `onyx`, `nova`, `shimmer`
```bash
curl -s -X POST https://aipass.one/apikey/v1/audio/speech \
-H "Authorization: Bearer $AIPASS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "tts-1",
"input": "Hello, this is AI Pass speaking!",
"voice": "nova"
}' --output speech.mp3
```
### Python
```python
def text_to_speech(text, voice="nova", model="tts-1", output="speech.mp3"):
r = requests.post("https://aipass.one/apikey/v1/audio/speech",
headers={"Authorization": f"Bearer {AIPASS_API_KEY}", "Content-Type": "application/json"},
json={"model": model, "input": text, "voice": voice})
with open(output, "wb") as f:
f.write(r.content)
return output
```
---
## 5. Audio Transcription (Speech-to-Text)
**Endpoint:** `POST /apikey/v1/audio/transcriptions`
**Formats:** mp3, mp4, mpeg, mpga, m4a, wav, webm, ogg
```bash
curl -s -X POST https://aipass.one/apikey/v1/audio/transcriptions \
-H "Authorization: Bearer $AIPASS_API_KEY" \
-F "file=@audio.mp3" \
-F "model=whisper-1" \
-F "language=en"
```
**Response:** `response.text`
### Python
```python
def transcribe(file_path, language="en"):
with open(file_path, "rb") as f:
r = requests.post("https://aipass.one/apikey/v1/audio/transcriptions",
headers={"Authorization": f"Bearer {AIPASS_API_KEY}"},
files={"file": f},
data={"model": "whisper-1", "language": language})
return r.json()["text"]
```
---
## 6. Video Generation (Async)
**Endpoint:** `POST /apikey/v1/videos`
Video generation is async — start, poll, download.
```python
import time
def generate_video(prompt, model="gemini/veo-3.1-fast-generate-preview", seconds=5):
# Start
r = requests.post("https://aipass.one/apikey/v1/videos",
headers={"Authorization": f"Bearer {AIPASS_API_KEY}", "Content-Type": "application/json"},
json={"model": model, "prompt": prompt, "seconds": seconds})
video_id = r.json()["videoId"]
# Poll
while True:
status = requests.get(f"https://aipass.one/apikey/v1/videos/{video_id}/status",
headers={"Authorization": f"Bearer {AIPASS_API_KEY}"}).json()
if status["status"] == "completed":
return status["downloadUrl"]
elif status["status"] == "failed":
raise Exception(f"Failed: {status}")
time.sleep(5)
```
### Bash
```bash
# Start video generation
VIDEO_ID=$(curl -s -X POST https://aipass.one/apikey/v1/videos \
-H "Authorization: Bearer $AIPASS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"gemini/veo-3.1-fast-generate-preview","prompt":"A monster dancing in the rain","seconds":5}' \
| python3 -c "import json,sys; print(json.load(sys.stdin)['videoId'])")
# Poll status
curl -s "https://aipass.one/apikey/v1/videos/$VIDEO_ID/status" \
-H "Authorization: Bearer $AIPASS_API_KEY"
```
---
## Quick Reference
| Feature | Endpoint | Recommended Model | Response |
|---------|----------|-------------------|----------|
| Text gen | `POST /chat/completions` | `gpt-5-mini` | `.choices[0].message.content` |
| Image gen | `POST /images/generations` | `flux-pro/v1.1` | `.data[0].url` |
| Image edit | `POST /chat/completions` | `gemini/gemini-3-pro-image-preview` | base64 in content |
| TTS | `POST /audio/speech` | `tts-1` | binary audio |
| STT | `POST /audio/transcriptions` | `whisper-1` | `.text` |
| Video | `POST /videos` | `gemini/veo-3.1-fast-generate-preview` | async → poll → `.downloadUrl` |
| Embeddings | `POST /embeddings` | `text-embedding-3-small` | `.data[0].embedding` |
| List models | `GET /models` | — | `.data[].id` |
## 7. Text Embeddings
**Endpoint:** `POST /apikey/v1/embeddings`
```bash
curl -s -X POST https://aipass.one/apikey/v1/embeddings \
-H "Authorization: Bearer $AIPASS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "text-embedding-3-small",
"input": "Your text to embed"
}'
```
**Response:** `response.data[0].embedding` (array of floats)
### Python
```python
def embed(text, model="text-embedding-3-small"):
r = requests.post("https://aipass.one/apikey/v1/embeddings",
headers={"Authorization": f"Bearer {AIPASS_API_KEY}", "Content-Type": "application/json"},
json={"model": model, "input": text})
return r.json()["data"][0]["embedding"]
# Batch embedding
def embed_batch(texts, model="text-embedding-3-small"):
r = requests.post("https://aipass.one/apikey/v1/embeddings",
headers={"Authorization": f"Bearer {AIPASS_API_KEY}", "Content-Type": "application/json"},
json={"model": model, "input": texts})
return [d["embedding"] for d in r.json()["data"]]
```
---
## Cost Tips
- `gpt-5-nano` for simple text (cheapest)
- `gemini/gemini-2.5-flash-lite` for cheap text with good quality
- `flux-pro/v1.1` for standard images (~$0.05)
- `whisper-1` for audio — very cheap
- `tts-1` cheaper than `tts-1-hd`
- `gpt-image-1-mini` cheaper than `gpt-image-1`
## Building Apps with AI Pass SDK
If building web apps (not server-side), use the JS SDK instead:
```html
<script src="https://aipass.one/aipass-sdk.js"></script>
<script>
AiPass.initialize({ clientId: 'YOUR_CLIENT_ID', requireLogin: true, darkMode: true });
</script>
```
Get your Client ID: https://aipass.one/panel/developer.html → OAuth2 Clients
SDK methods mirror the API: `AiPass.generateCompletion()`, `AiPass.generateImage()`, `AiPass.editImage()`, `AiPass.generateSpeech()`, `AiPass.transcribeAudio()`, `AiPass.generateVideo()`
Developers earn **50% commission** on every API call their users make.
Full SDK docs: https://aipass.one/docs/sdk/reference.html
Download Skill File