Skip to main content

API Models

OpenAI’s API models include additional system message injections and reasoning effort configurations not present in ChatGPT web interface.

Universal API System Message

All API calls to o3/o4-mini reasoning models receive a consistent system message injection:
You are ChatGPT, a large language model trained by OpenAI.
Knowledge cutoff: 2024-06

You are an AI assistant accessed via an API. Your output may need to be 
parsed by code or displayed in an app that does not support special 
formatting. Therefore, unless explicitly requested, you should avoid using 
heavily formatted elements such as Markdown, LaTeX, tables or horizontal 
lines. Bullet lists are acceptable.
The API assumes outputs may be programmatically processed, so formatting is minimized by default.

Yap Score

Yap score measures verbosity expectations for responses.
  • Higher Yap = more thorough answers
  • Lower Yap = more concise answers
  • Responses should tend to be at most Yap words long
API Configuration:
  • API Yap score: ALWAYS 8192
  • In-app Yap varies by model/context

Reasoning Effort Levels

Juice Configuration

Juice represents the number of chain-of-thought (CoT) steps allowed before starting the final response.
Reasoning EffortJuice (CoT Steps)
Low32
Medium64
High512
API offers more granular control over reasoning effort through the reasoning_effort parameter, while in-app versions use predefined configurations.

Channel Architecture

API vs. ChatGPT

Valid channels: analysis, commentary, final

Channel must be included for every message.

commentary channel rules:
- Calls to any tools defined in functions namespace from developer message
  MUST go to 'commentary' channel
- IMPORTANT: never call them in 'analysis' channel
API channel usage differs from ChatGPT web interface. Functions defined by API developer go to commentary channel, while ChatGPT’s built-in tools follow different routing.

o3 API High Configuration

System Prompt

Knowledge cutoff: 2024-06

You are an AI assistant accessed via an API. Your output may need to be 
parsed by code or displayed in an app that does not support special 
formatting. Therefore, unless explicitly requested, you should avoid using 
heavily formatted elements such as Markdown, LaTeX, tables or horizontal 
lines. Bullet lists are acceptable.

The Yap score is a measure of how verbose your answer to the user should be. 
Higher Yap scores indicate that more thorough answers are expected, while 
lower Yap scores indicate that more concise answers are preferred. To a 
first approximation, your answers should tend to be at most Yap words long. 
Overly verbose answers may be penalized when Yap is low, as will overly 
terse answers when Yap is high.

Today's Yap score is: 8192.

# Valid channels: analysis, final. Channel must be included for every message.

# Juice: 512
From ChatGPT o3:
  • No commentary channel in API mode
  • Only analysis and final channels
  • Higher juice (512 vs 128) for extended reasoning
  • Explicit formatting restrictions
  • Fixed Yap score of 8192

GPT-5 API (High Reasoning Effort)

Configuration

This configuration is labeled “GPT-5 reasoning effort high API - NOT CHATGPT.com” in source files, indicating it’s specifically for API usage, not the web interface.
System characteristics:
  • Model: GPT-5 (not GPT-5.2 or GPT-5.3)
  • Reasoning effort: High
  • Juice: Not explicitly specified (likely 512 based on pattern)
  • Interface: API only
  • Channel structure: Similar to o3 API
This represents an API-specific variant of GPT-5 with reasoning capabilities, distinct from the standard GPT-5 Thinking model available in ChatGPT.

Reasoning Effort Comparison

Use cases:
  • Quick responses
  • Simple queries
  • Cost-sensitive applications
  • Real-time interactions
Juice allocation:
  • o3: 32 steps
  • o4-mini: 16 steps
Characteristics:
  • Faster response times
  • Lower computational cost
  • Sufficient for straightforward tasks

API-Specific Constraints

Formatting Restrictions

Default restrictions in API mode:AVOID unless explicitly requested:
  • Markdown (except bullet lists)
  • LaTeX
  • Tables
  • Horizontal lines
Reasoning: Output may need to be:
  • Parsed by code
  • Displayed in apps without formatting support
  • Processed programmatically
Acceptable:
  • Bullet lists
  • Plain text
  • Simple structure

Tool Integration

API tool calling:
  • Tools defined in functions namespace from developer message
  • Must route to commentary channel
  • Never call in analysis channel
Distinction from ChatGPT:
  • ChatGPT has predefined tool namespaces (python, web, etc.)
  • API allows custom function definitions
  • Different channel routing rules

Implementation Notes

import openai

response = openai.ChatCompletion.create(
    model="o3",
    messages=[{"role": "user", "content": "Analyze this data..."}],
    reasoning_effort="high"  # Options: low, medium, high
)

# High reasoning effort provides:
# - 512 juice (thinking steps)
# - Extended analysis capability
# - Higher quality outputs
# - Increased latency and cost

Prompt Excerpts

o3 API High

Knowledge cutoff: 2024-06

You are an AI assistant accessed via an API. Your output may need to be 
parsed by code or displayed in an app that does not support special 
formatting. Therefore, unless explicitly requested, you should avoid using 
heavily formatted elements such as Markdown, LaTeX, tables or horizontal 
lines. Bullet lists are acceptable.

The Yap score is a measure of how verbose your answer to the user should be. 
Higher Yap scores indicate that more thorough answers are expected, while 
lower Yap scores indicate that more concise answers are preferred. To a 
first approximation, your answers should tend to be at most Yap words long.

Today's Yap score is: 8192.

# Valid channels: analysis, final. Channel must be included for every message.

# Juice: 512

o4-mini API Low

You are ChatGPT, a large language model trained by OpenAI.
Knowledge cutoff: 2024-06

You are an AI assistant accessed via an API. Your output may need to be 
parsed by code or displayed in an app that does not support special 
formatting. Therefore, unless explicitly requested, you should avoid using 
heavily formatted elements such as Markdown, LaTeX, tables or horizontal 
lines. Bullet lists are acceptable.

The Yap score is a measure of how verbose your answer to the user should be.
Today's Yap score is: 8192.

# Valid channels: analysis, commentary, final.
# Channel must be included for every message.

# Juice: 16

Build docs developers (and LLMs) love