@convo-lang/convo-lang
Version:
The language of AI
1,214 lines • 36.3 kB
JavaScript
let _chat;
let _vision;
let _image;
let _textToSpeech;
let _speechToText;
let _embedding;
const m = (num) => num / 1000000;
export const openAiModels = [
{
name: 'gpt-5.5',
matchNameStart: true,
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 1050000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(5),
outputTokenPriceUsd: m(30),
},
{
name: 'gpt-5.5-pro',
matchNameStart: true,
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 1050000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(30),
outputTokenPriceUsd: m(180),
},
{
name: 'gpt-5.4',
matchNameStart: true,
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 1050000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(2.50),
outputTokenPriceUsd: m(15),
},
{
name: 'gpt-5.4-pro',
matchNameStart: true,
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 1050000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(30),
outputTokenPriceUsd: m(180),
},
{
name: 'gpt-5.4-nano',
matchNameStart: true,
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 400000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(0.05),
outputTokenPriceUsd: m(0.4),
},
// gpt-5.2
{
name: 'gpt-5.2-pro',
matchNameStart: true,
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 400000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(21),
outputTokenPriceUsd: m(168),
},
{
name: 'gpt-5.2',
matchNameStart: true,
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 400000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(1.75),
outputTokenPriceUsd: m(14),
},
{
name: 'gpt-5.2-codex',
matchNameStart: true,
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 400000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(1.75),
outputTokenPriceUsd: m(14),
},
// gpt-5.1
{
name: 'gpt-5.1-codex',
matchNameStart: true,
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 400000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(1.25),
outputTokenPriceUsd: m(10),
},
{
name: 'gpt-5.1-codex-max',
matchNameStart: true,
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 400000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(1.25),
outputTokenPriceUsd: m(10),
},
{
name: 'gpt-5.1',
matchNameStart: true,
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 400000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(1.25),
outputTokenPriceUsd: m(10),
},
// gpt-5
_vision = {
name: 'gpt-5',
matchNameStart: true,
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 400000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(1.25),
outputTokenPriceUsd: m(10),
},
{
name: 'gpt-5-2025-08-07',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 400000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(1.25),
outputTokenPriceUsd: m(10),
},
{
name: 'gpt-5-latest',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 400000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(1.25),
outputTokenPriceUsd: m(10),
},
{
name: 'gpt-5-mini',
matchNameStart: true,
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 400000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(0.25),
outputTokenPriceUsd: m(2),
},
{
name: 'gpt-5-mini-2025-08-07',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 400000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(0.25),
outputTokenPriceUsd: m(2),
},
{
name: 'gpt-5-nano',
matchNameStart: true,
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 400000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(0.05),
outputTokenPriceUsd: m(0.4),
},
{
name: 'gpt-5-nano-2025-08-07',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 400000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(0.05),
outputTokenPriceUsd: m(0.4),
},
{
name: 'gpt-5-chat',
matchNameStart: true,
supportsChat: true,
contextWindowSize: 128000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(1.25),
outputTokenPriceUsd: m(10),
},
{
name: 'gpt-5-chat-latest',
supportsChat: true,
contextWindowSize: 128000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(1.25),
outputTokenPriceUsd: m(10),
},
{
name: 'gpt-5-codex',
matchNameStart: true,
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 400000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(1.25),
outputTokenPriceUsd: m(10),
},
{
name: 'gpt-5-pro',
matchNameStart: true,
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 400000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(15),
outputTokenPriceUsd: m(120),
},
// o4
{
name: 'o4-mini-deep-research',
matchNameStart: true,
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 200000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(2),
outputTokenPriceUsd: m(8),
},
{
name: 'o4-mini-deep-research-2025-06-26',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 200000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(2),
outputTokenPriceUsd: m(8),
},
{
name: 'o4-mini',
matchNameStart: true,
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 200000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(1.1),
outputTokenPriceUsd: m(4.4),
},
{
name: 'o4-mini-2025-04-16',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 200000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(1.1),
outputTokenPriceUsd: m(4.4),
},
// o3
{
name: 'o3-deep-research',
matchNameStart: true,
supportsChat: true,
contextWindowSize: 200000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(10),
outputTokenPriceUsd: m(40),
},
{
name: 'o3-deep-research-2025-06-26',
supportsChat: true,
contextWindowSize: 200000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(10),
outputTokenPriceUsd: m(40),
},
{
name: 'o3-pro',
matchNameStart: true,
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 200000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(20),
outputTokenPriceUsd: m(80),
},
{
name: 'o3-pro-2025-06-10',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 200000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(20),
outputTokenPriceUsd: m(80),
},
{
name: 'o3',
matchNameStart: true,
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 200000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(2),
outputTokenPriceUsd: m(8),
},
{
name: 'o3-2025-04-16',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 200000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(2),
outputTokenPriceUsd: m(8),
},
{
name: 'o3-mini',
matchNameStart: true,
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 200000,
inputCapabilities: ['text'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(1.1),
outputTokenPriceUsd: m(4.4),
},
{
name: 'o3-mini-2025-01-31',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 200000,
inputCapabilities: ['text'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(1.1),
outputTokenPriceUsd: m(4.4),
},
// o1
{
name: 'o1',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 200000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(15),
outputTokenPriceUsd: m(60),
},
{
name: 'o1-2024-12-17',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 200000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(15),
outputTokenPriceUsd: m(60),
},
{
name: 'o1-preview',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 128000,
inputCapabilities: ['text'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(15),
outputTokenPriceUsd: m(60),
},
{
name: 'o1-preview-2024-09-12',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 128000,
inputCapabilities: ['text'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(15),
outputTokenPriceUsd: m(60),
},
{
name: 'o1-pro',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 200000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(150),
outputTokenPriceUsd: m(600),
},
{
name: 'o1-pro-2025-03-19',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 200000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(150),
outputTokenPriceUsd: m(600),
},
// o1-mini
{
name: 'o1-mini',
supportsChat: true,
contextWindowSize: 128000,
inputCapabilities: ['text'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(1.1),
outputTokenPriceUsd: m(4.4),
},
{
name: 'o1-mini-2024-09-12',
supportsChat: true,
contextWindowSize: 128000,
inputCapabilities: ['text'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(1.1),
outputTokenPriceUsd: m(4.4),
},
// codex/computer-use
{
name: 'codex-mini-latest',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 200000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(1.5),
outputTokenPriceUsd: m(6),
},
{
name: 'computer-use-preview',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 8192,
inputCapabilities: ['text'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(3),
outputTokenPriceUsd: m(12),
},
{
name: 'computer-use-preview-2025-03-11',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 8192,
inputCapabilities: ['text'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(3),
outputTokenPriceUsd: m(12),
},
// gpt-4.5
{
name: 'gpt-4.5-preview',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 128000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(75),
outputTokenPriceUsd: m(150),
},
{
name: 'gpt-4.5-preview-2025-02-27',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 128000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(75),
outputTokenPriceUsd: m(150),
},
// gpt-4o-realtime
{
name: 'gpt-4o-realtime-preview-2024-10-01',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 16000,
inputCapabilities: ['text', 'audio'],
outputCapabilities: ['text', 'audio'],
inputTokenPriceUsd: m(5),
outputTokenPriceUsd: m(20),
inputAudioTokenPriceUsd: m(100),
outputAudioTokenPriceUsd: m(200),
},
{
name: 'gpt-4o-realtime-preview-2024-12-17',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 16000,
inputCapabilities: ['text', 'audio'],
outputCapabilities: ['text', 'audio'],
inputTokenPriceUsd: m(5),
outputTokenPriceUsd: m(20),
inputAudioTokenPriceUsd: m(40),
outputAudioTokenPriceUsd: m(80),
},
{
name: 'gpt-4o-realtime-preview-2025-06-03',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 32000,
inputCapabilities: ['text', 'audio'],
outputCapabilities: ['text', 'audio'],
inputTokenPriceUsd: m(5),
outputTokenPriceUsd: m(20),
inputAudioTokenPriceUsd: m(40),
outputAudioTokenPriceUsd: m(80),
},
{
name: 'gpt-4o-realtime-preview',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 32000,
inputCapabilities: ['text', 'audio'],
outputCapabilities: ['text', 'audio'],
inputTokenPriceUsd: m(5),
outputTokenPriceUsd: m(20),
inputAudioTokenPriceUsd: m(40),
outputAudioTokenPriceUsd: m(80),
},
// gpt-4.1
_chat = {
name: 'gpt-4.1',
matchNameStart: true,
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 1047576,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(2),
outputTokenPriceUsd: m(8),
isServiceDefault: true,
priority: 100,
},
{
name: 'gpt-4.1-2025-04-14',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 1047576,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(2),
outputTokenPriceUsd: m(8),
},
{
name: 'gpt-4.1-mini',
matchNameStart: true,
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 1047576,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(0.4),
outputTokenPriceUsd: m(1.6),
},
{
name: 'gpt-4.1-mini-2025-04-14',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 1047576,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(0.4),
outputTokenPriceUsd: m(1.6),
},
{
name: 'gpt-4.1-nano',
matchNameStart: true,
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 1047576,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(0.1),
outputTokenPriceUsd: m(0.4),
},
{
name: 'gpt-4.1-nano-2025-04-14',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 1047576,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(0.1),
outputTokenPriceUsd: m(0.4),
},
// gpt-4o
{
name: 'gpt-4o',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 128000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(2.5),
outputTokenPriceUsd: m(10),
},
{
name: 'gpt-4o-2024-11-20',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 128000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(2.5),
outputTokenPriceUsd: m(10),
},
{
name: 'gpt-4o-2024-08-06',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 128000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(2.5),
outputTokenPriceUsd: m(10),
},
{
name: 'gpt-4o-2024-05-13',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 128000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(5),
outputTokenPriceUsd: m(15),
},
{
name: 'gpt-4o-audio-preview-2024-10-01',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 128000,
inputCapabilities: ['text', 'audio'],
outputCapabilities: ['text', 'audio'],
inputTokenPriceUsd: m(2.5),
outputTokenPriceUsd: m(10),
inputAudioTokenPriceUsd: m(100),
outputAudioTokenPriceUsd: m(200),
},
{
name: 'gpt-4o-audio-preview-2024-12-17',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 128000,
inputCapabilities: ['text', 'audio'],
outputCapabilities: ['text', 'audio'],
inputTokenPriceUsd: m(2.5),
outputTokenPriceUsd: m(10),
inputAudioTokenPriceUsd: m(40),
outputAudioTokenPriceUsd: m(80),
},
{
name: 'gpt-4o-audio-preview-2025-06-03',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 128000,
inputCapabilities: ['text', 'audio'],
outputCapabilities: ['text', 'audio'],
inputTokenPriceUsd: m(2.5),
outputTokenPriceUsd: m(10),
inputAudioTokenPriceUsd: m(40),
outputAudioTokenPriceUsd: m(80),
},
{
name: 'gpt-4o-audio-preview',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 128000,
inputCapabilities: ['text', 'audio'],
outputCapabilities: ['text', 'audio'],
inputTokenPriceUsd: m(2.5),
outputTokenPriceUsd: m(10),
inputAudioTokenPriceUsd: m(40),
outputAudioTokenPriceUsd: m(80),
},
{
name: 'gpt-4o-search-preview',
supportsChat: true,
contextWindowSize: 128000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(2.5),
outputTokenPriceUsd: m(10),
},
{
name: 'gpt-4o-search-preview-2025-03-11',
supportsChat: true,
contextWindowSize: 128000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(2.5),
outputTokenPriceUsd: m(10),
},
{
name: 'gpt-4o-transcribe',
inputCapabilities: ['audio'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(2.5),
outputTokenPriceUsd: m(10),
inputAudioTokenPriceUsd: m(6),
},
{
name: 'chatgpt-4o-latest',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 128000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(5),
outputTokenPriceUsd: m(15),
},
// gpt-4o-mini
{
name: 'gpt-4o-mini',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 128000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(0.15),
outputTokenPriceUsd: m(0.6),
},
{
name: 'gpt-4o-mini-2024-07-18',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 128000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(0.15),
outputTokenPriceUsd: m(0.6),
},
{
name: 'gpt-4o-mini-audio-preview',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 128000,
inputCapabilities: ['text', 'audio'],
outputCapabilities: ['text', 'audio'],
inputTokenPriceUsd: m(0.15),
outputTokenPriceUsd: m(0.6),
inputAudioTokenPriceUsd: m(10),
outputAudioTokenPriceUsd: m(20),
},
{
name: 'gpt-4o-mini-audio-preview-2024-12-17',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 128000,
inputCapabilities: ['text', 'audio'],
outputCapabilities: ['text', 'audio'],
inputTokenPriceUsd: m(0.15),
outputTokenPriceUsd: m(0.6),
inputAudioTokenPriceUsd: m(10),
outputAudioTokenPriceUsd: m(20),
},
{
name: 'gpt-4o-mini-realtime-preview',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 128000,
inputCapabilities: ['text', 'audio'],
outputCapabilities: ['text', 'audio'],
inputTokenPriceUsd: m(0.6),
outputTokenPriceUsd: m(2.4),
inputAudioTokenPriceUsd: m(10),
outputAudioTokenPriceUsd: m(20),
},
{
name: 'gpt-4o-mini-realtime-preview-2024-12-17',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 128000,
inputCapabilities: ['text', 'audio'],
outputCapabilities: ['text', 'audio'],
inputTokenPriceUsd: m(0.6),
outputTokenPriceUsd: m(2.4),
inputAudioTokenPriceUsd: m(10),
outputAudioTokenPriceUsd: m(20),
},
{
name: 'gpt-4o-mini-search-preview',
supportsChat: true,
contextWindowSize: 128000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(0.15),
outputTokenPriceUsd: m(0.6),
},
{
name: 'gpt-4o-mini-search-preview-2025-03-11',
supportsChat: true,
contextWindowSize: 128000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(0.15),
outputTokenPriceUsd: m(0.6),
},
{
name: 'gpt-4o-mini-transcribe',
inputCapabilities: ['audio'],
outputCapabilities: ['text'],
contextWindowSize: 16000,
inputTokenPriceUsd: m(1.25),
outputTokenPriceUsd: m(5),
inputAudioTokenPriceUsd: m(3),
},
{
name: 'gpt-4o-mini-tts',
inputCapabilities: ['text'],
outputCapabilities: ['audio'],
inputTokenPriceUsd: m(0.6),
outputAudioTokenPriceUsd: m(12),
},
// gpt-4-turbo
{
name: 'gpt-4-turbo',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 128000,
inputCapabilities: ['text'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(10),
outputTokenPriceUsd: m(30),
},
{
name: 'gpt-4-turbo-2024-04-09',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 128000,
inputCapabilities: ['text'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(10),
outputTokenPriceUsd: m(30),
},
{
name: 'gpt-4-turbo-preview',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 128000,
inputCapabilities: ['text'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(10),
outputTokenPriceUsd: m(30),
},
// gpt-4
{
name: 'gpt-4-1106-preview',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 128000,
inputCapabilities: ['text'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(10),
outputTokenPriceUsd: m(30),
},
{
name: 'gpt-4-1106-vision-preview',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 128000,
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(10),
outputTokenPriceUsd: m(30),
},
{
name: 'gpt-4-0125-preview',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 128000,
inputCapabilities: ['text'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(10),
outputTokenPriceUsd: m(30),
},
{
name: 'gpt-4',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 8192,
inputCapabilities: ['text'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(30),
outputTokenPriceUsd: m(60),
},
{
name: 'gpt-4-0613',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 8192,
inputCapabilities: ['text'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(30),
outputTokenPriceUsd: m(60),
},
{
name: 'gpt-4-0314',
supportsChat: true,
contextWindowSize: 8192,
inputCapabilities: ['text'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(30),
outputTokenPriceUsd: m(60),
},
{
name: 'gpt-4-32k',
supportsChat: true,
inputCapabilities: ['text'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(60),
outputTokenPriceUsd: m(120),
},
// gpt-3.5-turbo
{
name: 'gpt-3.5-turbo-instruct',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 4096,
inputCapabilities: ['text'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(1.5),
outputTokenPriceUsd: m(2),
},
{
name: 'gpt-3.5-turbo-instruct-0914',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 4096,
inputCapabilities: ['text'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(1.5),
outputTokenPriceUsd: m(2),
},
{
name: 'gpt-3.5-turbo-16k',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 16385,
inputCapabilities: ['text'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(3),
outputTokenPriceUsd: m(4),
},
{
name: 'gpt-3.5-turbo-16k-0613',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 16385,
inputCapabilities: ['text'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(3),
outputTokenPriceUsd: m(4),
},
{
name: 'gpt-3.5-turbo-1106',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 16385,
inputCapabilities: ['text'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(1),
outputTokenPriceUsd: m(2),
},
{
name: 'gpt-3.5-turbo-0613',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 16385,
inputCapabilities: ['text'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(1.5),
outputTokenPriceUsd: m(2),
},
{
name: 'gpt-3.5-turbo-0125',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 16385,
inputCapabilities: ['text'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(0.5),
outputTokenPriceUsd: m(1.5),
},
{
name: 'gpt-3.5-turbo',
supportsFunctionCalling: true,
supportsChat: true,
contextWindowSize: 16385,
inputCapabilities: ['text'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(0.5),
outputTokenPriceUsd: m(1.5),
},
{
name: 'gpt-3.5-0301',
supportsChat: true,
inputCapabilities: ['text'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(1.5),
outputTokenPriceUsd: m(2),
},
// legacy base models
{
name: 'davinci-002',
inputCapabilities: ['text'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(2),
outputTokenPriceUsd: m(2),
},
{
name: 'babbage-002',
inputCapabilities: ['text'],
outputCapabilities: ['text'],
inputTokenPriceUsd: m(0.4),
outputTokenPriceUsd: m(0.4),
},
// moderation
{
name: 'omni-moderation-latest',
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: 0,
outputTokenPriceUsd: 0,
},
{
name: 'omni-moderation-2024-09-26',
inputCapabilities: ['text', 'image'],
outputCapabilities: ['text'],
inputTokenPriceUsd: 0,
outputTokenPriceUsd: 0,
},
{
name: 'text-moderation-latest',
inputCapabilities: ['text'],
outputCapabilities: ['text'],
inputTokenPriceUsd: 0,
outputTokenPriceUsd: 0,
},
{
name: 'text-moderation-007',
inputCapabilities: ['text'],
outputCapabilities: ['text'],
inputTokenPriceUsd: 0,
outputTokenPriceUsd: 0,
},
{
name: 'text-moderation',
inputCapabilities: ['text'],
outputCapabilities: ['text'],
inputTokenPriceUsd: 0,
outputTokenPriceUsd: 0,
},
{
name: 'text-moderation-stable',
inputCapabilities: ['text'],
outputCapabilities: ['text'],
inputTokenPriceUsd: 0,
outputTokenPriceUsd: 0,
},
// whisper
_speechToText = {
name: 'whisper-1',
inputCapabilities: ['audio', 'video'],
outputCapabilities: ['text'],
inputMinutePriceUsd: 0.006,
},
// tts
{
name: 'tts-1-hd-1106',
inputCapabilities: ['text'],
outputCapabilities: ['audio'],
inputTokenPriceUsd: 30,
},
{
name: 'tts-1-hd',
inputCapabilities: ['text'],
outputCapabilities: ['audio'],
inputTokenPriceUsd: 30,
},
_textToSpeech = {
name: 'tts-1',
inputCapabilities: ['text'],
outputCapabilities: ['audio'],
inputTokenPriceUsd: 15,
},
{
name: 'tts-1-1106',
inputCapabilities: ['text'],
outputCapabilities: ['audio'],
inputTokenPriceUsd: 15,
},
// dall-e
_image = {
name: 'gpt-image-1.5',
inputCapabilities: ['text', 'image'],
outputCapabilities: ['image'],
inputTokenPriceUsd: m(5),
inputImageTokenPriceUsd: m(10),
imagePriceUsd: 0.042,
imageLgPriceUsd: 0.063,
imageHdPriceUsd: 0.167,
imageLgHdPriceUsd: 0.25,
},
{
name: 'gpt-image-1',
inputCapabilities: ['text', 'image'],
outputCapabilities: ['image'],
inputTokenPriceUsd: m(5),
inputImageTokenPriceUsd: m(10),
imagePriceUsd: 0.042,
imageLgPriceUsd: 0.063,
imageHdPriceUsd: 0.167,
imageLgHdPriceUsd: 0.25,
},
{
name: 'dall-e-3',
inputCapabilities: ['text'],
outputCapabilities: ['image'],
imagePriceUsd: 0.04,
imageLgPriceUsd: 0.08,
imageHdPriceUsd: 0.08,
imageLgHdPriceUsd: 0.12,
},
{
name: 'dall-e-2',
inputCapabilities: ['text'],
outputCapabilities: ['image'],
imagePriceUsd: 0.016,
imageLgPriceUsd: 0.018,
imageHdPriceUsd: 0.02,
},
// text-embedding
_embedding = {
name: 'text-embedding-3-small',
inputCapabilities: ['text'],
outputCapabilities: ['embedding'],
inputTokenPriceUsd: m(0.02),
outputDimension: 1536,
},
{
name: 'text-embedding-3-large',
inputCapabilities: ['text'],
outputCapabilities: ['embedding'],
inputTokenPriceUsd: m(0.13),
outputDimension: 3072,
},
{
name: 'text-embedding-ada-002',
inputCapabilities: ['text'],
outputCapabilities: ['embedding'],
inputTokenPriceUsd: m(0.1),
outputDimension: 1536,
},
// open-weight
{
name: 'gpt-oss-120b',
supportsFunctionCalling: true,
supportsChat: true,
inputCapabilities: ['text'],
outputCapabilities: ['text'],
},
{
name: 'gpt-oss-20b',
supportsFunctionCalling: true,
supportsChat: true,
inputCapabilities: ['text'],
outputCapabilities: ['text'],
},
];
Object.freeze(openAiModels);
export const defaultOpenAiChatModel = _chat;
export const defaultOpenAiVisionModel = _vision;
export const defaultOpenAiImageModel = _image;
export const defaultOpenAiTextToSpeechModel = _textToSpeech;
export const defaultOpenAiSpeechToTextModel = _speechToText;
export const defaultOpenAiEmbeddingModel = _embedding;
for (const m of openAiModels) {
Object.freeze(m);
}
//# sourceMappingURL=openai-models.js.map