# Prices vary for respective API providers. Default prices may not reflect current prices.

# [Structure template]
# {PROVIDER}:
#   {MODEL_NAME}:
#     model_family: {FAMILY_NAME}
#     model_alias: {MODEL_API_NAME}
#     model_context_length: {MODEL_WINDOW}
#     model_params:
#       {custom parameter arguments}. For example:
#       max_completion_tokens: 
#       temperature:
#       top_p:
#       context_length:
#       stop:
#       extra_body:

# OPENAI
openai:
  base_url: https://api.openai.com/v1
  gpt-5.5:
    model_family: gpt-5
    model_alias: gpt-5.5
    model_context_length: 1050000
    model_params:
      max_completion_tokens: 8192 # max: 128k
      temperature: 1.0
      top_p: 1.0
      frequency_penalty: 0.0
      presence_penalty: 0.0
      reasoning_effort: medium
    cost_usd_mtok:
      input: 5.00
      output: 30.00
  gpt-5.4:
    model_family: gpt-5
    model_alias: gpt-5.4
    model_context_length: 1050000
    model_params:
      max_completion_tokens: 8192 # max: 128k
      temperature: 1.0
      top_p: 1.0
      frequency_penalty: 0.0
      presence_penalty: 0.0
      reasoning_effort: medium
    cost_usd_mtok:
      input: 2.50
      output: 15.00
  gpt-5.4-mini:
    model_family: gpt-5
    model_alias: gpt-5.4-mini
    model_context_length: 400000
    model_params:
      max_completion_tokens: 8192 # max: 128k
      temperature: 1.0
      top_p: 1.0
      frequency_penalty: 0.0
      presence_penalty: 0.0
      reasoning_effort: medium
    cost_usd_mtok:
      input: 0.75
      output: 4.50
  gpt-5.4-nano:
    model_family: gpt-5
    model_alias: gpt-5.4-nano
    model_context_length: 400000
    model_params:
      max_completion_tokens: 8192 # max: 128k
      temperature: 1.0
      top_p: 1.0
      frequency_penalty: 0.0
      presence_penalty: 0.0
      reasoning_effort: medium
    cost_usd_mtok:
      input: 0.20
      output: 1.25
  gpt-5.2:
    model_family: gpt-5
    model_alias: gpt-5.2
    model_context_length: 400000
    model_params:
      max_completion_tokens: 8192 # max: 128k
      temperature: 1.0
      top_p: 1.0
      frequency_penalty: 0.0
      presence_penalty: 0.0
      reasoning_effort: medium
    cost_usd_mtok:
      input: 1.75
      output: 14.00
  gpt-5.1:
    model_family: gpt-5
    model_alias: gpt-5.1
    model_context_length: 400000
    model_params:
      max_completion_tokens: 8192 # max: 128k
      temperature: 1.0
      top_p: 1.0
      frequency_penalty: 0.0
      presence_penalty: 0.0
      reasoning_effort: medium
    cost_usd_mtok:
      input: 1.25
      output: 10.00
  gpt-5:
    model_family: gpt-5
    model_alias: gpt-5
    model_context_length: 400000
    model_params:
      max_completion_tokens: 8192 # max: 128k
      temperature: 1.0
      top_p: 1.0
      frequency_penalty: 0.0
      presence_penalty: 0.0
      reasoning_effort: medium
    cost_usd_mtok:
      input: 1.25
      output: 10.00
  gpt-5-mini:
    model_family: gpt-5
    model_alias: gpt-5-mini
    model_context_length: 400000
    model_params:
      max_completion_tokens: 8192 # max: 128k
      temperature: 1.0
      top_p: 1.0
      frequency_penalty: 0.0
      presence_penalty: 0.0
      reasoning_effort: medium
    cost_usd_mtok:
      input: 0.25
      output: 2.00
  gpt-5-nano:
    model_family: gpt-5
    model_alias: gpt-5-nano
    model_context_length: 400000
    model_params:
      max_completion_tokens: 8192 # max: 128k
      temperature: 1.0
      top_p: 1.0
      frequency_penalty: 0.0
      presence_penalty: 0.0
      reasoning_effort: medium
    cost_usd_mtok:
      input: 0.05
      output: 0.40
  o1:
    model_family: o1
    model_alias: o1
    model_context_length: 200000
    model_params:
      max_completion_tokens: 8192 # max: 100k
      temperature: 1.0
      top_p: 1.0
      frequency_penalty: 0.0
      presence_penalty: 0.0
      stop:
      reasoning_effort: medium
    cost_usd_mtok:
      input: 15.00
      output: 60.00
  o1-mini:
    model_family: o1
    model_alias: o1-mini
    model_context_length: 128000
    model_params:
      max_completion_tokens: 8192 # max: 65536
      temperature: 1.0
      top_p: 1.0
      frequency_penalty: 0.0
      presence_penalty: 0.0
      stop:
    cost_usd_mtok:
      input: 1.10
      output: 4.40
  o3:
    model_family: o3
    model_alias: o3
    model_context_length: 200000
    model_params:
      max_completion_tokens: 8192 # max: 100k
      temperature: 1.0
      top_p: 1.0
      frequency_penalty: 0.0
      presence_penalty: 0.0
      stop:
      reasoning_effort: medium
    cost_usd_mtok:
      input: 10.00
      output: 40.00
  o3-mini:
    model_family: o3
    model_alias: o3-mini
    model_context_length: 200000
    model_params:
      max_completion_tokens: 8192 # max: 100k
      temperature: 1.0
      top_p: 1.0
      frequency_penalty: 0.0
      presence_penalty: 0.0
      stop:
      reasoning_effort: medium
    cost_usd_mtok:
      input: 1.10
      output: 4.40
  o4-mini:
    model_family: o4
    model_alias: o4-mini
    model_context_length: 200000
    model_params:
      max_completion_tokens: 8192 # max: 100k
      temperature: 1.0
      top_p: 1
      frequency_penalty: 0.0
      presence_penalty: 0.0
      stop:
      reasoning_effort: medium
    cost_usd_mtok:
      input: 1.10
      output: 4.40
  gpt-4.1:
    model_family: gpt-4.1
    model_alias: gpt-4.1
    model_context_length: 1047575
    model_params:
      max_completion_tokens: 8192 # max: 32768
      temperature: 0.0
      top_p: 1.0
      frequency_penalty: 0.0
      presence_penalty: 0.0
      stop:
    cost_usd_mtok:
      input: 2.00
      output: 8.00
  gpt-4.1-mini:
    model_family: gpt-4.1
    model_alias: gpt-4.1-mini
    model_context_length: 1047575
    model_params:
      max_completion_tokens: 8192 # max: 32768
      temperature: 0.0
      top_p: 1.0
      frequency_penalty: 0.0
      presence_penalty: 0.0
      stop:
    cost_usd_mtok:
      input: 0.40
      output: 1.60
  gpt-4.1-nano:
    model_family: gpt-4.1
    model_alias: gpt-4.1-nano
    model_context_length: 1047575
    model_params:
      max_completion_tokens: 8192 # max: 32768
      temperature: 0.0
      top_p: 1.0
      frequency_penalty: 0.0
      presence_penalty: 0.0
      stop:
    cost_usd_mtok:
      input: 0.10
      output: 0.40
  gpt-4o:
    model_family: gpt-4o
    model_alias: gpt-4o
    model_context_length: 128000
    model_params:
      max_completion_tokens: 8192 # max: 16384
      temperature: 0.0
      top_p: 1.0
      frequency_penalty: 0.0
      presence_penalty: 0.0
      stop:
    cost_usd_mtok:
      input: 2.50
      output: 10.00
  gpt-4o-mini:
    model_family: gpt-4o
    model_alias: gpt-4o-mini
    model_context_length: 128000
    model_params:
      max_completion_tokens: 8192 # max: 16384
      temperature: 0.0
      top_p: 1.0
      frequency_penalty: 0.0
      presence_penalty: 0.0
      stop:
    cost_usd_mtok:
      input: 0.15
      output: 0.60
  gpt-4:
    model_family: gpt-4
    model_alias: gpt-4
    model_context_length: 8192
    model_params:
      max_completion_tokens: 4096
      temperature: 0.0
      top_p: 1.0
      frequency_penalty: 0.0
      presence_penalty: 0.0
      stop:
    cost_usd_mtok:
      input: 30.00
      output: 60.00
  gpt-4-turbo:
    model_family: gpt-4
    model_alias: gpt-4-turbo
    model_context_length: 128000
    model_params:
      max_completion_tokens: 4096
      temperature: 0.0
      top_p: 1.0
      frequency_penalty: 0.0
      presence_penalty: 0.0
      stop:
    cost_usd_mtok:
      input: 10.00
      output: 30.00
  gpt-3.5-turbo:
    model_family: gpt-3.5
    model_alias: gpt-3.5-turbo
    model_context_length: 16385
    model_params:
      max_completion_tokens: 4096
      temperature: 0.0
      top_p: 1.0
      frequency_penalty: 0.0
      presence_penalty: 0.0
      stop:
    cost_usd_mtok:
      input: 0.50
      output: 1.50