openai 0.123.0 → 0.124.0

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 (227) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/README.md +1 -1
  4. data/lib/openai/models/admin/organization/audit_log_list_response.rb +10 -1
  5. data/lib/openai/models/admin/organization/external_key.rb +25 -1
  6. data/lib/openai/models/admin/organization/external_key_create_params.rb +78 -3
  7. data/lib/openai/models/beta/agent_output_command_execution_output_delta_event.rb +10 -1
  8. data/lib/openai/models/beta/agent_session.rb +128 -4
  9. data/lib/openai/models/beta/agent_session_created_event.rb +10 -1
  10. data/lib/openai/models/beta/agent_session_environment_connected_event.rb +10 -1
  11. data/lib/openai/models/beta/agent_session_environment_disconnected_event.rb +10 -1
  12. data/lib/openai/models/beta/agent_session_environment_expired_event.rb +10 -1
  13. data/lib/openai/models/beta/agent_session_environment_failed_event.rb +10 -1
  14. data/lib/openai/models/beta/agent_session_environment_pending_event.rb +10 -1
  15. data/lib/openai/models/beta/agent_session_environment_ready_event.rb +10 -1
  16. data/lib/openai/models/beta/agent_session_environment_reset_event.rb +10 -1
  17. data/lib/openai/models/beta/agent_session_environment_suspended_event.rb +10 -1
  18. data/lib/openai/models/beta/agent_session_error_event.rb +10 -1
  19. data/lib/openai/models/beta/agent_session_failed_event.rb +10 -1
  20. data/lib/openai/models/beta/agent_session_idle_event.rb +10 -1
  21. data/lib/openai/models/beta/agent_session_in_progress_event.rb +10 -1
  22. data/lib/openai/models/beta/agent_session_input_param.rb +87 -1
  23. data/lib/openai/models/beta/agent_session_requires_action_event.rb +10 -1
  24. data/lib/openai/models/beta/agent_session_subagent_active_event.rb +10 -1
  25. data/lib/openai/models/beta/agent_session_subagent_closed_event.rb +10 -1
  26. data/lib/openai/models/beta/agent_session_subagent_created_event.rb +10 -1
  27. data/lib/openai/models/beta/agent_session_turn_cancelled_event.rb +10 -1
  28. data/lib/openai/models/beta/agent_session_turn_completed_event.rb +10 -1
  29. data/lib/openai/models/beta/agent_session_turn_content_part_added_event.rb +10 -1
  30. data/lib/openai/models/beta/agent_session_turn_content_part_done_event.rb +10 -1
  31. data/lib/openai/models/beta/agent_session_turn_created_event.rb +10 -1
  32. data/lib/openai/models/beta/agent_session_turn_failed_event.rb +10 -1
  33. data/lib/openai/models/beta/agent_session_turn_in_progress_event.rb +10 -1
  34. data/lib/openai/models/beta/agent_session_turn_item_added_event.rb +10 -1
  35. data/lib/openai/models/beta/agent_session_turn_item_done_event.rb +10 -1
  36. data/lib/openai/models/beta/agent_session_turn_output_text_delta_event.rb +10 -1
  37. data/lib/openai/models/beta/agent_session_turn_output_text_done_event.rb +10 -1
  38. data/lib/openai/models/beta/agent_session_turn_reasoning_summary_part_added_event.rb +10 -1
  39. data/lib/openai/models/beta/agent_session_turn_reasoning_summary_part_done_event.rb +10 -1
  40. data/lib/openai/models/beta/agent_session_turn_reasoning_summary_text_delta_event.rb +10 -1
  41. data/lib/openai/models/beta/agent_session_turn_reasoning_summary_text_done_event.rb +10 -1
  42. data/lib/openai/models/beta/agents/session_create_params.rb +69 -1
  43. data/lib/openai/models/beta/agents/session_update_params.rb +44 -1
  44. data/lib/openai/models/beta/agents/sessions/event_create_params.rb +2 -2
  45. data/lib/openai/models/beta/agents/sessions/event_stream_params.rb +13 -1
  46. data/lib/openai/models/beta/agents/sessions/turn.rb +41 -1
  47. data/lib/openai/models/beta/beta_response.rb +9 -3
  48. data/lib/openai/models/beta/beta_response_tool_search_output_item_param.rb +6 -3
  49. data/lib/openai/models/beta/beta_responses_client_event.rb +9 -3
  50. data/lib/openai/models/beta/beta_tool.rb +6 -3
  51. data/lib/openai/models/beta/response_compact_params.rb +2 -0
  52. data/lib/openai/models/beta/response_create_params.rb +9 -3
  53. data/lib/openai/models/beta/responses/input_token_count_params.rb +27 -15
  54. data/lib/openai/models/content_provenance_check_create_params.rb +2 -0
  55. data/lib/openai/models/image_edit_params.rb +84 -5
  56. data/lib/openai/models/image_generate_params.rb +4 -4
  57. data/lib/openai/models/images_response.rb +9 -12
  58. data/lib/openai/models/live/media_session_config.rb +12 -1
  59. data/lib/openai/models/live/session_accept_params.rb +12 -1
  60. data/lib/openai/models/responses/input_token_count_params.rb +27 -15
  61. data/lib/openai/models/responses/response.rb +9 -3
  62. data/lib/openai/models/responses/response_compact_params.rb +2 -0
  63. data/lib/openai/models/responses/response_create_params.rb +9 -3
  64. data/lib/openai/models/responses/response_tool_search_output_item_param.rb +6 -3
  65. data/lib/openai/models/responses/responses_client_event.rb +9 -3
  66. data/lib/openai/models/responses/tool.rb +6 -3
  67. data/lib/openai/models/video_create_error.rb +6 -4
  68. data/lib/openai/models/webhooks/agent_session_action_required_webhook_event.rb +1 -0
  69. data/lib/openai/models/webhooks/live_transport_connected_webhook_event.rb +74 -0
  70. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +4 -1
  71. data/lib/openai/resources/admin/organization/external_keys.rb +1 -1
  72. data/lib/openai/resources/beta/agents/sessions/events.rb +10 -3
  73. data/lib/openai/resources/beta/agents/sessions.rb +24 -5
  74. data/lib/openai/resources/beta/responses/input_tokens.rb +9 -6
  75. data/lib/openai/resources/beta/responses.rb +6 -2
  76. data/lib/openai/resources/content_provenance_checks.rb +1 -0
  77. data/lib/openai/resources/images.rb +20 -6
  78. data/lib/openai/resources/responses/input_tokens.rb +9 -5
  79. data/lib/openai/resources/responses.rb +6 -2
  80. data/lib/openai/resources/webhooks.rb +1 -1
  81. data/lib/openai/version.rb +1 -1
  82. data/lib/openai.rb +1 -0
  83. data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +13 -1
  84. data/rbi/openai/models/admin/organization/external_key.rbi +44 -0
  85. data/rbi/openai/models/admin/organization/external_key_create_params.rbi +137 -4
  86. data/rbi/openai/models/beta/agent_output_command_execution_output_delta_event.rbi +14 -1
  87. data/rbi/openai/models/beta/agent_session.rbi +207 -0
  88. data/rbi/openai/models/beta/agent_session_created_event.rbi +13 -1
  89. data/rbi/openai/models/beta/agent_session_environment_connected_event.rbi +14 -1
  90. data/rbi/openai/models/beta/agent_session_environment_disconnected_event.rbi +14 -1
  91. data/rbi/openai/models/beta/agent_session_environment_expired_event.rbi +14 -1
  92. data/rbi/openai/models/beta/agent_session_environment_failed_event.rbi +14 -1
  93. data/rbi/openai/models/beta/agent_session_environment_pending_event.rbi +14 -1
  94. data/rbi/openai/models/beta/agent_session_environment_ready_event.rbi +14 -1
  95. data/rbi/openai/models/beta/agent_session_environment_reset_event.rbi +14 -1
  96. data/rbi/openai/models/beta/agent_session_environment_suspended_event.rbi +14 -1
  97. data/rbi/openai/models/beta/agent_session_error_event.rbi +13 -1
  98. data/rbi/openai/models/beta/agent_session_failed_event.rbi +13 -1
  99. data/rbi/openai/models/beta/agent_session_idle_event.rbi +13 -1
  100. data/rbi/openai/models/beta/agent_session_in_progress_event.rbi +13 -1
  101. data/rbi/openai/models/beta/agent_session_input_param.rbi +159 -0
  102. data/rbi/openai/models/beta/agent_session_requires_action_event.rbi +13 -1
  103. data/rbi/openai/models/beta/agent_session_subagent_active_event.rbi +13 -1
  104. data/rbi/openai/models/beta/agent_session_subagent_closed_event.rbi +13 -1
  105. data/rbi/openai/models/beta/agent_session_subagent_created_event.rbi +13 -1
  106. data/rbi/openai/models/beta/agent_session_turn_cancelled_event.rbi +14 -1
  107. data/rbi/openai/models/beta/agent_session_turn_completed_event.rbi +14 -1
  108. data/rbi/openai/models/beta/agent_session_turn_content_part_added_event.rbi +14 -1
  109. data/rbi/openai/models/beta/agent_session_turn_content_part_done_event.rbi +14 -1
  110. data/rbi/openai/models/beta/agent_session_turn_created_event.rbi +14 -1
  111. data/rbi/openai/models/beta/agent_session_turn_failed_event.rbi +14 -1
  112. data/rbi/openai/models/beta/agent_session_turn_in_progress_event.rbi +14 -1
  113. data/rbi/openai/models/beta/agent_session_turn_item_added_event.rbi +14 -1
  114. data/rbi/openai/models/beta/agent_session_turn_item_done_event.rbi +14 -1
  115. data/rbi/openai/models/beta/agent_session_turn_output_text_delta_event.rbi +14 -1
  116. data/rbi/openai/models/beta/agent_session_turn_output_text_done_event.rbi +14 -1
  117. data/rbi/openai/models/beta/agent_session_turn_reasoning_summary_part_added_event.rbi +14 -1
  118. data/rbi/openai/models/beta/agent_session_turn_reasoning_summary_part_done_event.rbi +14 -1
  119. data/rbi/openai/models/beta/agent_session_turn_reasoning_summary_text_delta_event.rbi +14 -1
  120. data/rbi/openai/models/beta/agent_session_turn_reasoning_summary_text_done_event.rbi +14 -1
  121. data/rbi/openai/models/beta/agents/session_create_params.rbi +138 -0
  122. data/rbi/openai/models/beta/agents/session_update_params.rbi +82 -0
  123. data/rbi/openai/models/beta/agents/sessions/event_create_params.rbi +3 -0
  124. data/rbi/openai/models/beta/agents/sessions/event_stream_params.rbi +15 -1
  125. data/rbi/openai/models/beta/agents/sessions/turn.rbi +74 -1
  126. data/rbi/openai/models/beta/beta_response.rbi +9 -3
  127. data/rbi/openai/models/beta/beta_response_tool_search_output_item_param.rbi +6 -3
  128. data/rbi/openai/models/beta/beta_responses_client_event.rbi +9 -3
  129. data/rbi/openai/models/beta/beta_tool.rbi +6 -3
  130. data/rbi/openai/models/beta/response_create_params.rbi +9 -3
  131. data/rbi/openai/models/beta/responses/input_token_count_params.rbi +27 -15
  132. data/rbi/openai/models/content_provenance_check_create_params.rbi +2 -0
  133. data/rbi/openai/models/image_edit_params.rbi +143 -4
  134. data/rbi/openai/models/image_generate_params.rbi +4 -4
  135. data/rbi/openai/models/images_response.rbi +9 -12
  136. data/rbi/openai/models/live/media_session_config.rbi +12 -0
  137. data/rbi/openai/models/live/session_accept_params.rbi +12 -0
  138. data/rbi/openai/models/responses/input_token_count_params.rbi +27 -15
  139. data/rbi/openai/models/responses/response.rbi +9 -3
  140. data/rbi/openai/models/responses/response_create_params.rbi +9 -3
  141. data/rbi/openai/models/responses/response_tool_search_output_item_param.rbi +6 -3
  142. data/rbi/openai/models/responses/responses_client_event.rbi +9 -3
  143. data/rbi/openai/models/responses/tool.rbi +6 -3
  144. data/rbi/openai/models/video_create_error.rbi +6 -4
  145. data/rbi/openai/models/webhooks/agent_session_action_required_webhook_event.rbi +4 -0
  146. data/rbi/openai/models/webhooks/live_transport_connected_webhook_event.rbi +135 -0
  147. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +1 -0
  148. data/rbi/openai/resources/admin/organization/external_keys.rbi +2 -1
  149. data/rbi/openai/resources/beta/agents/sessions/events.rbi +9 -2
  150. data/rbi/openai/resources/beta/agents/sessions.rbi +21 -2
  151. data/rbi/openai/resources/beta/responses/input_tokens.rbi +9 -6
  152. data/rbi/openai/resources/beta/responses.rbi +6 -2
  153. data/rbi/openai/resources/content_provenance_checks.rbi +1 -0
  154. data/rbi/openai/resources/images.rbi +18 -4
  155. data/rbi/openai/resources/responses/input_tokens.rbi +9 -5
  156. data/rbi/openai/resources/responses.rbi +6 -2
  157. data/rbi/openai/resources/webhooks.rbi +1 -0
  158. data/sig/openai/models/admin/organization/audit_log_list_response.rbs +18 -3
  159. data/sig/openai/models/admin/organization/external_key.rbs +28 -0
  160. data/sig/openai/models/admin/organization/external_key_create_params.rbs +108 -0
  161. data/sig/openai/models/beta/agent_output_command_execution_output_delta_event.rbs +13 -2
  162. data/sig/openai/models/beta/agent_session.rbs +126 -1
  163. data/sig/openai/models/beta/agent_session_created_event.rbs +13 -2
  164. data/sig/openai/models/beta/agent_session_environment_connected_event.rbs +13 -2
  165. data/sig/openai/models/beta/agent_session_environment_disconnected_event.rbs +13 -2
  166. data/sig/openai/models/beta/agent_session_environment_expired_event.rbs +13 -2
  167. data/sig/openai/models/beta/agent_session_environment_failed_event.rbs +13 -2
  168. data/sig/openai/models/beta/agent_session_environment_pending_event.rbs +13 -2
  169. data/sig/openai/models/beta/agent_session_environment_ready_event.rbs +13 -2
  170. data/sig/openai/models/beta/agent_session_environment_reset_event.rbs +13 -2
  171. data/sig/openai/models/beta/agent_session_environment_suspended_event.rbs +13 -2
  172. data/sig/openai/models/beta/agent_session_error_event.rbs +13 -2
  173. data/sig/openai/models/beta/agent_session_failed_event.rbs +13 -2
  174. data/sig/openai/models/beta/agent_session_idle_event.rbs +13 -2
  175. data/sig/openai/models/beta/agent_session_in_progress_event.rbs +13 -2
  176. data/sig/openai/models/beta/agent_session_input_param.rbs +80 -1
  177. data/sig/openai/models/beta/agent_session_requires_action_event.rbs +13 -2
  178. data/sig/openai/models/beta/agent_session_subagent_active_event.rbs +13 -2
  179. data/sig/openai/models/beta/agent_session_subagent_closed_event.rbs +13 -2
  180. data/sig/openai/models/beta/agent_session_subagent_created_event.rbs +13 -2
  181. data/sig/openai/models/beta/agent_session_turn_cancelled_event.rbs +13 -2
  182. data/sig/openai/models/beta/agent_session_turn_completed_event.rbs +13 -2
  183. data/sig/openai/models/beta/agent_session_turn_content_part_added_event.rbs +13 -2
  184. data/sig/openai/models/beta/agent_session_turn_content_part_done_event.rbs +13 -2
  185. data/sig/openai/models/beta/agent_session_turn_created_event.rbs +13 -2
  186. data/sig/openai/models/beta/agent_session_turn_failed_event.rbs +13 -2
  187. data/sig/openai/models/beta/agent_session_turn_in_progress_event.rbs +13 -2
  188. data/sig/openai/models/beta/agent_session_turn_item_added_event.rbs +13 -2
  189. data/sig/openai/models/beta/agent_session_turn_item_done_event.rbs +13 -2
  190. data/sig/openai/models/beta/agent_session_turn_output_text_delta_event.rbs +13 -2
  191. data/sig/openai/models/beta/agent_session_turn_output_text_done_event.rbs +13 -2
  192. data/sig/openai/models/beta/agent_session_turn_reasoning_summary_part_added_event.rbs +13 -2
  193. data/sig/openai/models/beta/agent_session_turn_reasoning_summary_part_done_event.rbs +13 -2
  194. data/sig/openai/models/beta/agent_session_turn_reasoning_summary_text_delta_event.rbs +13 -2
  195. data/sig/openai/models/beta/agent_session_turn_reasoning_summary_text_done_event.rbs +13 -2
  196. data/sig/openai/models/beta/agents/session_create_params.rbs +78 -0
  197. data/sig/openai/models/beta/agents/session_update_params.rbs +46 -0
  198. data/sig/openai/models/beta/agents/sessions/event_stream_params.rbs +18 -1
  199. data/sig/openai/models/beta/agents/sessions/turn.rbs +40 -2
  200. data/sig/openai/models/beta/beta_response.rbs +6 -2
  201. data/sig/openai/models/beta/beta_response_tool_search_output_item_param.rbs +6 -3
  202. data/sig/openai/models/beta/beta_responses_client_event.rbs +6 -2
  203. data/sig/openai/models/beta/beta_tool.rbs +6 -3
  204. data/sig/openai/models/beta/response_create_params.rbs +6 -2
  205. data/sig/openai/models/beta/responses/input_token_count_params.rbs +27 -15
  206. data/sig/openai/models/content_provenance_check_create_params.rbs +2 -0
  207. data/sig/openai/models/image_edit_params.rbs +87 -4
  208. data/sig/openai/models/image_generate_params.rbs +4 -4
  209. data/sig/openai/models/images_response.rbs +9 -12
  210. data/sig/openai/models/live/media_session_config.rbs +10 -0
  211. data/sig/openai/models/live/session_accept_params.rbs +10 -0
  212. data/sig/openai/models/responses/input_token_count_params.rbs +27 -15
  213. data/sig/openai/models/responses/response.rbs +6 -2
  214. data/sig/openai/models/responses/response_create_params.rbs +6 -2
  215. data/sig/openai/models/responses/response_tool_search_output_item_param.rbs +6 -3
  216. data/sig/openai/models/responses/responses_client_event.rbs +6 -2
  217. data/sig/openai/models/responses/tool.rbs +6 -3
  218. data/sig/openai/models/video_create_error.rbs +9 -6
  219. data/sig/openai/models/webhooks/agent_session_action_required_webhook_event.rbs +2 -0
  220. data/sig/openai/models/webhooks/live_transport_connected_webhook_event.rbs +66 -0
  221. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +1 -0
  222. data/sig/openai/resources/admin/organization/external_keys.rbs +9 -0
  223. data/sig/openai/resources/beta/agents/sessions/events.rbs +1 -0
  224. data/sig/openai/resources/beta/agents/sessions.rbs +5 -0
  225. data/sig/openai/resources/images.rbs +2 -0
  226. data/sig/openai/resources/webhooks.rbs +1 -0
  227. metadata +4 -1
@@ -9,6 +9,7 @@ module OpenAI
9
9
 
10
10
  # @!attribute file
11
11
  # The image or audio file to check for supported OpenAI provenance signals.
12
+ # Supported image formats are PNG, JPEG, WebP, and GIF (including animated GIFs).
12
13
  #
13
14
  # `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
14
15
  # metadata. Use `OpenAI::FilePart` when you need to override the filename or
@@ -20,6 +21,7 @@ module OpenAI
20
21
  # @!method initialize(file:, request_options: {})
21
22
  # @param file [Pathname, StringIO, IO, String, OpenAI::FilePart]
22
23
  # The image or audio file to check for supported OpenAI provenance signals.
24
+ # Supported image formats are PNG, JPEG, WebP, and GIF (including animated GIFs).
23
25
  #
24
26
  # `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
25
27
  # metadata. Use `OpenAI::FilePart` when you need to override the filename or
@@ -136,7 +136,8 @@ module OpenAI
136
136
 
137
137
  # @!attribute output_format
138
138
  # The format in which the generated images are returned. This parameter is only
139
- # supported for the GPT image models. The default value is `png`.
139
+ # supported for the GPT image models. The default value is `png`. SVG output
140
+ # requires a supported image model and project access.
140
141
  #
141
142
  # @return [Symbol, OpenAI::Models::ImageEditParams::OutputFormat, nil]
142
143
  optional :output_format, enum: -> { OpenAI::ImageEditParams::OutputFormat }, nil?: true
@@ -197,6 +198,15 @@ module OpenAI
197
198
  # @return [String, Symbol, OpenAI::Models::ImageEditParams::Size, nil]
198
199
  optional :size, union: -> { OpenAI::ImageEditParams::Size }, nil?: true
199
200
 
201
+ # @!attribute svg
202
+ # Selects the author model and reasoning effort for `output_format=svg`. Supply
203
+ # `svg.model` when SVG model selection is enabled. Otherwise, omit this object.
204
+ # SVG output requires `n=1` and cannot use streaming, partial images, or output
205
+ # compression. Use multipart fields such as `svg[model]`.
206
+ #
207
+ # @return [OpenAI::Models::ImageEditParams::Svg, nil]
208
+ optional :svg, -> { OpenAI::ImageEditParams::Svg }, nil?: true
209
+
200
210
  # @!attribute user
201
211
  # @deprecated
202
212
  #
@@ -208,7 +218,7 @@ module OpenAI
208
218
  # @return [String, nil]
209
219
  optional :user, String
210
220
 
211
- # @!method initialize(image:, prompt:, background: nil, complexity: nil, frame_count: nil, frame_duration_ms: nil, input_fidelity: nil, markup: nil, mask: nil, model: nil, n: nil, output_compression: nil, output_format: nil, partial_images: nil, quality: nil, response_format: nil, safety_identifier: nil, size: nil, user: nil, request_options: {})
221
+ # @!method initialize(image:, prompt:, background: nil, complexity: nil, frame_count: nil, frame_duration_ms: nil, input_fidelity: nil, markup: nil, mask: nil, model: nil, n: nil, output_compression: nil, output_format: nil, partial_images: nil, quality: nil, response_format: nil, safety_identifier: nil, size: nil, svg: nil, user: nil, request_options: {})
212
222
  # @param image [Pathname, StringIO, IO, String, OpenAI::FilePart, Array<Pathname, StringIO, IO, String, OpenAI::FilePart>]
213
223
  # The image(s) to edit. Must be a supported image file or an array of images.
214
224
  #
@@ -300,7 +310,8 @@ module OpenAI
300
310
  #
301
311
  # @param output_format [Symbol, OpenAI::Models::ImageEditParams::OutputFormat, nil]
302
312
  # The format in which the generated images are returned. This parameter is only
303
- # supported for the GPT image models. The default value is `png`.
313
+ # supported for the GPT image models. The default value is `png`. SVG output
314
+ # requires a supported image model and project access.
304
315
  #
305
316
  # @param partial_images [Integer, nil]
306
317
  # The number of partial images to generate. This parameter is used for streaming
@@ -341,6 +352,12 @@ module OpenAI
341
352
  # `1024x1536` are supported by the GPT image models; `auto` is supported for
342
353
  # models that allow automatic sizing.
343
354
  #
355
+ # @param svg [OpenAI::Models::ImageEditParams::Svg, nil]
356
+ # Selects the author model and reasoning effort for `output_format=svg`. Supply
357
+ # `svg.model` when SVG model selection is enabled. Otherwise, omit this object.
358
+ # SVG output requires `n=1` and cannot use streaming, partial images, or output
359
+ # compression. Use multipart fields such as `svg[model]`.
360
+ #
344
361
  # @param user [String]
345
362
  # Deprecated: use `safety_identifier` instead. This parameter remains accepted for
346
363
  # backward compatibility and is used when `safety_identifier` is omitted, null, or
@@ -448,14 +465,16 @@ module OpenAI
448
465
  end
449
466
 
450
467
  # The format in which the generated images are returned. This parameter is only
451
- # supported for the GPT image models. The default value is `png`.
468
+ # supported for the GPT image models. The default value is `png`. SVG output
469
+ # requires a supported image model and project access.
452
470
  module OutputFormat
453
471
  extend OpenAI::Internal::Type::Enum
454
472
 
455
473
  PNG = :png
456
- JPEG = :jpeg
457
474
  WEBP = :webp
475
+ JPEG = :jpeg
458
476
  GIF = :gif
477
+ SVG = :svg
459
478
 
460
479
  # @!method self.values
461
480
  # @return [Array<Symbol>]
@@ -546,6 +565,66 @@ module OpenAI
546
565
 
547
566
  # @!endgroup
548
567
  end
568
+
569
+ class Svg < OpenAI::Internal::Type::BaseModel
570
+ # @!attribute model
571
+ #
572
+ # @return [String, nil]
573
+ optional :model, String
574
+
575
+ # @!attribute reasoning
576
+ # Reasoning effort for SVG authoring. When omitted, uses the author model's
577
+ # default in both Images and Responses.
578
+ #
579
+ # @return [OpenAI::Models::ImageEditParams::Svg::Reasoning, nil]
580
+ optional :reasoning, -> { OpenAI::ImageEditParams::Svg::Reasoning }, nil?: true
581
+
582
+ # @!method initialize(model: nil, reasoning: nil)
583
+ # Selects the author model and reasoning effort for `output_format=svg`. Supply
584
+ # `svg.model` when SVG model selection is enabled. Otherwise, omit this object.
585
+ # SVG output requires `n=1` and cannot use streaming, partial images, or output
586
+ # compression. Use multipart fields such as `svg[model]`.
587
+ #
588
+ # @param model [String]
589
+ #
590
+ # @param reasoning [OpenAI::Models::ImageEditParams::Svg::Reasoning, nil]
591
+ # Reasoning effort for SVG authoring. When omitted, uses the author model's
592
+ # default in both Images and Responses.
593
+
594
+ # @see OpenAI::Models::ImageEditParams::Svg#reasoning
595
+ class Reasoning < OpenAI::Internal::Type::BaseModel
596
+ # @!attribute effort
597
+ # Controls how much effort the model should spend on reasoning for this request.
598
+ #
599
+ # @return [Symbol, OpenAI::Models::ImageEditParams::Svg::Reasoning::Effort, nil]
600
+ optional :effort, enum: -> { OpenAI::ImageEditParams::Svg::Reasoning::Effort }
601
+
602
+ # @!method initialize(effort: nil)
603
+ # Reasoning effort for SVG authoring. When omitted, uses the author model's
604
+ # default in both Images and Responses.
605
+ #
606
+ # @param effort [Symbol, OpenAI::Models::ImageEditParams::Svg::Reasoning::Effort]
607
+ # Controls how much effort the model should spend on reasoning for this request.
608
+
609
+ # Controls how much effort the model should spend on reasoning for this request.
610
+ #
611
+ # @see OpenAI::Models::ImageEditParams::Svg::Reasoning#effort
612
+ module Effort
613
+ extend OpenAI::Internal::Type::Enum
614
+
615
+ NONE = :none
616
+ MINIMAL = :minimal
617
+ LOW = :low
618
+ MEDIUM = :medium
619
+ HIGH = :high
620
+ XHIGH = :xhigh
621
+ MAX = :max
622
+
623
+ # @!method self.values
624
+ # @return [Array<Symbol>]
625
+ end
626
+ end
627
+ end
549
628
  end
550
629
  end
551
630
  end
@@ -172,7 +172,7 @@ module OpenAI
172
172
  # enabled, supply svg.model. When model selection is disabled, omit this object.
173
173
  # The top-level model selects the image model that creates the reference image.
174
174
  # SVG generation requires n=1 and does not support streaming, partial images,
175
- # prompt_rewriter, or output_compression. SVG edits are not supported.
175
+ # prompt_rewriter, or output_compression.
176
176
  #
177
177
  # @return [OpenAI::Models::ImageGenerateParams::Svg, nil]
178
178
  optional :svg, -> { OpenAI::ImageGenerateParams::Svg }, nil?: true
@@ -300,7 +300,7 @@ module OpenAI
300
300
  # enabled, supply svg.model. When model selection is disabled, omit this object.
301
301
  # The top-level model selects the image model that creates the reference image.
302
302
  # SVG generation requires n=1 and does not support streaming, partial images,
303
- # prompt_rewriter, or output_compression. SVG edits are not supported.
303
+ # prompt_rewriter, or output_compression.
304
304
  #
305
305
  # @param user [String]
306
306
  # Deprecated: use `safety_identifier` instead. This parameter remains accepted for
@@ -392,8 +392,8 @@ module OpenAI
392
392
  extend OpenAI::Internal::Type::Enum
393
393
 
394
394
  PNG = :png
395
- JPEG = :jpeg
396
395
  WEBP = :webp
396
+ JPEG = :jpeg
397
397
  GIF = :gif
398
398
  SVG = :svg
399
399
 
@@ -537,7 +537,7 @@ module OpenAI
537
537
  # enabled, supply svg.model. When model selection is disabled, omit this object.
538
538
  # The top-level model selects the image model that creates the reference image.
539
539
  # SVG generation requires n=1 and does not support streaming, partial images,
540
- # prompt_rewriter, or output_compression. SVG edits are not supported.
540
+ # prompt_rewriter, or output_compression.
541
541
  #
542
542
  # @param model [String]
543
543
  # Model used to author the SVG. Required when SVG model selection is enabled.
@@ -24,7 +24,7 @@ module OpenAI
24
24
  optional :data, -> { OpenAI::Internal::Type::ArrayOf[OpenAI::Image] }
25
25
 
26
26
  # @!attribute output_format
27
- # The output format of the generated image.
27
+ # The output format of the generated or edited image.
28
28
  #
29
29
  # @return [Symbol, OpenAI::Models::ImagesResponse::OutputFormat, nil]
30
30
  optional :output_format, enum: -> { OpenAI::ImagesResponse::OutputFormat }
@@ -51,14 +51,13 @@ module OpenAI
51
51
  optional :size, union: -> { OpenAI::ImagesResponse::Size }
52
52
 
53
53
  # @!attribute svg_usage
54
- # Token usage for the model that authored the SVG, separate from image rendering
55
- # usage.
54
+ # Token usage for SVG authoring, separate from image rendering usage.
56
55
  #
57
56
  # @return [OpenAI::Models::ImagesResponse::SvgUsage, nil]
58
57
  optional :svg_usage, -> { OpenAI::ImagesResponse::SvgUsage }
59
58
 
60
59
  # @!attribute usage
61
- # For `gpt-image-1` only, the token usage information for the image generation.
60
+ # Token usage information for image generation with GPT Image models.
62
61
  #
63
62
  # @return [OpenAI::Models::ImagesResponse::Usage, nil]
64
63
  optional :usage, -> { OpenAI::ImagesResponse::Usage }
@@ -77,7 +76,7 @@ module OpenAI
77
76
  # The list of generated images.
78
77
  #
79
78
  # @param output_format [Symbol, OpenAI::Models::ImagesResponse::OutputFormat]
80
- # The output format of the generated image.
79
+ # The output format of the generated or edited image.
81
80
  #
82
81
  # @param quality [Symbol, OpenAI::Models::ImagesResponse::Quality]
83
82
  # The quality of the image generated. One of `low`, `medium`, `high`, `xhigh`, or
@@ -92,11 +91,10 @@ module OpenAI
92
91
  # The image dimensions as a `WIDTHxHEIGHT` string, for example `1536x864`.
93
92
  #
94
93
  # @param svg_usage [OpenAI::Models::ImagesResponse::SvgUsage]
95
- # Token usage for the model that authored the SVG, separate from image rendering
96
- # usage.
94
+ # Token usage for SVG authoring, separate from image rendering usage.
97
95
  #
98
96
  # @param usage [OpenAI::Models::ImagesResponse::Usage]
99
- # For `gpt-image-1` only, the token usage information for the image generation.
97
+ # Token usage information for image generation with GPT Image models.
100
98
 
101
99
  # The background parameter used for the image generation. Either `transparent` or
102
100
  # `opaque`.
@@ -112,7 +110,7 @@ module OpenAI
112
110
  # @return [Array<Symbol>]
113
111
  end
114
112
 
115
- # The output format of the generated image.
113
+ # The output format of the generated or edited image.
116
114
  #
117
115
  # @see OpenAI::Models::ImagesResponse#output_format
118
116
  module OutputFormat
@@ -208,8 +206,7 @@ module OpenAI
208
206
  required :total_tokens, Integer
209
207
 
210
208
  # @!method initialize(input_tokens:, model:, output_tokens:, reasoning_tokens:, total_tokens:)
211
- # Token usage for the model that authored the SVG, separate from image rendering
212
- # usage.
209
+ # Token usage for SVG authoring, separate from image rendering usage.
213
210
  #
214
211
  # @param input_tokens [Integer]
215
212
  # @param model [String]
@@ -251,7 +248,7 @@ module OpenAI
251
248
  optional :output_tokens_details, -> { OpenAI::ImagesResponse::Usage::OutputTokensDetails }
252
249
 
253
250
  # @!method initialize(input_tokens:, input_tokens_details:, output_tokens:, total_tokens:, output_tokens_details: nil)
254
- # For `gpt-image-1` only, the token usage information for the image generation.
251
+ # Token usage information for image generation with GPT Image models.
255
252
  #
256
253
  # @param input_tokens [Integer]
257
254
  # The number of tokens (images and text) in the input prompt.
@@ -53,6 +53,13 @@ module OpenAI
53
53
  # @return [String, nil]
54
54
  optional :instructions, String, nil?: true
55
55
 
56
+ # @!attribute safety_identifier
57
+ # A stable identifier for your end user, used for safety monitoring and abuse
58
+ # detection.
59
+ #
60
+ # @return [String, nil]
61
+ optional :safety_identifier, String, nil?: true
62
+
56
63
  # @!attribute store
57
64
  # Whether to store the session for later forking and recording download. Defaults
58
65
  # to false for new sessions.
@@ -69,7 +76,7 @@ module OpenAI
69
76
  # @return [Array<OpenAI::Models::Live::DecisionTrigger>, nil]
70
77
  optional :triggers, -> { OpenAI::Internal::Type::ArrayOf[OpenAI::Live::DecisionTrigger] }
71
78
 
72
- # @!method initialize(model:, audio: nil, client: nil, delegation: nil, input: nil, instructions: nil, store: nil, triggers: nil)
79
+ # @!method initialize(model:, audio: nil, client: nil, delegation: nil, input: nil, instructions: nil, safety_identifier: nil, store: nil, triggers: nil)
73
80
  # Startup configuration for a Live media session. Follow the
74
81
  # [Live prompting guide](https://developers.openai.com/api/docs/guides/live-prompting)
75
82
  # when writing frontend instructions and the backend prompt under
@@ -106,6 +113,10 @@ module OpenAI
106
113
  # Limited to 16,384 client-supplied tokens. Omitted or blank instructions use
107
114
  # server defaults. Immutable after startup.
108
115
  #
116
+ # @param safety_identifier [String, nil]
117
+ # A stable identifier for your end user, used for safety monitoring and abuse
118
+ # detection.
119
+ #
109
120
  # @param store [Boolean]
110
121
  # Whether to store the session for later forking and recording download. Defaults
111
122
  # to false for new sessions.
@@ -84,6 +84,13 @@ module OpenAI
84
84
  # @return [String, nil]
85
85
  optional :instructions, String, nil?: true
86
86
 
87
+ # @!attribute safety_identifier
88
+ # A stable identifier for your end user, used for safety monitoring and abuse
89
+ # detection.
90
+ #
91
+ # @return [String, nil]
92
+ optional :safety_identifier, String, nil?: true
93
+
87
94
  # @!attribute store
88
95
  # Whether to store the session for later forking and recording download. Defaults
89
96
  # to false for new sessions.
@@ -100,7 +107,7 @@ module OpenAI
100
107
  # @return [Array<OpenAI::Models::Live::DecisionTrigger>, nil]
101
108
  optional :triggers, -> { OpenAI::Internal::Type::ArrayOf[OpenAI::Live::DecisionTrigger] }
102
109
 
103
- # @!method initialize(model:, audio: nil, delegation: nil, input: nil, instructions: nil, store: nil, triggers: nil, type: :live)
110
+ # @!method initialize(model:, audio: nil, delegation: nil, input: nil, instructions: nil, safety_identifier: nil, store: nil, triggers: nil, type: :live)
104
111
  # Model and startup configuration for the Live session that answers the incoming
105
112
  # SIP call.
106
113
  #
@@ -131,6 +138,10 @@ module OpenAI
131
138
  # Limited to 16,384 client-supplied tokens. Omitted or blank instructions use
132
139
  # server defaults. Immutable after startup.
133
140
  #
141
+ # @param safety_identifier [String, nil]
142
+ # A stable identifier for your end user, used for safety monitoring and abuse
143
+ # detection.
144
+ #
134
145
  # @param store [Boolean]
135
146
  # Whether to store the session for later forking and recording download. Defaults
136
147
  # to false for new sessions.
@@ -104,11 +104,15 @@ module OpenAI
104
104
  # @!attribute truncation
105
105
  # @deprecated
106
106
  #
107
- # The truncation strategy to use for the model response. - `auto`: If the input to
108
- # this Response exceeds the model's context window size, the model will truncate
109
- # the response to fit the context window by dropping items from the beginning of
110
- # the conversation. - `disabled` (default): If the input size will exceed the
111
- # context window size for a model, the request will fail with a 400 error.
107
+ # The truncation strategy to use for the model response.
108
+ #
109
+ # - `auto`: If the input to this Response exceeds the model's context window size,
110
+ # the model will truncate the response to fit the context window by dropping
111
+ # items from the beginning of the conversation. On some models, trimming can
112
+ # begin earlier because the API subtracts the model's maximum output allowance
113
+ # from its input limit before counting tokens.
114
+ # - `disabled` (default): If the input size will exceed the context window size
115
+ # for a model, the request will fail with a 400 error.
112
116
  #
113
117
  # @return [Symbol, OpenAI::Models::Responses::InputTokenCountParams::Truncation, nil]
114
118
  optional :truncation, enum: -> { OpenAI::Responses::InputTokenCountParams::Truncation }
@@ -169,11 +173,15 @@ module OpenAI
169
173
  # specify which tool to use by setting the `tool_choice` parameter.
170
174
  #
171
175
  # @param truncation [Symbol, OpenAI::Models::Responses::InputTokenCountParams::Truncation]
172
- # The truncation strategy to use for the model response. - `auto`: If the input to
173
- # this Response exceeds the model's context window size, the model will truncate
174
- # the response to fit the context window by dropping items from the beginning of
175
- # the conversation. - `disabled` (default): If the input size will exceed the
176
- # context window size for a model, the request will fail with a 400 error.
176
+ # The truncation strategy to use for the model response.
177
+ #
178
+ # - `auto`: If the input to this Response exceeds the model's context window size,
179
+ # the model will truncate the response to fit the context window by dropping
180
+ # items from the beginning of the conversation. On some models, trimming can
181
+ # begin earlier because the API subtracts the model's maximum output allowance
182
+ # from its input limit before counting tokens.
183
+ # - `disabled` (default): If the input size will exceed the context window size
184
+ # for a model, the request will fail with a 400 error.
177
185
  #
178
186
  # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
179
187
 
@@ -374,11 +382,15 @@ module OpenAI
374
382
 
375
383
  # @deprecated
376
384
  #
377
- # The truncation strategy to use for the model response. - `auto`: If the input to
378
- # this Response exceeds the model's context window size, the model will truncate
379
- # the response to fit the context window by dropping items from the beginning of
380
- # the conversation. - `disabled` (default): If the input size will exceed the
381
- # context window size for a model, the request will fail with a 400 error.
385
+ # The truncation strategy to use for the model response.
386
+ #
387
+ # - `auto`: If the input to this Response exceeds the model's context window size,
388
+ # the model will truncate the response to fit the context window by dropping
389
+ # items from the beginning of the conversation. On some models, trimming can
390
+ # begin earlier because the API subtracts the model's maximum output allowance
391
+ # from its input limit before counting tokens.
392
+ # - `disabled` (default): If the input size will exceed the context window size
393
+ # for a model, the request will fail with a 400 error.
382
394
  module Truncation
383
395
  extend OpenAI::Internal::Type::Enum
384
396
 
@@ -363,7 +363,9 @@ module OpenAI
363
363
  #
364
364
  # - `auto`: If the input to this Response exceeds the model's context window size,
365
365
  # the model will truncate the response to fit the context window by dropping
366
- # items from the beginning of the conversation.
366
+ # items from the beginning of the conversation. On some models, trimming can
367
+ # begin earlier because the API subtracts the model's maximum output allowance
368
+ # from its input limit, even if you set a lower `max_output_tokens`.
367
369
  # - `disabled` (default): If the input size will exceed the context window size
368
370
  # for a model, the request will fail with a 400 error.
369
371
  #
@@ -626,7 +628,9 @@ module OpenAI
626
628
  #
627
629
  # - `auto`: If the input to this Response exceeds the model's context window size,
628
630
  # the model will truncate the response to fit the context window by dropping
629
- # items from the beginning of the conversation.
631
+ # items from the beginning of the conversation. On some models, trimming can
632
+ # begin earlier because the API subtracts the model's maximum output allowance
633
+ # from its input limit, even if you set a lower `max_output_tokens`.
630
634
  # - `disabled` (default): If the input size will exceed the context window size
631
635
  # for a model, the request will fail with a 400 error.
632
636
  #
@@ -1605,7 +1609,9 @@ module OpenAI
1605
1609
  #
1606
1610
  # - `auto`: If the input to this Response exceeds the model's context window size,
1607
1611
  # the model will truncate the response to fit the context window by dropping
1608
- # items from the beginning of the conversation.
1612
+ # items from the beginning of the conversation. On some models, trimming can
1613
+ # begin earlier because the API subtracts the model's maximum output allowance
1614
+ # from its input limit, even if you set a lower `max_output_tokens`.
1609
1615
  # - `disabled` (default): If the input size will exceed the context window size
1610
1616
  # for a model, the request will fail with a 400 error.
1611
1617
  #
@@ -31,6 +31,8 @@ module OpenAI
31
31
  optional :input, union: -> { OpenAI::Responses::ResponseCompactParams::Input }, nil?: true
32
32
 
33
33
  # @!attribute instructions
34
+ # @deprecated
35
+ #
34
36
  # A system (or developer) message inserted into the model's context. When used
35
37
  # along with `previous_response_id`, the instructions from a previous response
36
38
  # will not be carried over to the next response. This makes it simple to swap out
@@ -369,7 +369,9 @@ module OpenAI
369
369
  #
370
370
  # - `auto`: If the input to this Response exceeds the model's context window size,
371
371
  # the model will truncate the response to fit the context window by dropping
372
- # items from the beginning of the conversation.
372
+ # items from the beginning of the conversation. On some models, trimming can
373
+ # begin earlier because the API subtracts the model's maximum output allowance
374
+ # from its input limit, even if you set a lower `max_output_tokens`.
373
375
  # - `disabled` (default): If the input size will exceed the context window size
374
376
  # for a model, the request will fail with a 400 error.
375
377
  #
@@ -629,7 +631,9 @@ module OpenAI
629
631
  #
630
632
  # - `auto`: If the input to this Response exceeds the model's context window size,
631
633
  # the model will truncate the response to fit the context window by dropping
632
- # items from the beginning of the conversation.
634
+ # items from the beginning of the conversation. On some models, trimming can
635
+ # begin earlier because the API subtracts the model's maximum output allowance
636
+ # from its input limit, even if you set a lower `max_output_tokens`.
633
637
  # - `disabled` (default): If the input size will exceed the context window size
634
638
  # for a model, the request will fail with a 400 error.
635
639
  #
@@ -1161,7 +1165,9 @@ module OpenAI
1161
1165
  #
1162
1166
  # - `auto`: If the input to this Response exceeds the model's context window size,
1163
1167
  # the model will truncate the response to fit the context window by dropping
1164
- # items from the beginning of the conversation.
1168
+ # items from the beginning of the conversation. On some models, trimming can
1169
+ # begin earlier because the API subtracts the model's maximum output allowance
1170
+ # from its input limit, even if you set a lower `max_output_tokens`.
1165
1171
  # - `disabled` (default): If the input size will exceed the context window size
1166
1172
  # for a model, the request will fail with a 400 error.
1167
1173
  module Truncation
@@ -808,7 +808,8 @@ module OpenAI
808
808
  # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
809
809
  # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
810
810
  # `gpt-image-2.5-flare-2026-09-08`, `gpt-image-2.6-sunburst`,
811
- # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default: `gpt-image-2`.
811
+ # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default:
812
+ # `gpt-image-2.6-sunburst`.
812
813
  #
813
814
  # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
814
815
  # `gpt-image-2.5-flare` instead.
@@ -940,7 +941,8 @@ module OpenAI
940
941
  # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
941
942
  # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
942
943
  # `gpt-image-2.5-flare-2026-09-08`, `gpt-image-2.6-sunburst`,
943
- # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default: `gpt-image-2`.
944
+ # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default:
945
+ # `gpt-image-2.6-sunburst`.
944
946
  #
945
947
  # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
946
948
  # `gpt-image-2.5-flare` instead.
@@ -1089,7 +1091,8 @@ module OpenAI
1089
1091
  # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
1090
1092
  # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
1091
1093
  # `gpt-image-2.5-flare-2026-09-08`, `gpt-image-2.6-sunburst`,
1092
- # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default: `gpt-image-2`.
1094
+ # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default:
1095
+ # `gpt-image-2.6-sunburst`.
1093
1096
  #
1094
1097
  # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
1095
1098
  # `gpt-image-2.5-flare` instead.
@@ -454,7 +454,9 @@ module OpenAI
454
454
  #
455
455
  # - `auto`: If the input to this Response exceeds the model's context window size,
456
456
  # the model will truncate the response to fit the context window by dropping
457
- # items from the beginning of the conversation.
457
+ # items from the beginning of the conversation. On some models, trimming can
458
+ # begin earlier because the API subtracts the model's maximum output allowance
459
+ # from its input limit, even if you set a lower `max_output_tokens`.
458
460
  # - `disabled` (default): If the input size will exceed the context window size
459
461
  # for a model, the request will fail with a 400 error.
460
462
  #
@@ -748,7 +750,9 @@ module OpenAI
748
750
  #
749
751
  # - `auto`: If the input to this Response exceeds the model's context window size,
750
752
  # the model will truncate the response to fit the context window by dropping
751
- # items from the beginning of the conversation.
753
+ # items from the beginning of the conversation. On some models, trimming can
754
+ # begin earlier because the API subtracts the model's maximum output allowance
755
+ # from its input limit, even if you set a lower `max_output_tokens`.
752
756
  # - `disabled` (default): If the input size will exceed the context window size
753
757
  # for a model, the request will fail with a 400 error.
754
758
  #
@@ -1321,7 +1325,9 @@ module OpenAI
1321
1325
  #
1322
1326
  # - `auto`: If the input to this Response exceeds the model's context window size,
1323
1327
  # the model will truncate the response to fit the context window by dropping
1324
- # items from the beginning of the conversation.
1328
+ # items from the beginning of the conversation. On some models, trimming can
1329
+ # begin earlier because the API subtracts the model's maximum output allowance
1330
+ # from its input limit, even if you set a lower `max_output_tokens`.
1325
1331
  # - `disabled` (default): If the input size will exceed the context window size
1326
1332
  # for a model, the request will fail with a 400 error.
1327
1333
  #
@@ -683,7 +683,8 @@ module OpenAI
683
683
  # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
684
684
  # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
685
685
  # `gpt-image-2.5-flare-2026-09-08`, `gpt-image-2.6-sunburst`,
686
- # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default: `gpt-image-2`.
686
+ # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default:
687
+ # `gpt-image-2.6-sunburst`.
687
688
  #
688
689
  # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
689
690
  # `gpt-image-2.5-flare` instead.
@@ -800,7 +801,8 @@ module OpenAI
800
801
  # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
801
802
  # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
802
803
  # `gpt-image-2.5-flare-2026-09-08`, `gpt-image-2.6-sunburst`,
803
- # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default: `gpt-image-2`.
804
+ # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default:
805
+ # `gpt-image-2.6-sunburst`.
804
806
  #
805
807
  # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
806
808
  # `gpt-image-2.5-flare` instead.
@@ -949,7 +951,8 @@ module OpenAI
949
951
  # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
950
952
  # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
951
953
  # `gpt-image-2.5-flare-2026-09-08`, `gpt-image-2.6-sunburst`,
952
- # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default: `gpt-image-2`.
954
+ # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default:
955
+ # `gpt-image-2.6-sunburst`.
953
956
  #
954
957
  # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
955
958
  # `gpt-image-2.5-flare` instead.
@@ -16,8 +16,9 @@ module OpenAI
16
16
  required :message, String
17
17
 
18
18
  # @!attribute headers
19
- # The Retry-After and Retry-After-Ms headers returned with the original error, if
20
- # any.
19
+ # Headers returned with the original error. These can include Retry-After,
20
+ # Retry-After-Ms, and, on opted-in deployments,
21
+ # x-openai-inference-capacity-reason.
21
22
  #
22
23
  # @return [Hash{Symbol=>String}, nil]
23
24
  optional :headers, OpenAI::Internal::Type::HashOf[String]
@@ -49,8 +50,9 @@ module OpenAI
49
50
  # A human-readable description of the error that was returned.
50
51
  #
51
52
  # @param headers [Hash{Symbol=>String}]
52
- # The Retry-After and Retry-After-Ms headers returned with the original error, if
53
- # any.
53
+ # Headers returned with the original error. These can include Retry-After,
54
+ # Retry-After-Ms, and, on opted-in deployments,
55
+ # x-openai-inference-capacity-reason.
54
56
  #
55
57
  # @param misalignment [OpenAI::Models::VideoCreateError::Misalignment]
56
58
  #
@@ -95,6 +95,7 @@ module OpenAI
95
95
  extend OpenAI::Internal::Type::Enum
96
96
 
97
97
  COMPUTER_USE_APPROVAL_REQUEST = :computer_use_approval_request
98
+ MCP_APPROVAL_REQUEST = :mcp_approval_request
98
99
  FUNCTION_CALL = :function_call
99
100
  ENVIRONMENT_CONNECTION = :environment_connection
100
101