coco-framework 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (400) hide show
  1. coco/__init__.py +3 -0
  2. coco/agents/__init__.py +9 -0
  3. coco/agents/_subagent_transformer.py +307 -0
  4. coco/agents/factory.py +2164 -0
  5. coco/agents/middleware/__init__.py +100 -0
  6. coco/agents/middleware/_execution.py +385 -0
  7. coco/agents/middleware/_redaction.py +454 -0
  8. coco/agents/middleware/_retry.py +134 -0
  9. coco/agents/middleware/_trace_policy.py +61 -0
  10. coco/agents/middleware/context_editing.py +306 -0
  11. coco/agents/middleware/file_search.py +433 -0
  12. coco/agents/middleware/human_in_the_loop.py +680 -0
  13. coco/agents/middleware/internal_call_transformer.py +108 -0
  14. coco/agents/middleware/model_call_limit.py +267 -0
  15. coco/agents/middleware/model_fallback.py +417 -0
  16. coco/agents/middleware/model_retry.py +327 -0
  17. coco/agents/middleware/pii.py +878 -0
  18. coco/agents/middleware/provider_tool_search.py +307 -0
  19. coco/agents/middleware/shell_tool.py +949 -0
  20. coco/agents/middleware/summarization.py +910 -0
  21. coco/agents/middleware/todo.py +357 -0
  22. coco/agents/middleware/tool_call_limit.py +495 -0
  23. coco/agents/middleware/tool_emulator.py +251 -0
  24. coco/agents/middleware/tool_error.py +209 -0
  25. coco/agents/middleware/tool_retry.py +421 -0
  26. coco/agents/middleware/tool_selection.py +515 -0
  27. coco/agents/middleware/types.py +2201 -0
  28. coco/agents/structured_output.py +472 -0
  29. coco/chat_models/__init__.py +7 -0
  30. coco/chat_models/base.py +1082 -0
  31. coco/embeddings/__init__.py +18 -0
  32. coco/embeddings/base.py +279 -0
  33. coco/mcp/__init__.py +36 -0
  34. coco/mcp/adapter.py +245 -0
  35. coco/mcp/elicitation.py +394 -0
  36. coco/mcp/tools.py +307 -0
  37. coco/messages/__init__.py +73 -0
  38. coco/py.typed +0 -0
  39. coco/rate_limiters/__init__.py +13 -0
  40. coco/tools/__init__.py +22 -0
  41. coco/tools/tool_node.py +20 -0
  42. coco_anthropic/__init__.py +15 -0
  43. coco_anthropic/_client_utils.py +81 -0
  44. coco_anthropic/_compat.py +228 -0
  45. coco_anthropic/_sdk_compat.py +124 -0
  46. coco_anthropic/_version.py +3 -0
  47. coco_anthropic/chat_models.py +3349 -0
  48. coco_anthropic/data/__init__.py +1 -0
  49. coco_anthropic/data/_profiles.py +491 -0
  50. coco_anthropic/data/profile_augmentations.toml +69 -0
  51. coco_anthropic/experimental.py +140 -0
  52. coco_anthropic/llms.py +428 -0
  53. coco_anthropic/middleware/__init__.py +25 -0
  54. coco_anthropic/middleware/anthropic_tools.py +1197 -0
  55. coco_anthropic/middleware/bash.py +84 -0
  56. coco_anthropic/middleware/file_search.py +360 -0
  57. coco_anthropic/middleware/prompt_caching.py +276 -0
  58. coco_anthropic/output_parsers.py +93 -0
  59. coco_anthropic/py.typed +0 -0
  60. coco_core/__init__.py +20 -0
  61. coco_core/_api/__init__.py +87 -0
  62. coco_core/_api/beta_decorator.py +266 -0
  63. coco_core/_api/deprecation.py +637 -0
  64. coco_core/_api/internal.py +23 -0
  65. coco_core/_api/path.py +50 -0
  66. coco_core/_import_utils.py +41 -0
  67. coco_core/_protocol.py +625 -0
  68. coco_core/_security/__init__.py +36 -0
  69. coco_core/_security/_exceptions.py +9 -0
  70. coco_core/_security/_policy.py +313 -0
  71. coco_core/_security/_ssrf_protection.py +155 -0
  72. coco_core/_security/_transport.py +254 -0
  73. coco_core/agents.py +258 -0
  74. coco_core/caches.py +272 -0
  75. coco_core/callbacks/__init__.py +132 -0
  76. coco_core/callbacks/base.py +1229 -0
  77. coco_core/callbacks/file.py +266 -0
  78. coco_core/callbacks/manager.py +2826 -0
  79. coco_core/callbacks/stdout.py +123 -0
  80. coco_core/callbacks/streaming_stdout.py +154 -0
  81. coco_core/callbacks/usage.py +124 -0
  82. coco_core/chat_history.py +267 -0
  83. coco_core/chat_loaders.py +26 -0
  84. coco_core/chat_sessions.py +19 -0
  85. coco_core/cross_encoders.py +18 -0
  86. coco_core/document_loaders/__init__.py +36 -0
  87. coco_core/document_loaders/base.py +155 -0
  88. coco_core/document_loaders/blob_loaders.py +38 -0
  89. coco_core/documents/__init__.py +55 -0
  90. coco_core/documents/base.py +347 -0
  91. coco_core/documents/compressor.py +74 -0
  92. coco_core/documents/transformers.py +79 -0
  93. coco_core/embeddings/__init__.py +31 -0
  94. coco_core/embeddings/embeddings.py +78 -0
  95. coco_core/embeddings/fake.py +129 -0
  96. coco_core/env.py +22 -0
  97. coco_core/example_selectors/__init__.py +47 -0
  98. coco_core/example_selectors/base.py +60 -0
  99. coco_core/example_selectors/length_based.py +131 -0
  100. coco_core/example_selectors/semantic_similarity.py +366 -0
  101. coco_core/exceptions.py +166 -0
  102. coco_core/globals.py +72 -0
  103. coco_core/indexing/__init__.py +53 -0
  104. coco_core/indexing/api.py +954 -0
  105. coco_core/indexing/base.py +661 -0
  106. coco_core/indexing/in_memory.py +104 -0
  107. coco_core/language_models/__init__.py +116 -0
  108. coco_core/language_models/_compat_bridge.py +844 -0
  109. coco_core/language_models/_utils.py +343 -0
  110. coco_core/language_models/base.py +500 -0
  111. coco_core/language_models/chat_model_stream.py +1525 -0
  112. coco_core/language_models/chat_models.py +2748 -0
  113. coco_core/language_models/fake.py +137 -0
  114. coco_core/language_models/fake_chat_models.py +396 -0
  115. coco_core/language_models/llms.py +1569 -0
  116. coco_core/language_models/model_profile.py +183 -0
  117. coco_core/load/__init__.py +44 -0
  118. coco_core/load/_validation.py +191 -0
  119. coco_core/load/dump.py +120 -0
  120. coco_core/load/load.py +828 -0
  121. coco_core/load/mapping.py +1097 -0
  122. coco_core/load/serializable.py +406 -0
  123. coco_core/messages/__init__.py +198 -0
  124. coco_core/messages/ai.py +854 -0
  125. coco_core/messages/base.py +518 -0
  126. coco_core/messages/block_translators/__init__.py +112 -0
  127. coco_core/messages/block_translators/anthropic.py +534 -0
  128. coco_core/messages/block_translators/bedrock.py +108 -0
  129. coco_core/messages/block_translators/bedrock_converse.py +329 -0
  130. coco_core/messages/block_translators/coco_v0.py +303 -0
  131. coco_core/messages/block_translators/google_genai.py +610 -0
  132. coco_core/messages/block_translators/google_vertexai.py +21 -0
  133. coco_core/messages/block_translators/groq.py +157 -0
  134. coco_core/messages/block_translators/openai.py +1089 -0
  135. coco_core/messages/chat.py +64 -0
  136. coco_core/messages/content.py +1488 -0
  137. coco_core/messages/function.py +62 -0
  138. coco_core/messages/human.py +70 -0
  139. coco_core/messages/modifier.py +33 -0
  140. coco_core/messages/system.py +70 -0
  141. coco_core/messages/tool.py +418 -0
  142. coco_core/messages/utils.py +2442 -0
  143. coco_core/output_parsers/__init__.py +101 -0
  144. coco_core/output_parsers/base.py +361 -0
  145. coco_core/output_parsers/format_instructions.py +16 -0
  146. coco_core/output_parsers/json.py +139 -0
  147. coco_core/output_parsers/list.py +249 -0
  148. coco_core/output_parsers/openai_functions.py +324 -0
  149. coco_core/output_parsers/openai_tools.py +383 -0
  150. coco_core/output_parsers/pydantic.py +141 -0
  151. coco_core/output_parsers/string.py +63 -0
  152. coco_core/output_parsers/transform.py +175 -0
  153. coco_core/output_parsers/xml.py +301 -0
  154. coco_core/outputs/__init__.py +66 -0
  155. coco_core/outputs/chat_generation.py +147 -0
  156. coco_core/outputs/chat_result.py +39 -0
  157. coco_core/outputs/generation.py +80 -0
  158. coco_core/outputs/llm_result.py +112 -0
  159. coco_core/outputs/run_info.py +22 -0
  160. coco_core/prompt_values.py +161 -0
  161. coco_core/prompts/__init__.py +101 -0
  162. coco_core/prompts/base.py +508 -0
  163. coco_core/prompts/chat.py +1495 -0
  164. coco_core/prompts/dict.py +177 -0
  165. coco_core/prompts/few_shot.py +483 -0
  166. coco_core/prompts/few_shot_with_templates.py +239 -0
  167. coco_core/prompts/image.py +177 -0
  168. coco_core/prompts/loading.py +296 -0
  169. coco_core/prompts/message.py +97 -0
  170. coco_core/prompts/prompt.py +312 -0
  171. coco_core/prompts/string.py +399 -0
  172. coco_core/prompts/structured.py +214 -0
  173. coco_core/py.typed +0 -0
  174. coco_core/rate_limiters.py +254 -0
  175. coco_core/retrievers.py +328 -0
  176. coco_core/runnables/__init__.py +136 -0
  177. coco_core/runnables/base.py +6725 -0
  178. coco_core/runnables/branch.py +457 -0
  179. coco_core/runnables/config.py +712 -0
  180. coco_core/runnables/configurable.py +710 -0
  181. coco_core/runnables/fallbacks.py +663 -0
  182. coco_core/runnables/graph.py +741 -0
  183. coco_core/runnables/graph_ascii.py +366 -0
  184. coco_core/runnables/graph_mermaid.py +503 -0
  185. coco_core/runnables/graph_png.py +215 -0
  186. coco_core/runnables/history.py +631 -0
  187. coco_core/runnables/passthrough.py +849 -0
  188. coco_core/runnables/retry.py +379 -0
  189. coco_core/runnables/router.py +239 -0
  190. coco_core/runnables/schema.py +188 -0
  191. coco_core/runnables/utils.py +798 -0
  192. coco_core/stores.py +291 -0
  193. coco_core/structured_query.py +203 -0
  194. coco_core/sys_info.py +154 -0
  195. coco_core/tools/__init__.py +95 -0
  196. coco_core/tools/base.py +1948 -0
  197. coco_core/tools/convert.py +497 -0
  198. coco_core/tools/render.py +67 -0
  199. coco_core/tools/retriever.py +94 -0
  200. coco_core/tools/simple.py +208 -0
  201. coco_core/tools/structured.py +322 -0
  202. coco_core/tracers/__init__.py +47 -0
  203. coco_core/tracers/_compat.py +95 -0
  204. coco_core/tracers/_context.py +337 -0
  205. coco_core/tracers/_streaming.py +53 -0
  206. coco_core/tracers/base.py +955 -0
  207. coco_core/tracers/coco.py +279 -0
  208. coco_core/tracers/context.py +205 -0
  209. coco_core/tracers/core.py +766 -0
  210. coco_core/tracers/event_stream.py +1101 -0
  211. coco_core/tracers/log_stream.py +765 -0
  212. coco_core/tracers/memory_stream.py +200 -0
  213. coco_core/tracers/root_listeners.py +130 -0
  214. coco_core/tracers/run_collector.py +40 -0
  215. coco_core/tracers/schemas.py +14 -0
  216. coco_core/tracers/stdout.py +205 -0
  217. coco_core/utils/__init__.py +111 -0
  218. coco_core/utils/_gateway.py +274 -0
  219. coco_core/utils/_merge.py +218 -0
  220. coco_core/utils/aiter.py +357 -0
  221. coco_core/utils/env.py +86 -0
  222. coco_core/utils/formatting.py +80 -0
  223. coco_core/utils/function_calling.py +869 -0
  224. coco_core/utils/html.py +132 -0
  225. coco_core/utils/image.py +15 -0
  226. coco_core/utils/input.py +82 -0
  227. coco_core/utils/interactive_env.py +12 -0
  228. coco_core/utils/iter.py +229 -0
  229. coco_core/utils/json.py +230 -0
  230. coco_core/utils/json_schema.py +273 -0
  231. coco_core/utils/mustache.py +706 -0
  232. coco_core/utils/pydantic.py +631 -0
  233. coco_core/utils/strings.py +69 -0
  234. coco_core/utils/usage.py +61 -0
  235. coco_core/utils/utils.py +528 -0
  236. coco_core/utils/uuid.py +57 -0
  237. coco_core/vectorstores/__init__.py +53 -0
  238. coco_core/vectorstores/base.py +1111 -0
  239. coco_core/vectorstores/in_memory.py +546 -0
  240. coco_core/vectorstores/utils.py +163 -0
  241. coco_core/version.py +3 -0
  242. coco_framework-0.1.0.dist-info/METADATA +184 -0
  243. coco_framework-0.1.0.dist-info/RECORD +400 -0
  244. coco_framework-0.1.0.dist-info/WHEEL +4 -0
  245. coco_framework-0.1.0.dist-info/licenses/LICENSE +24 -0
  246. coco_framework-0.1.0.dist-info/licenses/NOTICE +15 -0
  247. coco_graph/_internal/__init__.py +4 -0
  248. coco_graph/_internal/_cache.py +31 -0
  249. coco_graph/_internal/_config.py +474 -0
  250. coco_graph/_internal/_constants.py +140 -0
  251. coco_graph/_internal/_fields.py +213 -0
  252. coco_graph/_internal/_future.py +220 -0
  253. coco_graph/_internal/_pydantic.py +275 -0
  254. coco_graph/_internal/_queue.py +124 -0
  255. coco_graph/_internal/_replay.py +90 -0
  256. coco_graph/_internal/_retry.py +29 -0
  257. coco_graph/_internal/_runnable.py +969 -0
  258. coco_graph/_internal/_scratchpad.py +19 -0
  259. coco_graph/_internal/_serde.py +253 -0
  260. coco_graph/_internal/_timeout.py +25 -0
  261. coco_graph/_internal/_typing.py +54 -0
  262. coco_graph/cache/base/__init__.py +48 -0
  263. coco_graph/cache/base/py.typed +0 -0
  264. coco_graph/cache/memory/__init__.py +73 -0
  265. coco_graph/cache/redis/__init__.py +144 -0
  266. coco_graph/cache/sqlite/__init__.py +120 -0
  267. coco_graph/callbacks.py +394 -0
  268. coco_graph/channels/__init__.py +29 -0
  269. coco_graph/channels/any_value.py +72 -0
  270. coco_graph/channels/base.py +121 -0
  271. coco_graph/channels/binop.py +155 -0
  272. coco_graph/channels/delta.py +202 -0
  273. coco_graph/channels/ephemeral_value.py +79 -0
  274. coco_graph/channels/last_value.py +151 -0
  275. coco_graph/channels/named_barrier_value.py +167 -0
  276. coco_graph/channels/topic.py +94 -0
  277. coco_graph/channels/untracked_value.py +73 -0
  278. coco_graph/checkpoint/base/__init__.py +861 -0
  279. coco_graph/checkpoint/base/id.py +109 -0
  280. coco_graph/checkpoint/base/py.typed +0 -0
  281. coco_graph/checkpoint/memory/__init__.py +698 -0
  282. coco_graph/checkpoint/memory/py.typed +0 -0
  283. coco_graph/checkpoint/postgres/__init__.py +602 -0
  284. coco_graph/checkpoint/postgres/_ainternal.py +23 -0
  285. coco_graph/checkpoint/postgres/_internal.py +21 -0
  286. coco_graph/checkpoint/postgres/aio.py +691 -0
  287. coco_graph/checkpoint/postgres/base.py +666 -0
  288. coco_graph/checkpoint/postgres/py.typed +0 -0
  289. coco_graph/checkpoint/postgres/shallow.py +967 -0
  290. coco_graph/checkpoint/serde/__init__.py +0 -0
  291. coco_graph/checkpoint/serde/_msgpack.py +97 -0
  292. coco_graph/checkpoint/serde/base.py +64 -0
  293. coco_graph/checkpoint/serde/encrypted.py +80 -0
  294. coco_graph/checkpoint/serde/event_hooks.py +52 -0
  295. coco_graph/checkpoint/serde/jsonplus.py +883 -0
  296. coco_graph/checkpoint/serde/py.typed +0 -0
  297. coco_graph/checkpoint/serde/types.py +68 -0
  298. coco_graph/checkpoint/sqlite/__init__.py +645 -0
  299. coco_graph/checkpoint/sqlite/_delta.py +172 -0
  300. coco_graph/checkpoint/sqlite/aio.py +738 -0
  301. coco_graph/checkpoint/sqlite/py.typed +0 -0
  302. coco_graph/checkpoint/sqlite/utils.py +116 -0
  303. coco_graph/config.py +196 -0
  304. coco_graph/constants.py +64 -0
  305. coco_graph/errors.py +241 -0
  306. coco_graph/func/__init__.py +620 -0
  307. coco_graph/graph/__init__.py +12 -0
  308. coco_graph/graph/_branch.py +225 -0
  309. coco_graph/graph/_node.py +103 -0
  310. coco_graph/graph/message.py +437 -0
  311. coco_graph/graph/state.py +1978 -0
  312. coco_graph/graph/ui.py +227 -0
  313. coco_graph/managed/__init__.py +3 -0
  314. coco_graph/managed/base.py +31 -0
  315. coco_graph/managed/is_last_step.py +24 -0
  316. coco_graph/prebuilt/__init__.py +23 -0
  317. coco_graph/prebuilt/_tool_call_stream.py +117 -0
  318. coco_graph/prebuilt/_tool_call_transformer.py +165 -0
  319. coco_graph/prebuilt/chat_agent_executor.py +1015 -0
  320. coco_graph/prebuilt/interrupt.py +105 -0
  321. coco_graph/prebuilt/py.typed +0 -0
  322. coco_graph/prebuilt/tool_node.py +2030 -0
  323. coco_graph/prebuilt/tool_validator.py +221 -0
  324. coco_graph/pregel/__init__.py +3 -0
  325. coco_graph/pregel/_algo.py +1460 -0
  326. coco_graph/pregel/_call.py +298 -0
  327. coco_graph/pregel/_checkpoint.py +331 -0
  328. coco_graph/pregel/_config.py +0 -0
  329. coco_graph/pregel/_draw.py +294 -0
  330. coco_graph/pregel/_executor.py +223 -0
  331. coco_graph/pregel/_io.py +174 -0
  332. coco_graph/pregel/_log.py +3 -0
  333. coco_graph/pregel/_loop.py +1988 -0
  334. coco_graph/pregel/_messages.py +461 -0
  335. coco_graph/pregel/_read.py +312 -0
  336. coco_graph/pregel/_retry.py +854 -0
  337. coco_graph/pregel/_runner.py +941 -0
  338. coco_graph/pregel/_tools.py +268 -0
  339. coco_graph/pregel/_utils.py +221 -0
  340. coco_graph/pregel/_validate.py +120 -0
  341. coco_graph/pregel/_write.py +192 -0
  342. coco_graph/pregel/debug.py +302 -0
  343. coco_graph/pregel/main.py +4364 -0
  344. coco_graph/pregel/protocol.py +288 -0
  345. coco_graph/pregel/types.py +38 -0
  346. coco_graph/py.typed +0 -0
  347. coco_graph/runtime.py +350 -0
  348. coco_graph/store/base/__init__.py +1322 -0
  349. coco_graph/store/base/batch.py +371 -0
  350. coco_graph/store/base/embed.py +436 -0
  351. coco_graph/store/base/py.typed +0 -0
  352. coco_graph/store/memory/__init__.py +592 -0
  353. coco_graph/store/memory/py.typed +0 -0
  354. coco_graph/store/postgres/__init__.py +4 -0
  355. coco_graph/store/postgres/aio.py +592 -0
  356. coco_graph/store/postgres/base.py +1480 -0
  357. coco_graph/store/postgres/py.typed +0 -0
  358. coco_graph/store/sqlite/__init__.py +4 -0
  359. coco_graph/store/sqlite/aio.py +632 -0
  360. coco_graph/store/sqlite/base.py +1514 -0
  361. coco_graph/stream/__init__.py +45 -0
  362. coco_graph/stream/_convert.py +32 -0
  363. coco_graph/stream/_mux.py +523 -0
  364. coco_graph/stream/_types.py +330 -0
  365. coco_graph/stream/run_stream.py +735 -0
  366. coco_graph/stream/stream_channel.py +341 -0
  367. coco_graph/stream/transformers.py +1039 -0
  368. coco_graph/types.py +1079 -0
  369. coco_graph/typing.py +48 -0
  370. coco_graph/utils/__init__.py +1 -0
  371. coco_graph/utils/config.py +4 -0
  372. coco_graph/utils/runnable.py +3 -0
  373. coco_graph/version.py +13 -0
  374. coco_graph/warnings.py +69 -0
  375. coco_openai/__init__.py +20 -0
  376. coco_openai/_compat.py +45 -0
  377. coco_openai/_version.py +3 -0
  378. coco_openai/chat_models/__init__.py +6 -0
  379. coco_openai/chat_models/_client_utils.py +684 -0
  380. coco_openai/chat_models/_compat.py +525 -0
  381. coco_openai/chat_models/azure.py +1227 -0
  382. coco_openai/chat_models/base.py +5654 -0
  383. coco_openai/chat_models/codex.py +557 -0
  384. coco_openai/chatgpt_oauth.py +1063 -0
  385. coco_openai/data/__init__.py +1 -0
  386. coco_openai/data/_profiles.py +1655 -0
  387. coco_openai/data/profile_augmentations.toml +127 -0
  388. coco_openai/embeddings/__init__.py +6 -0
  389. coco_openai/embeddings/azure.py +240 -0
  390. coco_openai/embeddings/base.py +820 -0
  391. coco_openai/llms/__init__.py +6 -0
  392. coco_openai/llms/azure.py +249 -0
  393. coco_openai/llms/base.py +919 -0
  394. coco_openai/middleware/__init__.py +11 -0
  395. coco_openai/middleware/openai_moderation.py +484 -0
  396. coco_openai/output_parsers/__init__.py +9 -0
  397. coco_openai/output_parsers/tools.py +9 -0
  398. coco_openai/py.typed +0 -0
  399. coco_openai/tools/__init__.py +5 -0
  400. coco_openai/tools/custom_tool.py +111 -0
@@ -0,0 +1,1655 @@
1
+ """Auto-generated model profiles.
2
+
3
+ DO NOT EDIT THIS FILE MANUALLY.
4
+ This file is generated by the trustcoco-profiles CLI tool.
5
+
6
+ It contains data derived from the models.dev project.
7
+
8
+ Source: https://github.com/sst/models.dev
9
+ License: MIT License
10
+
11
+ To update these data, refer to the instructions here:
12
+
13
+ https://docs.langchain.com/oss/python/langchain/models#updating-or-overwriting-profile-data
14
+ """
15
+
16
+ from typing import Any
17
+
18
+ _PROFILES: dict[str, dict[str, Any]] = {
19
+ "chatgpt-image-latest": {
20
+ "name": "chatgpt-image-latest",
21
+ "release_date": "2025-12-16",
22
+ "last_updated": "2025-12-16",
23
+ "open_weights": False,
24
+ "max_input_tokens": 0,
25
+ "max_output_tokens": 0,
26
+ "text_inputs": True,
27
+ "image_inputs": True,
28
+ "audio_inputs": False,
29
+ "video_inputs": False,
30
+ "text_outputs": True,
31
+ "image_outputs": True,
32
+ "audio_outputs": False,
33
+ "video_outputs": False,
34
+ "reasoning_output": False,
35
+ "tool_calling": False,
36
+ "attachment": True,
37
+ "temperature": False,
38
+ "image_url_inputs": True,
39
+ "pdf_inputs": True,
40
+ "pdf_tool_message": True,
41
+ "image_tool_message": True,
42
+ "tool_choice": True,
43
+ "tool_call_streaming": True,
44
+ },
45
+ "gpt-3.5-turbo": {
46
+ "name": "GPT-3.5-turbo",
47
+ "status": "deprecated",
48
+ "release_date": "2023-03-01",
49
+ "last_updated": "2023-11-06",
50
+ "open_weights": False,
51
+ "max_input_tokens": 16385,
52
+ "max_output_tokens": 4096,
53
+ "text_inputs": True,
54
+ "image_inputs": False,
55
+ "audio_inputs": False,
56
+ "video_inputs": False,
57
+ "text_outputs": True,
58
+ "image_outputs": False,
59
+ "audio_outputs": False,
60
+ "video_outputs": False,
61
+ "reasoning_output": False,
62
+ "tool_calling": False,
63
+ "structured_output": False,
64
+ "attachment": False,
65
+ "temperature": True,
66
+ "image_url_inputs": False,
67
+ "pdf_inputs": False,
68
+ "pdf_tool_message": False,
69
+ "image_tool_message": False,
70
+ "tool_choice": True,
71
+ "tool_call_streaming": True,
72
+ },
73
+ "gpt-4": {
74
+ "name": "GPT-4",
75
+ "status": "deprecated",
76
+ "release_date": "2023-11-06",
77
+ "last_updated": "2024-04-09",
78
+ "open_weights": False,
79
+ "max_input_tokens": 8192,
80
+ "max_output_tokens": 8192,
81
+ "text_inputs": True,
82
+ "image_inputs": False,
83
+ "audio_inputs": False,
84
+ "video_inputs": False,
85
+ "text_outputs": True,
86
+ "image_outputs": False,
87
+ "audio_outputs": False,
88
+ "video_outputs": False,
89
+ "reasoning_output": False,
90
+ "tool_calling": True,
91
+ "structured_output": False,
92
+ "attachment": True,
93
+ "temperature": True,
94
+ "image_url_inputs": True,
95
+ "pdf_inputs": True,
96
+ "pdf_tool_message": True,
97
+ "image_tool_message": True,
98
+ "tool_choice": True,
99
+ "tool_call_streaming": True,
100
+ },
101
+ "gpt-4-turbo": {
102
+ "name": "GPT-4 Turbo",
103
+ "status": "deprecated",
104
+ "release_date": "2023-11-06",
105
+ "last_updated": "2024-04-09",
106
+ "open_weights": False,
107
+ "max_input_tokens": 128000,
108
+ "max_output_tokens": 4096,
109
+ "text_inputs": True,
110
+ "image_inputs": True,
111
+ "audio_inputs": False,
112
+ "video_inputs": False,
113
+ "text_outputs": True,
114
+ "image_outputs": False,
115
+ "audio_outputs": False,
116
+ "video_outputs": False,
117
+ "reasoning_output": False,
118
+ "tool_calling": True,
119
+ "structured_output": False,
120
+ "attachment": True,
121
+ "temperature": True,
122
+ "image_url_inputs": True,
123
+ "pdf_inputs": True,
124
+ "pdf_tool_message": True,
125
+ "image_tool_message": True,
126
+ "tool_choice": True,
127
+ "tool_call_streaming": True,
128
+ },
129
+ "gpt-4.1": {
130
+ "name": "GPT-4.1",
131
+ "release_date": "2025-04-14",
132
+ "last_updated": "2025-04-14",
133
+ "open_weights": False,
134
+ "max_input_tokens": 1047576,
135
+ "max_output_tokens": 32768,
136
+ "text_inputs": True,
137
+ "image_inputs": True,
138
+ "audio_inputs": False,
139
+ "pdf_inputs": True,
140
+ "video_inputs": False,
141
+ "text_outputs": True,
142
+ "image_outputs": False,
143
+ "audio_outputs": False,
144
+ "video_outputs": False,
145
+ "reasoning_output": False,
146
+ "tool_calling": True,
147
+ "structured_output": True,
148
+ "attachment": True,
149
+ "temperature": True,
150
+ "image_url_inputs": True,
151
+ "pdf_tool_message": True,
152
+ "image_tool_message": True,
153
+ "tool_choice": True,
154
+ "tool_call_streaming": True,
155
+ },
156
+ "gpt-4.1-mini": {
157
+ "name": "GPT-4.1 mini",
158
+ "release_date": "2025-04-14",
159
+ "last_updated": "2025-04-14",
160
+ "open_weights": False,
161
+ "max_input_tokens": 1047576,
162
+ "max_output_tokens": 32768,
163
+ "text_inputs": True,
164
+ "image_inputs": True,
165
+ "audio_inputs": False,
166
+ "pdf_inputs": True,
167
+ "video_inputs": False,
168
+ "text_outputs": True,
169
+ "image_outputs": False,
170
+ "audio_outputs": False,
171
+ "video_outputs": False,
172
+ "reasoning_output": False,
173
+ "tool_calling": True,
174
+ "structured_output": True,
175
+ "attachment": True,
176
+ "temperature": True,
177
+ "image_url_inputs": True,
178
+ "pdf_tool_message": True,
179
+ "image_tool_message": True,
180
+ "tool_choice": True,
181
+ "tool_call_streaming": True,
182
+ },
183
+ "gpt-4.1-nano": {
184
+ "name": "GPT-4.1 nano",
185
+ "status": "deprecated",
186
+ "release_date": "2025-04-14",
187
+ "last_updated": "2025-04-14",
188
+ "open_weights": False,
189
+ "max_input_tokens": 1047576,
190
+ "max_output_tokens": 32768,
191
+ "text_inputs": True,
192
+ "image_inputs": True,
193
+ "audio_inputs": False,
194
+ "video_inputs": False,
195
+ "text_outputs": True,
196
+ "image_outputs": False,
197
+ "audio_outputs": False,
198
+ "video_outputs": False,
199
+ "reasoning_output": False,
200
+ "tool_calling": True,
201
+ "structured_output": True,
202
+ "attachment": True,
203
+ "temperature": True,
204
+ "image_url_inputs": True,
205
+ "pdf_inputs": True,
206
+ "pdf_tool_message": True,
207
+ "image_tool_message": True,
208
+ "tool_choice": True,
209
+ "tool_call_streaming": True,
210
+ },
211
+ "gpt-4o": {
212
+ "name": "GPT-4o",
213
+ "release_date": "2024-05-13",
214
+ "last_updated": "2024-08-06",
215
+ "open_weights": False,
216
+ "max_input_tokens": 128000,
217
+ "max_output_tokens": 16384,
218
+ "text_inputs": True,
219
+ "image_inputs": True,
220
+ "audio_inputs": False,
221
+ "pdf_inputs": True,
222
+ "video_inputs": False,
223
+ "text_outputs": True,
224
+ "image_outputs": False,
225
+ "audio_outputs": False,
226
+ "video_outputs": False,
227
+ "reasoning_output": False,
228
+ "tool_calling": True,
229
+ "structured_output": True,
230
+ "attachment": True,
231
+ "temperature": True,
232
+ "image_url_inputs": True,
233
+ "pdf_tool_message": True,
234
+ "image_tool_message": True,
235
+ "tool_choice": True,
236
+ "tool_call_streaming": True,
237
+ },
238
+ "gpt-4o-2024-05-13": {
239
+ "name": "GPT-4o (2024-05-13)",
240
+ "status": "deprecated",
241
+ "release_date": "2024-05-13",
242
+ "last_updated": "2024-05-13",
243
+ "open_weights": False,
244
+ "max_input_tokens": 128000,
245
+ "max_output_tokens": 4096,
246
+ "text_inputs": True,
247
+ "image_inputs": True,
248
+ "audio_inputs": False,
249
+ "video_inputs": False,
250
+ "text_outputs": True,
251
+ "image_outputs": False,
252
+ "audio_outputs": False,
253
+ "video_outputs": False,
254
+ "reasoning_output": False,
255
+ "tool_calling": True,
256
+ "structured_output": True,
257
+ "attachment": True,
258
+ "temperature": True,
259
+ "image_url_inputs": True,
260
+ "pdf_inputs": True,
261
+ "pdf_tool_message": True,
262
+ "image_tool_message": True,
263
+ "tool_choice": True,
264
+ "tool_call_streaming": True,
265
+ },
266
+ "gpt-4o-2024-08-06": {
267
+ "name": "GPT-4o (2024-08-06)",
268
+ "release_date": "2024-08-06",
269
+ "last_updated": "2024-08-06",
270
+ "open_weights": False,
271
+ "max_input_tokens": 128000,
272
+ "max_output_tokens": 16384,
273
+ "text_inputs": True,
274
+ "image_inputs": True,
275
+ "audio_inputs": False,
276
+ "video_inputs": False,
277
+ "text_outputs": True,
278
+ "image_outputs": False,
279
+ "audio_outputs": False,
280
+ "video_outputs": False,
281
+ "reasoning_output": False,
282
+ "tool_calling": True,
283
+ "structured_output": True,
284
+ "attachment": True,
285
+ "temperature": True,
286
+ "image_url_inputs": True,
287
+ "pdf_inputs": True,
288
+ "pdf_tool_message": True,
289
+ "image_tool_message": True,
290
+ "tool_choice": True,
291
+ "tool_call_streaming": True,
292
+ },
293
+ "gpt-4o-2024-11-20": {
294
+ "name": "GPT-4o (2024-11-20)",
295
+ "release_date": "2024-11-20",
296
+ "last_updated": "2024-11-20",
297
+ "open_weights": False,
298
+ "max_input_tokens": 128000,
299
+ "max_output_tokens": 16384,
300
+ "text_inputs": True,
301
+ "image_inputs": True,
302
+ "audio_inputs": False,
303
+ "video_inputs": False,
304
+ "text_outputs": True,
305
+ "image_outputs": False,
306
+ "audio_outputs": False,
307
+ "video_outputs": False,
308
+ "reasoning_output": False,
309
+ "tool_calling": True,
310
+ "structured_output": True,
311
+ "attachment": True,
312
+ "temperature": True,
313
+ "image_url_inputs": True,
314
+ "pdf_inputs": True,
315
+ "pdf_tool_message": True,
316
+ "image_tool_message": True,
317
+ "tool_choice": True,
318
+ "tool_call_streaming": True,
319
+ },
320
+ "gpt-4o-mini": {
321
+ "name": "GPT-4o mini",
322
+ "release_date": "2024-07-18",
323
+ "last_updated": "2024-07-18",
324
+ "open_weights": False,
325
+ "max_input_tokens": 128000,
326
+ "max_output_tokens": 16384,
327
+ "text_inputs": True,
328
+ "image_inputs": True,
329
+ "audio_inputs": False,
330
+ "pdf_inputs": True,
331
+ "video_inputs": False,
332
+ "text_outputs": True,
333
+ "image_outputs": False,
334
+ "audio_outputs": False,
335
+ "video_outputs": False,
336
+ "reasoning_output": False,
337
+ "tool_calling": True,
338
+ "structured_output": True,
339
+ "attachment": True,
340
+ "temperature": True,
341
+ "image_url_inputs": True,
342
+ "pdf_tool_message": True,
343
+ "image_tool_message": True,
344
+ "tool_choice": True,
345
+ "tool_call_streaming": True,
346
+ },
347
+ "gpt-5": {
348
+ "name": "GPT-5",
349
+ "release_date": "2025-08-07",
350
+ "last_updated": "2025-08-07",
351
+ "open_weights": False,
352
+ "max_input_tokens": 272000,
353
+ "max_output_tokens": 128000,
354
+ "text_inputs": True,
355
+ "image_inputs": True,
356
+ "audio_inputs": False,
357
+ "video_inputs": False,
358
+ "text_outputs": True,
359
+ "image_outputs": False,
360
+ "audio_outputs": False,
361
+ "video_outputs": False,
362
+ "reasoning_output": True,
363
+ "tool_calling": True,
364
+ "structured_output": True,
365
+ "attachment": True,
366
+ "temperature": False,
367
+ "image_url_inputs": True,
368
+ "pdf_inputs": True,
369
+ "pdf_tool_message": True,
370
+ "image_tool_message": True,
371
+ "tool_choice": True,
372
+ "tool_call_streaming": True,
373
+ "reasoning_effort_levels": [
374
+ "minimal",
375
+ "low",
376
+ "medium",
377
+ "high",
378
+ ],
379
+ },
380
+ "gpt-5-chat-latest": {
381
+ "image_url_inputs": True,
382
+ "pdf_inputs": True,
383
+ "pdf_tool_message": True,
384
+ "image_tool_message": True,
385
+ "tool_choice": True,
386
+ "tool_call_streaming": True,
387
+ "max_input_tokens": 272000,
388
+ "reasoning_effort_levels": [
389
+ "none",
390
+ "low",
391
+ "medium",
392
+ "high",
393
+ "xhigh",
394
+ ],
395
+ },
396
+ "gpt-5-codex": {
397
+ "image_url_inputs": True,
398
+ "pdf_inputs": True,
399
+ "pdf_tool_message": True,
400
+ "image_tool_message": True,
401
+ "tool_choice": True,
402
+ "tool_call_streaming": True,
403
+ "max_input_tokens": 272000,
404
+ "reasoning_effort_levels": [
405
+ "none",
406
+ "low",
407
+ "medium",
408
+ "high",
409
+ "xhigh",
410
+ ],
411
+ },
412
+ "gpt-5-mini": {
413
+ "name": "GPT-5 Mini",
414
+ "release_date": "2025-08-07",
415
+ "last_updated": "2025-08-07",
416
+ "open_weights": False,
417
+ "max_input_tokens": 272000,
418
+ "max_output_tokens": 128000,
419
+ "text_inputs": True,
420
+ "image_inputs": True,
421
+ "audio_inputs": False,
422
+ "video_inputs": False,
423
+ "text_outputs": True,
424
+ "image_outputs": False,
425
+ "audio_outputs": False,
426
+ "video_outputs": False,
427
+ "reasoning_output": True,
428
+ "tool_calling": True,
429
+ "structured_output": True,
430
+ "attachment": True,
431
+ "temperature": False,
432
+ "image_url_inputs": True,
433
+ "pdf_inputs": True,
434
+ "pdf_tool_message": True,
435
+ "image_tool_message": True,
436
+ "tool_choice": True,
437
+ "tool_call_streaming": True,
438
+ "reasoning_effort_levels": [
439
+ "minimal",
440
+ "low",
441
+ "medium",
442
+ "high",
443
+ ],
444
+ },
445
+ "gpt-5-nano": {
446
+ "name": "GPT-5 Nano",
447
+ "release_date": "2025-08-07",
448
+ "last_updated": "2025-08-07",
449
+ "open_weights": False,
450
+ "max_input_tokens": 272000,
451
+ "max_output_tokens": 128000,
452
+ "text_inputs": True,
453
+ "image_inputs": True,
454
+ "audio_inputs": False,
455
+ "video_inputs": False,
456
+ "text_outputs": True,
457
+ "image_outputs": False,
458
+ "audio_outputs": False,
459
+ "video_outputs": False,
460
+ "reasoning_output": True,
461
+ "tool_calling": True,
462
+ "structured_output": True,
463
+ "attachment": True,
464
+ "temperature": False,
465
+ "image_url_inputs": True,
466
+ "pdf_inputs": True,
467
+ "pdf_tool_message": True,
468
+ "image_tool_message": True,
469
+ "tool_choice": True,
470
+ "tool_call_streaming": True,
471
+ "reasoning_effort_levels": [
472
+ "minimal",
473
+ "low",
474
+ "medium",
475
+ "high",
476
+ ],
477
+ },
478
+ "gpt-5-pro": {
479
+ "name": "GPT-5 Pro",
480
+ "release_date": "2025-10-06",
481
+ "last_updated": "2025-10-06",
482
+ "open_weights": False,
483
+ "max_input_tokens": 272000,
484
+ "max_output_tokens": 272000,
485
+ "text_inputs": True,
486
+ "image_inputs": True,
487
+ "audio_inputs": False,
488
+ "video_inputs": False,
489
+ "text_outputs": True,
490
+ "image_outputs": False,
491
+ "audio_outputs": False,
492
+ "video_outputs": False,
493
+ "reasoning_output": True,
494
+ "tool_calling": True,
495
+ "structured_output": True,
496
+ "attachment": True,
497
+ "temperature": False,
498
+ "image_url_inputs": True,
499
+ "pdf_inputs": True,
500
+ "pdf_tool_message": True,
501
+ "image_tool_message": True,
502
+ "tool_choice": True,
503
+ "tool_call_streaming": True,
504
+ "reasoning_effort_levels": [
505
+ "none",
506
+ "low",
507
+ "medium",
508
+ "high",
509
+ "xhigh",
510
+ ],
511
+ },
512
+ "gpt-5.1": {
513
+ "name": "GPT-5.1",
514
+ "release_date": "2025-11-13",
515
+ "last_updated": "2025-11-13",
516
+ "open_weights": False,
517
+ "max_input_tokens": 272000,
518
+ "max_output_tokens": 128000,
519
+ "text_inputs": True,
520
+ "image_inputs": True,
521
+ "audio_inputs": False,
522
+ "video_inputs": False,
523
+ "text_outputs": True,
524
+ "image_outputs": False,
525
+ "audio_outputs": False,
526
+ "video_outputs": False,
527
+ "reasoning_output": True,
528
+ "tool_calling": True,
529
+ "structured_output": True,
530
+ "attachment": True,
531
+ "temperature": True,
532
+ "image_url_inputs": True,
533
+ "pdf_inputs": True,
534
+ "pdf_tool_message": True,
535
+ "image_tool_message": True,
536
+ "tool_choice": True,
537
+ "tool_call_streaming": True,
538
+ "reasoning_effort_levels": [
539
+ "none",
540
+ "low",
541
+ "medium",
542
+ "high",
543
+ ],
544
+ },
545
+ "gpt-5.1-chat-latest": {
546
+ "image_url_inputs": True,
547
+ "pdf_inputs": True,
548
+ "pdf_tool_message": True,
549
+ "image_tool_message": True,
550
+ "tool_choice": True,
551
+ "tool_call_streaming": True,
552
+ "max_input_tokens": 272000,
553
+ "reasoning_effort_levels": [
554
+ "none",
555
+ "low",
556
+ "medium",
557
+ "high",
558
+ "xhigh",
559
+ ],
560
+ },
561
+ "gpt-5.1-codex": {
562
+ "image_url_inputs": True,
563
+ "pdf_inputs": True,
564
+ "pdf_tool_message": True,
565
+ "image_tool_message": True,
566
+ "tool_choice": True,
567
+ "tool_call_streaming": True,
568
+ "max_input_tokens": 272000,
569
+ "reasoning_effort_levels": [
570
+ "none",
571
+ "low",
572
+ "medium",
573
+ "high",
574
+ "xhigh",
575
+ ],
576
+ },
577
+ "gpt-5.1-codex-max": {
578
+ "image_url_inputs": True,
579
+ "pdf_inputs": True,
580
+ "pdf_tool_message": True,
581
+ "image_tool_message": True,
582
+ "tool_choice": True,
583
+ "tool_call_streaming": True,
584
+ "max_input_tokens": 272000,
585
+ "reasoning_effort_levels": [
586
+ "none",
587
+ "low",
588
+ "medium",
589
+ "high",
590
+ "xhigh",
591
+ ],
592
+ },
593
+ "gpt-5.1-codex-mini": {
594
+ "image_url_inputs": True,
595
+ "pdf_inputs": True,
596
+ "pdf_tool_message": True,
597
+ "image_tool_message": True,
598
+ "tool_choice": True,
599
+ "tool_call_streaming": True,
600
+ "max_input_tokens": 272000,
601
+ "reasoning_effort_levels": [
602
+ "none",
603
+ "low",
604
+ "medium",
605
+ "high",
606
+ "xhigh",
607
+ ],
608
+ },
609
+ "gpt-5.2": {
610
+ "name": "GPT-5.2",
611
+ "release_date": "2025-12-11",
612
+ "last_updated": "2025-12-11",
613
+ "open_weights": False,
614
+ "max_input_tokens": 272000,
615
+ "max_output_tokens": 128000,
616
+ "text_inputs": True,
617
+ "image_inputs": True,
618
+ "audio_inputs": False,
619
+ "video_inputs": False,
620
+ "text_outputs": True,
621
+ "image_outputs": False,
622
+ "audio_outputs": False,
623
+ "video_outputs": False,
624
+ "reasoning_output": True,
625
+ "tool_calling": True,
626
+ "structured_output": True,
627
+ "attachment": True,
628
+ "temperature": True,
629
+ "image_url_inputs": True,
630
+ "pdf_inputs": True,
631
+ "pdf_tool_message": True,
632
+ "image_tool_message": True,
633
+ "tool_choice": True,
634
+ "tool_call_streaming": True,
635
+ "reasoning_effort_levels": [
636
+ "none",
637
+ "low",
638
+ "medium",
639
+ "high",
640
+ "xhigh",
641
+ ],
642
+ },
643
+ "gpt-5.2-chat-latest": {
644
+ "name": "GPT-5.2 Chat",
645
+ "status": "deprecated",
646
+ "release_date": "2025-12-11",
647
+ "last_updated": "2025-12-11",
648
+ "open_weights": False,
649
+ "max_input_tokens": 272000,
650
+ "max_output_tokens": 16384,
651
+ "text_inputs": True,
652
+ "image_inputs": True,
653
+ "audio_inputs": False,
654
+ "video_inputs": False,
655
+ "text_outputs": True,
656
+ "image_outputs": False,
657
+ "audio_outputs": False,
658
+ "video_outputs": False,
659
+ "reasoning_output": True,
660
+ "tool_calling": True,
661
+ "structured_output": True,
662
+ "attachment": True,
663
+ "temperature": False,
664
+ "image_url_inputs": True,
665
+ "pdf_inputs": True,
666
+ "pdf_tool_message": True,
667
+ "image_tool_message": True,
668
+ "tool_choice": True,
669
+ "tool_call_streaming": True,
670
+ "reasoning_effort_levels": [
671
+ "none",
672
+ "low",
673
+ "medium",
674
+ "high",
675
+ "xhigh",
676
+ ],
677
+ },
678
+ "gpt-5.2-codex": {
679
+ "image_url_inputs": True,
680
+ "pdf_inputs": True,
681
+ "pdf_tool_message": True,
682
+ "image_tool_message": True,
683
+ "tool_choice": True,
684
+ "tool_call_streaming": True,
685
+ "reasoning_effort_levels": [
686
+ "none",
687
+ "low",
688
+ "medium",
689
+ "high",
690
+ "xhigh",
691
+ ],
692
+ },
693
+ "gpt-5.2-pro": {
694
+ "name": "GPT-5.2 Pro",
695
+ "release_date": "2025-12-11",
696
+ "last_updated": "2025-12-11",
697
+ "open_weights": False,
698
+ "max_input_tokens": 272000,
699
+ "max_output_tokens": 128000,
700
+ "text_inputs": True,
701
+ "image_inputs": True,
702
+ "audio_inputs": False,
703
+ "video_inputs": False,
704
+ "text_outputs": True,
705
+ "image_outputs": False,
706
+ "audio_outputs": False,
707
+ "video_outputs": False,
708
+ "reasoning_output": True,
709
+ "tool_calling": True,
710
+ "structured_output": False,
711
+ "attachment": True,
712
+ "temperature": False,
713
+ "image_url_inputs": True,
714
+ "pdf_inputs": True,
715
+ "pdf_tool_message": True,
716
+ "image_tool_message": True,
717
+ "tool_choice": True,
718
+ "tool_call_streaming": True,
719
+ "reasoning_effort_levels": [
720
+ "none",
721
+ "low",
722
+ "medium",
723
+ "high",
724
+ "xhigh",
725
+ ],
726
+ },
727
+ "gpt-5.3-chat-latest": {
728
+ "name": "GPT-5.3 Chat (latest)",
729
+ "status": "deprecated",
730
+ "release_date": "2026-03-03",
731
+ "last_updated": "2026-03-03",
732
+ "open_weights": False,
733
+ "max_input_tokens": 128000,
734
+ "max_output_tokens": 16384,
735
+ "text_inputs": True,
736
+ "image_inputs": True,
737
+ "audio_inputs": False,
738
+ "video_inputs": False,
739
+ "text_outputs": True,
740
+ "image_outputs": False,
741
+ "audio_outputs": False,
742
+ "video_outputs": False,
743
+ "reasoning_output": False,
744
+ "tool_calling": True,
745
+ "structured_output": True,
746
+ "attachment": True,
747
+ "temperature": True,
748
+ "image_url_inputs": True,
749
+ "pdf_inputs": True,
750
+ "pdf_tool_message": True,
751
+ "image_tool_message": True,
752
+ "tool_choice": True,
753
+ "tool_call_streaming": True,
754
+ },
755
+ "gpt-5.3-codex": {
756
+ "name": "GPT-5.3 Codex",
757
+ "release_date": "2026-02-05",
758
+ "last_updated": "2026-02-05",
759
+ "open_weights": False,
760
+ "max_input_tokens": 400000,
761
+ "max_output_tokens": 128000,
762
+ "text_inputs": True,
763
+ "image_inputs": True,
764
+ "audio_inputs": False,
765
+ "pdf_inputs": True,
766
+ "video_inputs": False,
767
+ "text_outputs": True,
768
+ "image_outputs": False,
769
+ "audio_outputs": False,
770
+ "video_outputs": False,
771
+ "reasoning_output": True,
772
+ "tool_calling": True,
773
+ "structured_output": True,
774
+ "attachment": True,
775
+ "temperature": True,
776
+ "image_url_inputs": True,
777
+ "pdf_tool_message": True,
778
+ "image_tool_message": True,
779
+ "tool_choice": True,
780
+ "tool_call_streaming": True,
781
+ "reasoning_effort_levels": [
782
+ "none",
783
+ "low",
784
+ "medium",
785
+ "high",
786
+ "xhigh",
787
+ ],
788
+ },
789
+ "gpt-5.3-codex-spark": {
790
+ "name": "GPT-5.3 Codex Spark",
791
+ "release_date": "2026-02-05",
792
+ "last_updated": "2026-02-05",
793
+ "open_weights": False,
794
+ "max_input_tokens": 128000,
795
+ "max_output_tokens": 32000,
796
+ "text_inputs": True,
797
+ "image_inputs": True,
798
+ "audio_inputs": False,
799
+ "pdf_inputs": True,
800
+ "video_inputs": False,
801
+ "text_outputs": True,
802
+ "image_outputs": False,
803
+ "audio_outputs": False,
804
+ "video_outputs": False,
805
+ "reasoning_output": True,
806
+ "tool_calling": True,
807
+ "structured_output": True,
808
+ "attachment": True,
809
+ "temperature": False,
810
+ "image_url_inputs": True,
811
+ "pdf_tool_message": True,
812
+ "image_tool_message": True,
813
+ "tool_choice": True,
814
+ "tool_call_streaming": True,
815
+ "reasoning_effort_levels": [
816
+ "none",
817
+ "low",
818
+ "medium",
819
+ "high",
820
+ "xhigh",
821
+ ],
822
+ },
823
+ "gpt-5.4": {
824
+ "name": "GPT-5.4",
825
+ "release_date": "2026-03-05",
826
+ "last_updated": "2026-03-05",
827
+ "open_weights": False,
828
+ "max_input_tokens": 1050000,
829
+ "max_output_tokens": 128000,
830
+ "text_inputs": True,
831
+ "image_inputs": True,
832
+ "audio_inputs": False,
833
+ "pdf_inputs": True,
834
+ "video_inputs": False,
835
+ "text_outputs": True,
836
+ "image_outputs": False,
837
+ "audio_outputs": False,
838
+ "video_outputs": False,
839
+ "reasoning_output": True,
840
+ "tool_calling": True,
841
+ "structured_output": True,
842
+ "attachment": True,
843
+ "temperature": True,
844
+ "image_url_inputs": True,
845
+ "pdf_tool_message": True,
846
+ "image_tool_message": True,
847
+ "tool_choice": True,
848
+ "tool_call_streaming": True,
849
+ "reasoning_effort_levels": [
850
+ "none",
851
+ "low",
852
+ "medium",
853
+ "high",
854
+ "xhigh",
855
+ ],
856
+ },
857
+ "gpt-5.4-mini": {
858
+ "name": "GPT-5.4 mini",
859
+ "release_date": "2026-03-17",
860
+ "last_updated": "2026-03-17",
861
+ "open_weights": False,
862
+ "max_input_tokens": 400000,
863
+ "max_output_tokens": 128000,
864
+ "text_inputs": True,
865
+ "image_inputs": True,
866
+ "audio_inputs": False,
867
+ "video_inputs": False,
868
+ "text_outputs": True,
869
+ "image_outputs": False,
870
+ "audio_outputs": False,
871
+ "video_outputs": False,
872
+ "reasoning_output": True,
873
+ "tool_calling": True,
874
+ "structured_output": True,
875
+ "attachment": True,
876
+ "temperature": True,
877
+ "image_url_inputs": True,
878
+ "pdf_inputs": True,
879
+ "pdf_tool_message": True,
880
+ "image_tool_message": True,
881
+ "tool_choice": True,
882
+ "tool_call_streaming": True,
883
+ "reasoning_effort_levels": [
884
+ "none",
885
+ "low",
886
+ "medium",
887
+ "high",
888
+ "xhigh",
889
+ ],
890
+ },
891
+ "gpt-5.4-nano": {
892
+ "name": "GPT-5.4 nano",
893
+ "release_date": "2026-03-17",
894
+ "last_updated": "2026-03-17",
895
+ "open_weights": False,
896
+ "max_input_tokens": 400000,
897
+ "max_output_tokens": 128000,
898
+ "text_inputs": True,
899
+ "image_inputs": True,
900
+ "audio_inputs": False,
901
+ "video_inputs": False,
902
+ "text_outputs": True,
903
+ "image_outputs": False,
904
+ "audio_outputs": False,
905
+ "video_outputs": False,
906
+ "reasoning_output": True,
907
+ "tool_calling": True,
908
+ "structured_output": True,
909
+ "attachment": True,
910
+ "temperature": True,
911
+ "image_url_inputs": True,
912
+ "pdf_inputs": True,
913
+ "pdf_tool_message": True,
914
+ "image_tool_message": True,
915
+ "tool_choice": True,
916
+ "tool_call_streaming": True,
917
+ "reasoning_effort_levels": [
918
+ "none",
919
+ "low",
920
+ "medium",
921
+ "high",
922
+ "xhigh",
923
+ ],
924
+ },
925
+ "gpt-5.4-pro": {
926
+ "name": "GPT-5.4 Pro",
927
+ "release_date": "2026-03-05",
928
+ "last_updated": "2026-03-05",
929
+ "open_weights": False,
930
+ "max_input_tokens": 1050000,
931
+ "max_output_tokens": 128000,
932
+ "text_inputs": True,
933
+ "image_inputs": True,
934
+ "audio_inputs": False,
935
+ "video_inputs": False,
936
+ "text_outputs": True,
937
+ "image_outputs": False,
938
+ "audio_outputs": False,
939
+ "video_outputs": False,
940
+ "reasoning_output": True,
941
+ "tool_calling": True,
942
+ "structured_output": False,
943
+ "attachment": True,
944
+ "temperature": False,
945
+ "image_url_inputs": True,
946
+ "pdf_inputs": True,
947
+ "pdf_tool_message": True,
948
+ "image_tool_message": True,
949
+ "tool_choice": True,
950
+ "tool_call_streaming": True,
951
+ "reasoning_effort_levels": [
952
+ "none",
953
+ "low",
954
+ "medium",
955
+ "high",
956
+ "xhigh",
957
+ ],
958
+ },
959
+ "gpt-5.5": {
960
+ "name": "GPT-5.5",
961
+ "release_date": "2026-04-23",
962
+ "last_updated": "2026-04-23",
963
+ "open_weights": False,
964
+ "max_input_tokens": 1050000,
965
+ "max_output_tokens": 128000,
966
+ "text_inputs": True,
967
+ "image_inputs": True,
968
+ "audio_inputs": False,
969
+ "pdf_inputs": True,
970
+ "video_inputs": False,
971
+ "text_outputs": True,
972
+ "image_outputs": False,
973
+ "audio_outputs": False,
974
+ "video_outputs": False,
975
+ "reasoning_output": True,
976
+ "tool_calling": True,
977
+ "structured_output": True,
978
+ "attachment": True,
979
+ "temperature": False,
980
+ "image_url_inputs": True,
981
+ "pdf_tool_message": True,
982
+ "image_tool_message": True,
983
+ "tool_choice": True,
984
+ "tool_call_streaming": True,
985
+ "reasoning_effort_levels": [
986
+ "none",
987
+ "low",
988
+ "medium",
989
+ "high",
990
+ "xhigh",
991
+ ],
992
+ "reasoning_effort_default": "medium",
993
+ },
994
+ "gpt-5.5-pro": {
995
+ "name": "GPT-5.5 Pro",
996
+ "release_date": "2026-04-23",
997
+ "last_updated": "2026-04-23",
998
+ "open_weights": False,
999
+ "max_input_tokens": 1050000,
1000
+ "max_output_tokens": 128000,
1001
+ "text_inputs": True,
1002
+ "image_inputs": True,
1003
+ "audio_inputs": False,
1004
+ "pdf_inputs": True,
1005
+ "video_inputs": False,
1006
+ "text_outputs": True,
1007
+ "image_outputs": False,
1008
+ "audio_outputs": False,
1009
+ "video_outputs": False,
1010
+ "reasoning_output": True,
1011
+ "tool_calling": True,
1012
+ "structured_output": True,
1013
+ "attachment": True,
1014
+ "temperature": False,
1015
+ "image_url_inputs": True,
1016
+ "pdf_tool_message": True,
1017
+ "image_tool_message": True,
1018
+ "tool_choice": True,
1019
+ "tool_call_streaming": True,
1020
+ "reasoning_effort_levels": [
1021
+ "none",
1022
+ "low",
1023
+ "medium",
1024
+ "high",
1025
+ "xhigh",
1026
+ ],
1027
+ "reasoning_effort_default": "medium",
1028
+ },
1029
+ "gpt-5.6": {
1030
+ "name": "GPT-5.6",
1031
+ "release_date": "2026-07-09",
1032
+ "last_updated": "2026-07-09",
1033
+ "open_weights": False,
1034
+ "max_input_tokens": 1050000,
1035
+ "max_output_tokens": 128000,
1036
+ "text_inputs": True,
1037
+ "image_inputs": True,
1038
+ "audio_inputs": False,
1039
+ "pdf_inputs": True,
1040
+ "video_inputs": False,
1041
+ "text_outputs": True,
1042
+ "image_outputs": False,
1043
+ "audio_outputs": False,
1044
+ "video_outputs": False,
1045
+ "reasoning_output": True,
1046
+ "tool_calling": True,
1047
+ "structured_output": True,
1048
+ "attachment": True,
1049
+ "temperature": False,
1050
+ "image_url_inputs": True,
1051
+ "pdf_tool_message": True,
1052
+ "image_tool_message": True,
1053
+ "tool_choice": True,
1054
+ "tool_call_streaming": True,
1055
+ "reasoning_effort_levels": [
1056
+ "none",
1057
+ "low",
1058
+ "medium",
1059
+ "high",
1060
+ "xhigh",
1061
+ "max",
1062
+ ],
1063
+ "reasoning_effort_default": "medium",
1064
+ },
1065
+ "gpt-5.6-luna": {
1066
+ "name": "GPT-5.6 Luna",
1067
+ "release_date": "2026-07-09",
1068
+ "last_updated": "2026-07-09",
1069
+ "open_weights": False,
1070
+ "max_input_tokens": 1050000,
1071
+ "max_output_tokens": 128000,
1072
+ "text_inputs": True,
1073
+ "image_inputs": True,
1074
+ "audio_inputs": False,
1075
+ "pdf_inputs": True,
1076
+ "video_inputs": False,
1077
+ "text_outputs": True,
1078
+ "image_outputs": False,
1079
+ "audio_outputs": False,
1080
+ "video_outputs": False,
1081
+ "reasoning_output": True,
1082
+ "tool_calling": True,
1083
+ "structured_output": True,
1084
+ "attachment": True,
1085
+ "temperature": False,
1086
+ "image_url_inputs": True,
1087
+ "pdf_tool_message": True,
1088
+ "image_tool_message": True,
1089
+ "tool_choice": True,
1090
+ "tool_call_streaming": True,
1091
+ "reasoning_effort_levels": [
1092
+ "none",
1093
+ "low",
1094
+ "medium",
1095
+ "high",
1096
+ "xhigh",
1097
+ "max",
1098
+ ],
1099
+ "reasoning_effort_default": "medium",
1100
+ },
1101
+ "gpt-5.6-sol": {
1102
+ "name": "GPT-5.6 Sol",
1103
+ "release_date": "2026-07-09",
1104
+ "last_updated": "2026-07-09",
1105
+ "open_weights": False,
1106
+ "max_input_tokens": 1050000,
1107
+ "max_output_tokens": 128000,
1108
+ "text_inputs": True,
1109
+ "image_inputs": True,
1110
+ "audio_inputs": False,
1111
+ "pdf_inputs": True,
1112
+ "video_inputs": False,
1113
+ "text_outputs": True,
1114
+ "image_outputs": False,
1115
+ "audio_outputs": False,
1116
+ "video_outputs": False,
1117
+ "reasoning_output": True,
1118
+ "tool_calling": True,
1119
+ "structured_output": True,
1120
+ "attachment": True,
1121
+ "temperature": False,
1122
+ "image_url_inputs": True,
1123
+ "pdf_tool_message": True,
1124
+ "image_tool_message": True,
1125
+ "tool_choice": True,
1126
+ "tool_call_streaming": True,
1127
+ "reasoning_effort_levels": [
1128
+ "none",
1129
+ "low",
1130
+ "medium",
1131
+ "high",
1132
+ "xhigh",
1133
+ "max",
1134
+ ],
1135
+ "reasoning_effort_default": "medium",
1136
+ },
1137
+ "gpt-5.6-terra": {
1138
+ "name": "GPT-5.6 Terra",
1139
+ "release_date": "2026-07-09",
1140
+ "last_updated": "2026-07-09",
1141
+ "open_weights": False,
1142
+ "max_input_tokens": 1050000,
1143
+ "max_output_tokens": 128000,
1144
+ "text_inputs": True,
1145
+ "image_inputs": True,
1146
+ "audio_inputs": False,
1147
+ "pdf_inputs": True,
1148
+ "video_inputs": False,
1149
+ "text_outputs": True,
1150
+ "image_outputs": False,
1151
+ "audio_outputs": False,
1152
+ "video_outputs": False,
1153
+ "reasoning_output": True,
1154
+ "tool_calling": True,
1155
+ "structured_output": True,
1156
+ "attachment": True,
1157
+ "temperature": False,
1158
+ "image_url_inputs": True,
1159
+ "pdf_tool_message": True,
1160
+ "image_tool_message": True,
1161
+ "tool_choice": True,
1162
+ "tool_call_streaming": True,
1163
+ "reasoning_effort_levels": [
1164
+ "none",
1165
+ "low",
1166
+ "medium",
1167
+ "high",
1168
+ "xhigh",
1169
+ "max",
1170
+ ],
1171
+ "reasoning_effort_default": "medium",
1172
+ },
1173
+ "gpt-6-astra": {
1174
+ "name": "GPT-6 Astra",
1175
+ "release_date": "2026-09-04",
1176
+ "last_updated": "2026-09-04",
1177
+ "open_weights": False,
1178
+ "max_input_tokens": 1050000,
1179
+ "max_output_tokens": 128000,
1180
+ "text_inputs": True,
1181
+ "image_inputs": True,
1182
+ "audio_inputs": False,
1183
+ "pdf_inputs": True,
1184
+ "video_inputs": False,
1185
+ "text_outputs": True,
1186
+ "image_outputs": False,
1187
+ "audio_outputs": False,
1188
+ "video_outputs": False,
1189
+ "reasoning_output": True,
1190
+ "tool_calling": True,
1191
+ "structured_output": True,
1192
+ "attachment": True,
1193
+ "temperature": False,
1194
+ "image_url_inputs": True,
1195
+ "pdf_tool_message": True,
1196
+ "image_tool_message": True,
1197
+ "tool_choice": True,
1198
+ "tool_call_streaming": True,
1199
+ "reasoning_effort_levels": [
1200
+ "low",
1201
+ "medium",
1202
+ "high",
1203
+ "xhigh",
1204
+ "max",
1205
+ ],
1206
+ },
1207
+ "gpt-6-luna": {
1208
+ "name": "GPT-6 Luna",
1209
+ "release_date": "2026-09-22",
1210
+ "last_updated": "2026-09-22",
1211
+ "open_weights": False,
1212
+ "max_input_tokens": 1050000,
1213
+ "max_output_tokens": 128000,
1214
+ "text_inputs": True,
1215
+ "image_inputs": True,
1216
+ "audio_inputs": False,
1217
+ "pdf_inputs": True,
1218
+ "video_inputs": False,
1219
+ "text_outputs": True,
1220
+ "image_outputs": False,
1221
+ "audio_outputs": False,
1222
+ "video_outputs": False,
1223
+ "reasoning_output": True,
1224
+ "tool_calling": True,
1225
+ "structured_output": True,
1226
+ "attachment": True,
1227
+ "temperature": False,
1228
+ "image_url_inputs": True,
1229
+ "pdf_tool_message": True,
1230
+ "image_tool_message": True,
1231
+ "tool_choice": True,
1232
+ "tool_call_streaming": True,
1233
+ "reasoning_effort_levels": [
1234
+ "none",
1235
+ "low",
1236
+ "medium",
1237
+ "high",
1238
+ "xhigh",
1239
+ "max",
1240
+ ],
1241
+ "reasoning_effort_default": "medium",
1242
+ },
1243
+ "gpt-6-sol": {
1244
+ "name": "GPT-6 Sol",
1245
+ "release_date": "2026-09-22",
1246
+ "last_updated": "2026-09-22",
1247
+ "open_weights": False,
1248
+ "max_input_tokens": 1050000,
1249
+ "max_output_tokens": 128000,
1250
+ "text_inputs": True,
1251
+ "image_inputs": True,
1252
+ "audio_inputs": False,
1253
+ "pdf_inputs": True,
1254
+ "video_inputs": False,
1255
+ "text_outputs": True,
1256
+ "image_outputs": False,
1257
+ "audio_outputs": False,
1258
+ "video_outputs": False,
1259
+ "reasoning_output": True,
1260
+ "tool_calling": True,
1261
+ "structured_output": True,
1262
+ "attachment": True,
1263
+ "temperature": False,
1264
+ "image_url_inputs": True,
1265
+ "pdf_tool_message": True,
1266
+ "image_tool_message": True,
1267
+ "tool_choice": True,
1268
+ "tool_call_streaming": True,
1269
+ "reasoning_effort_levels": [
1270
+ "none",
1271
+ "low",
1272
+ "medium",
1273
+ "high",
1274
+ "xhigh",
1275
+ "max",
1276
+ ],
1277
+ "reasoning_effort_default": "medium",
1278
+ },
1279
+ "gpt-image-1": {
1280
+ "name": "gpt-image-1",
1281
+ "status": "deprecated",
1282
+ "release_date": "2025-04-24",
1283
+ "last_updated": "2025-04-24",
1284
+ "open_weights": False,
1285
+ "max_input_tokens": 0,
1286
+ "max_output_tokens": 0,
1287
+ "text_inputs": True,
1288
+ "image_inputs": True,
1289
+ "audio_inputs": False,
1290
+ "video_inputs": False,
1291
+ "text_outputs": False,
1292
+ "image_outputs": True,
1293
+ "audio_outputs": False,
1294
+ "video_outputs": False,
1295
+ "reasoning_output": False,
1296
+ "tool_calling": False,
1297
+ "attachment": True,
1298
+ "temperature": False,
1299
+ "image_url_inputs": True,
1300
+ "pdf_inputs": True,
1301
+ "pdf_tool_message": True,
1302
+ "image_tool_message": True,
1303
+ "tool_choice": True,
1304
+ "tool_call_streaming": True,
1305
+ },
1306
+ "gpt-image-1-mini": {
1307
+ "name": "gpt-image-1-mini",
1308
+ "release_date": "2025-09-26",
1309
+ "last_updated": "2025-09-26",
1310
+ "open_weights": False,
1311
+ "max_input_tokens": 0,
1312
+ "max_output_tokens": 0,
1313
+ "text_inputs": True,
1314
+ "image_inputs": True,
1315
+ "audio_inputs": False,
1316
+ "video_inputs": False,
1317
+ "text_outputs": True,
1318
+ "image_outputs": True,
1319
+ "audio_outputs": False,
1320
+ "video_outputs": False,
1321
+ "reasoning_output": False,
1322
+ "tool_calling": False,
1323
+ "attachment": True,
1324
+ "temperature": False,
1325
+ "image_url_inputs": True,
1326
+ "pdf_inputs": True,
1327
+ "pdf_tool_message": True,
1328
+ "image_tool_message": True,
1329
+ "tool_choice": True,
1330
+ "tool_call_streaming": True,
1331
+ },
1332
+ "gpt-image-1.5": {
1333
+ "name": "gpt-image-1.5",
1334
+ "release_date": "2025-11-25",
1335
+ "last_updated": "2025-11-25",
1336
+ "open_weights": False,
1337
+ "max_input_tokens": 0,
1338
+ "max_output_tokens": 0,
1339
+ "text_inputs": True,
1340
+ "image_inputs": True,
1341
+ "audio_inputs": False,
1342
+ "video_inputs": False,
1343
+ "text_outputs": True,
1344
+ "image_outputs": True,
1345
+ "audio_outputs": False,
1346
+ "video_outputs": False,
1347
+ "reasoning_output": False,
1348
+ "tool_calling": False,
1349
+ "attachment": True,
1350
+ "temperature": False,
1351
+ "image_url_inputs": True,
1352
+ "pdf_inputs": True,
1353
+ "pdf_tool_message": True,
1354
+ "image_tool_message": True,
1355
+ "tool_choice": True,
1356
+ "tool_call_streaming": True,
1357
+ },
1358
+ "gpt-image-2": {
1359
+ "name": "gpt-image-2",
1360
+ "release_date": "2026-04-21",
1361
+ "last_updated": "2026-04-21",
1362
+ "open_weights": False,
1363
+ "max_input_tokens": 0,
1364
+ "max_output_tokens": 0,
1365
+ "text_inputs": True,
1366
+ "image_inputs": True,
1367
+ "audio_inputs": False,
1368
+ "video_inputs": False,
1369
+ "text_outputs": False,
1370
+ "image_outputs": True,
1371
+ "audio_outputs": False,
1372
+ "video_outputs": False,
1373
+ "reasoning_output": False,
1374
+ "tool_calling": False,
1375
+ "attachment": True,
1376
+ "temperature": False,
1377
+ "image_url_inputs": True,
1378
+ "pdf_inputs": True,
1379
+ "pdf_tool_message": True,
1380
+ "image_tool_message": True,
1381
+ "tool_choice": True,
1382
+ "tool_call_streaming": True,
1383
+ },
1384
+ "gpt-realtime-2.1": {
1385
+ "name": "GPT-Realtime-2.1",
1386
+ "release_date": "2026-07-06",
1387
+ "last_updated": "2026-07-06",
1388
+ "open_weights": False,
1389
+ "max_input_tokens": 128000,
1390
+ "max_output_tokens": 32000,
1391
+ "text_inputs": True,
1392
+ "image_inputs": True,
1393
+ "audio_inputs": True,
1394
+ "video_inputs": False,
1395
+ "text_outputs": True,
1396
+ "image_outputs": False,
1397
+ "audio_outputs": True,
1398
+ "video_outputs": False,
1399
+ "reasoning_output": True,
1400
+ "tool_calling": True,
1401
+ "structured_output": False,
1402
+ "attachment": True,
1403
+ "temperature": False,
1404
+ "image_url_inputs": True,
1405
+ "pdf_inputs": True,
1406
+ "pdf_tool_message": True,
1407
+ "image_tool_message": True,
1408
+ "tool_choice": True,
1409
+ "tool_call_streaming": True,
1410
+ },
1411
+ "o1": {
1412
+ "name": "o1",
1413
+ "status": "deprecated",
1414
+ "release_date": "2024-12-05",
1415
+ "last_updated": "2024-12-05",
1416
+ "open_weights": False,
1417
+ "max_input_tokens": 200000,
1418
+ "max_output_tokens": 100000,
1419
+ "text_inputs": True,
1420
+ "image_inputs": True,
1421
+ "audio_inputs": False,
1422
+ "pdf_inputs": True,
1423
+ "video_inputs": False,
1424
+ "text_outputs": True,
1425
+ "image_outputs": False,
1426
+ "audio_outputs": False,
1427
+ "video_outputs": False,
1428
+ "reasoning_output": True,
1429
+ "tool_calling": True,
1430
+ "structured_output": True,
1431
+ "attachment": True,
1432
+ "temperature": False,
1433
+ "image_url_inputs": True,
1434
+ "pdf_tool_message": True,
1435
+ "image_tool_message": True,
1436
+ "tool_choice": True,
1437
+ "tool_call_streaming": True,
1438
+ },
1439
+ "o1-pro": {
1440
+ "name": "o1-pro",
1441
+ "status": "deprecated",
1442
+ "release_date": "2025-03-19",
1443
+ "last_updated": "2025-03-19",
1444
+ "open_weights": False,
1445
+ "max_input_tokens": 200000,
1446
+ "max_output_tokens": 100000,
1447
+ "text_inputs": True,
1448
+ "image_inputs": True,
1449
+ "audio_inputs": False,
1450
+ "video_inputs": False,
1451
+ "text_outputs": True,
1452
+ "image_outputs": False,
1453
+ "audio_outputs": False,
1454
+ "video_outputs": False,
1455
+ "reasoning_output": True,
1456
+ "tool_calling": True,
1457
+ "structured_output": True,
1458
+ "attachment": True,
1459
+ "temperature": False,
1460
+ "image_url_inputs": True,
1461
+ "pdf_inputs": True,
1462
+ "pdf_tool_message": True,
1463
+ "image_tool_message": True,
1464
+ "tool_choice": True,
1465
+ "tool_call_streaming": True,
1466
+ },
1467
+ "o3": {
1468
+ "name": "o3",
1469
+ "release_date": "2025-04-16",
1470
+ "last_updated": "2025-04-16",
1471
+ "open_weights": False,
1472
+ "max_input_tokens": 200000,
1473
+ "max_output_tokens": 100000,
1474
+ "text_inputs": True,
1475
+ "image_inputs": True,
1476
+ "audio_inputs": False,
1477
+ "pdf_inputs": True,
1478
+ "video_inputs": False,
1479
+ "text_outputs": True,
1480
+ "image_outputs": False,
1481
+ "audio_outputs": False,
1482
+ "video_outputs": False,
1483
+ "reasoning_output": True,
1484
+ "tool_calling": True,
1485
+ "structured_output": True,
1486
+ "attachment": True,
1487
+ "temperature": False,
1488
+ "image_url_inputs": True,
1489
+ "pdf_tool_message": True,
1490
+ "image_tool_message": True,
1491
+ "tool_choice": True,
1492
+ "tool_call_streaming": True,
1493
+ },
1494
+ "o3-mini": {
1495
+ "name": "o3-mini",
1496
+ "status": "deprecated",
1497
+ "release_date": "2024-12-20",
1498
+ "last_updated": "2025-01-29",
1499
+ "open_weights": False,
1500
+ "max_input_tokens": 200000,
1501
+ "max_output_tokens": 100000,
1502
+ "text_inputs": True,
1503
+ "image_inputs": False,
1504
+ "audio_inputs": False,
1505
+ "video_inputs": False,
1506
+ "text_outputs": True,
1507
+ "image_outputs": False,
1508
+ "audio_outputs": False,
1509
+ "video_outputs": False,
1510
+ "reasoning_output": True,
1511
+ "tool_calling": True,
1512
+ "structured_output": True,
1513
+ "attachment": False,
1514
+ "temperature": False,
1515
+ "image_url_inputs": True,
1516
+ "pdf_inputs": True,
1517
+ "pdf_tool_message": True,
1518
+ "image_tool_message": True,
1519
+ "tool_choice": True,
1520
+ "tool_call_streaming": True,
1521
+ },
1522
+ "o3-pro": {
1523
+ "name": "o3-pro",
1524
+ "release_date": "2025-06-10",
1525
+ "last_updated": "2025-06-10",
1526
+ "open_weights": False,
1527
+ "max_input_tokens": 200000,
1528
+ "max_output_tokens": 100000,
1529
+ "text_inputs": True,
1530
+ "image_inputs": True,
1531
+ "audio_inputs": False,
1532
+ "video_inputs": False,
1533
+ "text_outputs": True,
1534
+ "image_outputs": False,
1535
+ "audio_outputs": False,
1536
+ "video_outputs": False,
1537
+ "reasoning_output": True,
1538
+ "tool_calling": True,
1539
+ "structured_output": True,
1540
+ "attachment": True,
1541
+ "temperature": False,
1542
+ "image_url_inputs": True,
1543
+ "pdf_inputs": True,
1544
+ "pdf_tool_message": True,
1545
+ "image_tool_message": True,
1546
+ "tool_choice": True,
1547
+ "tool_call_streaming": True,
1548
+ },
1549
+ "o4-mini": {
1550
+ "name": "o4-mini",
1551
+ "status": "deprecated",
1552
+ "release_date": "2025-04-16",
1553
+ "last_updated": "2025-04-16",
1554
+ "open_weights": False,
1555
+ "max_input_tokens": 200000,
1556
+ "max_output_tokens": 100000,
1557
+ "text_inputs": True,
1558
+ "image_inputs": True,
1559
+ "audio_inputs": False,
1560
+ "video_inputs": False,
1561
+ "text_outputs": True,
1562
+ "image_outputs": False,
1563
+ "audio_outputs": False,
1564
+ "video_outputs": False,
1565
+ "reasoning_output": True,
1566
+ "tool_calling": True,
1567
+ "structured_output": True,
1568
+ "attachment": True,
1569
+ "temperature": False,
1570
+ "image_url_inputs": True,
1571
+ "pdf_inputs": True,
1572
+ "pdf_tool_message": True,
1573
+ "image_tool_message": True,
1574
+ "tool_choice": True,
1575
+ "tool_call_streaming": True,
1576
+ },
1577
+ "text-embedding-3-large": {
1578
+ "name": "text-embedding-3-large",
1579
+ "release_date": "2024-01-25",
1580
+ "last_updated": "2024-01-25",
1581
+ "open_weights": False,
1582
+ "max_input_tokens": 8191,
1583
+ "max_output_tokens": 3072,
1584
+ "text_inputs": True,
1585
+ "image_inputs": False,
1586
+ "audio_inputs": False,
1587
+ "video_inputs": False,
1588
+ "text_outputs": True,
1589
+ "image_outputs": False,
1590
+ "audio_outputs": False,
1591
+ "video_outputs": False,
1592
+ "reasoning_output": False,
1593
+ "tool_calling": False,
1594
+ "attachment": False,
1595
+ "temperature": False,
1596
+ "image_url_inputs": True,
1597
+ "pdf_inputs": True,
1598
+ "pdf_tool_message": True,
1599
+ "image_tool_message": True,
1600
+ "tool_choice": True,
1601
+ "tool_call_streaming": True,
1602
+ },
1603
+ "text-embedding-3-small": {
1604
+ "name": "text-embedding-3-small",
1605
+ "release_date": "2024-01-25",
1606
+ "last_updated": "2024-01-25",
1607
+ "open_weights": False,
1608
+ "max_input_tokens": 8191,
1609
+ "max_output_tokens": 1536,
1610
+ "text_inputs": True,
1611
+ "image_inputs": False,
1612
+ "audio_inputs": False,
1613
+ "video_inputs": False,
1614
+ "text_outputs": True,
1615
+ "image_outputs": False,
1616
+ "audio_outputs": False,
1617
+ "video_outputs": False,
1618
+ "reasoning_output": False,
1619
+ "tool_calling": False,
1620
+ "attachment": False,
1621
+ "temperature": False,
1622
+ "image_url_inputs": True,
1623
+ "pdf_inputs": True,
1624
+ "pdf_tool_message": True,
1625
+ "image_tool_message": True,
1626
+ "tool_choice": True,
1627
+ "tool_call_streaming": True,
1628
+ },
1629
+ "text-embedding-ada-002": {
1630
+ "name": "text-embedding-ada-002",
1631
+ "release_date": "2022-12-15",
1632
+ "last_updated": "2022-12-15",
1633
+ "open_weights": False,
1634
+ "max_input_tokens": 8192,
1635
+ "max_output_tokens": 1536,
1636
+ "text_inputs": True,
1637
+ "image_inputs": False,
1638
+ "audio_inputs": False,
1639
+ "video_inputs": False,
1640
+ "text_outputs": True,
1641
+ "image_outputs": False,
1642
+ "audio_outputs": False,
1643
+ "video_outputs": False,
1644
+ "reasoning_output": False,
1645
+ "tool_calling": False,
1646
+ "attachment": False,
1647
+ "temperature": False,
1648
+ "image_url_inputs": True,
1649
+ "pdf_inputs": True,
1650
+ "pdf_tool_message": True,
1651
+ "image_tool_message": True,
1652
+ "tool_choice": True,
1653
+ "tool_call_streaming": True,
1654
+ },
1655
+ }