Skip to content

Commit cae7142

Browse files
authored
feat(models): add GPT-6 Sol and Luna (#8147)
1 parent cbd2603 commit cae7142

5 files changed

Lines changed: 88 additions & 1 deletion

File tree

‎apps/docs/content/docs/workflows/blocks/agent.mdx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ Live tool-call chips stream for **OpenAI, Anthropic, Azure Anthropic, Google, Ve
134134

135135
| Provider | Streamed thinking | Models |
136136
|----------|-------------------|--------|
137-
| OpenAI | Summaries only — Requires OpenAI organization verification; falls back to no summaries. | `gpt-6-astra`, `gpt-5.6-sol`, `gpt-5.6-terra`, `gpt-5.6-luna`, `gpt-5.5-pro`, `gpt-5.5`, `gpt-5.4-pro`, `gpt-5.4`, `gpt-5.4-mini`, `gpt-5.4-nano`, `gpt-5.3-codex`, `gpt-5.2-pro`, `gpt-5.2`, `gpt-5.1`, `gpt-5-pro`, `gpt-5`, `gpt-5-mini`, `gpt-5-nano`, `o4-mini`, `o3`, `o3-mini`, `o1` |
137+
| OpenAI | Summaries only — Requires OpenAI organization verification; falls back to no summaries. | `gpt-6-astra`, `gpt-6-sol`, `gpt-6-luna`, `gpt-5.6-sol`, `gpt-5.6-terra`, `gpt-5.6-luna`, `gpt-5.5-pro`, `gpt-5.5`, `gpt-5.4-pro`, `gpt-5.4`, `gpt-5.4-mini`, `gpt-5.4-nano`, `gpt-5.3-codex`, `gpt-5.2-pro`, `gpt-5.2`, `gpt-5.1`, `gpt-5-pro`, `gpt-5`, `gpt-5-mini`, `gpt-5-nano`, `o4-mini`, `o3`, `o3-mini`, `o1` |
138138
| Anthropic | Summaries only — These generations omit full thinking; Sim requests summarized thinking on streaming runs. | `claude-fable-5-1`, `claude-fable-5`, `claude-sonnet-5`, `claude-opus-5-5`, `claude-opus-5`, `claude-opus-4-8`, `claude-opus-4-7`, `claude-opus-4-6`, `claude-sonnet-4-6`, `claude-opus-4-5`, `claude-sonnet-4-5`, `claude-haiku-4-5` |
139139
| Azure OpenAI | Summaries only — Requires OpenAI organization verification; falls back to no summaries. | `azure/gpt-6-astra`, `azure/gpt-5.6-sol`, `azure/gpt-5.6-terra`, `azure/gpt-5.6-luna`, `azure/gpt-5.5`, `azure/gpt-5.4-pro`, `azure/gpt-5.4`, `azure/gpt-5.4-mini`, `azure/gpt-5.4-nano`, `azure/gpt-5.2`, `azure/gpt-5.1`, `azure/gpt-5.1-codex`, `azure/gpt-5`, `azure/gpt-5-mini`, `azure/gpt-5-nano`, `azure/o3`, `azure/o4-mini` |
140140
| Azure Anthropic | Summaries only — These generations omit full thinking; Sim requests summarized thinking on streaming runs. | `azure-anthropic/claude-fable-5-1`, `azure-anthropic/claude-opus-5`, `azure-anthropic/claude-opus-4-8`, `azure-anthropic/claude-opus-4-7`, `azure-anthropic/claude-opus-4-6`, `azure-anthropic/claude-opus-4-5`, `azure-anthropic/claude-sonnet-5`, `azure-anthropic/claude-sonnet-4-6`, `azure-anthropic/claude-sonnet-4-5`, `azure-anthropic/claude-opus-4-1`, `azure-anthropic/claude-haiku-4-5` |

‎apps/sim/providers/models.test.ts‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,8 @@ describe('OpenAI provider definition', () => {
142142

143143
describe('direct provider catalog additions', () => {
144144
it.each([
145+
['gpt-6-sol', 'openai'],
146+
['gpt-6-luna', 'openai'],
145147
['chat-latest', 'openai'],
146148
['gpt-5.3-codex', 'openai'],
147149
['gemini-3.7-flash', 'google'],

‎apps/sim/providers/models.ts‎

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -357,6 +357,63 @@ export const PROVIDER_DEFINITIONS: Record<string, ProviderDefinition> = {
357357
featured: true,
358358
recommended: true,
359359
},
360+
{
361+
id: 'gpt-6-sol',
362+
pricing: {
363+
input: 2.0,
364+
cachedInput: 0.2,
365+
output: 10.0,
366+
tiers: [
367+
{
368+
aboveInputTokens: 272000,
369+
input: 4.0,
370+
cachedInput: 0.4,
371+
output: 15.0,
372+
},
373+
],
374+
updatedAt: '2026-09-22',
375+
},
376+
capabilities: {
377+
reasoningEffort: {
378+
values: ['none', 'low', 'medium', 'high', 'xhigh', 'max'],
379+
},
380+
verbosity: {
381+
values: ['low', 'medium', 'high'],
382+
},
383+
maxOutputTokens: 128000,
384+
},
385+
contextWindow: 1050000,
386+
releaseDate: '2026-09-22',
387+
},
388+
{
389+
id: 'gpt-6-luna',
390+
pricing: {
391+
input: 0.1,
392+
cachedInput: 0.01,
393+
output: 0.5,
394+
tiers: [
395+
{
396+
aboveInputTokens: 272000,
397+
input: 0.2,
398+
cachedInput: 0.02,
399+
output: 0.75,
400+
},
401+
],
402+
updatedAt: '2026-09-22',
403+
},
404+
capabilities: {
405+
reasoningEffort: {
406+
values: ['none', 'low', 'medium', 'high', 'xhigh', 'max'],
407+
},
408+
verbosity: {
409+
values: ['low', 'medium', 'high'],
410+
},
411+
maxOutputTokens: 128000,
412+
},
413+
contextWindow: 1050000,
414+
releaseDate: '2026-09-22',
415+
speedOptimized: true,
416+
},
360417
// GPT-4.1 family
361418
{
362419
id: 'gpt-4.1',

‎apps/sim/providers/openai/usage.test.ts‎

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,32 @@ function responsesUsage(partial: Partial<ResponsesUsageTokens>): ResponsesUsageT
3434
}
3535

3636
describe('OpenAI usage aggregation', () => {
37+
it.each([
38+
['gpt-6-sol', 272_000, 0.414, 0.1],
39+
['gpt-6-sol', 272_001, 0.828004, 0.15],
40+
['gpt-6-luna', 272_000, 0.0207, 0.005],
41+
['gpt-6-luna', 272_001, 0.0414002, 0.0075],
42+
] as const)(
43+
'bills %s at %i prompt tokens using the full prompt to price cache reads, writes, and output',
44+
(model, promptTokens, inputCost, outputCost) => {
45+
const usage = createOpenAIUsageAccumulator()
46+
addOpenAIUsage(
47+
usage,
48+
responsesUsage({
49+
promptTokens,
50+
cachedTokens: 100_000,
51+
cacheWriteTokens: 100_000,
52+
completionTokens: 10_000,
53+
})
54+
)
55+
56+
const cost = buildOpenAIUsageCost(model, usage)
57+
expect(cost.input).toBeCloseTo(inputCost, 10)
58+
expect(cost.output).toBeCloseTo(outputCost, 10)
59+
expect(cost.total).toBeCloseTo(inputCost + outputCost, 10)
60+
}
61+
)
62+
3763
it('matches plain list pricing when nothing was cached', () => {
3864
const usage = createOpenAIUsageAccumulator()
3965
addOpenAIUsage(usage, responsesUsage({ promptTokens: 12_345, completionTokens: 6_789 }))

‎apps/sim/providers/utils.test.ts‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -952,6 +952,8 @@ describe('getHostedModels', () => {
952952
describe('shouldBillModelUsage', () => {
953953
it('should return true for exact matches of hosted models', () => {
954954
expect(shouldBillModelUsage('gpt-6-astra')).toBe(true)
955+
expect(shouldBillModelUsage('gpt-6-sol')).toBe(true)
956+
expect(shouldBillModelUsage('gpt-6-luna')).toBe(true)
955957
expect(shouldBillModelUsage('gpt-4o')).toBe(true)
956958
expect(shouldBillModelUsage('o1')).toBe(true)
957959

0 commit comments

Comments
 (0)