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
@@ -139,11 +139,15 @@ module OpenAI
139
139
  }
140
140
  attr_accessor :tools
141
141
 
142
- # The truncation strategy to use for the model response. - `auto`: If the input to
143
- # this Response exceeds the model's context window size, the model will truncate
144
- # the response to fit the context window by dropping items from the beginning of
145
- # the conversation. - `disabled` (default): If the input size will exceed the
146
- # context window size for a model, the request will fail with a 400 error.
142
+ # The truncation strategy to use for the model response.
143
+ #
144
+ # - `auto`: If the input to this Response exceeds the model's context window size,
145
+ # the model will truncate the response to fit the context window by dropping
146
+ # items from the beginning of the conversation. On some models, trimming can
147
+ # begin earlier because the API subtracts the model's maximum output allowance
148
+ # from its input limit before counting tokens.
149
+ # - `disabled` (default): If the input size will exceed the context window size
150
+ # for a model, the request will fail with a 400 error.
147
151
  sig { returns(T.nilable(OpenAI::Beta::Responses::InputTokenCountParams::Truncation::OrSymbol)) }
148
152
  attr_reader :truncation
149
153
 
@@ -278,11 +282,15 @@ module OpenAI
278
282
  # specify which tool to use by setting the `tool_choice` parameter.
279
283
  tools: nil,
280
284
 
281
- # The truncation strategy to use for the model response. - `auto`: If the input to
282
- # this Response exceeds the model's context window size, the model will truncate
283
- # the response to fit the context window by dropping items from the beginning of
284
- # the conversation. - `disabled` (default): If the input size will exceed the
285
- # context window size for a model, the request will fail with a 400 error.
285
+ # The truncation strategy to use for the model response.
286
+ #
287
+ # - `auto`: If the input to this Response exceeds the model's context window size,
288
+ # the model will truncate the response to fit the context window by dropping
289
+ # items from the beginning of the conversation. On some models, trimming can
290
+ # begin earlier because the API subtracts the model's maximum output allowance
291
+ # from its input limit before counting tokens.
292
+ # - `disabled` (default): If the input size will exceed the context window size
293
+ # for a model, the request will fail with a 400 error.
286
294
  truncation: nil,
287
295
 
288
296
  betas: nil,
@@ -900,11 +908,15 @@ module OpenAI
900
908
 
901
909
  end
902
910
 
903
- # The truncation strategy to use for the model response. - `auto`: If the input to
904
- # this Response exceeds the model's context window size, the model will truncate
905
- # the response to fit the context window by dropping items from the beginning of
906
- # the conversation. - `disabled` (default): If the input size will exceed the
907
- # context window size for a model, the request will fail with a 400 error.
911
+ # The truncation strategy to use for the model response.
912
+ #
913
+ # - `auto`: If the input to this Response exceeds the model's context window size,
914
+ # the model will truncate the response to fit the context window by dropping
915
+ # items from the beginning of the conversation. On some models, trimming can
916
+ # begin earlier because the API subtracts the model's maximum output allowance
917
+ # from its input limit before counting tokens.
918
+ # - `disabled` (default): If the input size will exceed the context window size
919
+ # for a model, the request will fail with a 400 error.
908
920
  module Truncation
909
921
  extend OpenAI::Internal::Type::Enum
910
922
 
@@ -16,6 +16,7 @@ module OpenAI
16
16
  end
17
17
 
18
18
  # The image or audio file to check for supported OpenAI provenance signals.
19
+ # Supported image formats are PNG, JPEG, WebP, and GIF (including animated GIFs).
19
20
  #
20
21
  # `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
21
22
  # metadata. Use `OpenAI::FilePart` when you need to override the filename or
@@ -35,6 +36,7 @@ module OpenAI
35
36
  def self.new(
36
37
 
37
38
  # The image or audio file to check for supported OpenAI provenance signals.
39
+ # Supported image formats are PNG, JPEG, WebP, and GIF (including animated GIFs).
38
40
  #
39
41
  # `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
40
42
  # metadata. Use `OpenAI::FilePart` when you need to override the filename or
@@ -123,7 +123,8 @@ module OpenAI
123
123
  attr_accessor :output_compression
124
124
 
125
125
  # The format in which the generated images are returned. This parameter is only
126
- # supported for the GPT image models. The default value is `png`.
126
+ # supported for the GPT image models. The default value is `png`. SVG output
127
+ # requires a supported image model and project access.
127
128
  sig { returns(T.nilable(OpenAI::ImageEditParams::OutputFormat::OrSymbol)) }
128
129
  attr_accessor :output_format
129
130
 
@@ -171,6 +172,16 @@ module OpenAI
171
172
  sig { returns(T.nilable(T.any(String, OpenAI::ImageEditParams::Size::OrSymbol))) }
172
173
  attr_accessor :size
173
174
 
175
+ # Selects the author model and reasoning effort for `output_format=svg`. Supply
176
+ # `svg.model` when SVG model selection is enabled. Otherwise, omit this object.
177
+ # SVG output requires `n=1` and cannot use streaming, partial images, or output
178
+ # compression. Use multipart fields such as `svg[model]`.
179
+ sig { returns(T.nilable(OpenAI::ImageEditParams::Svg)) }
180
+ attr_reader :svg
181
+
182
+ sig { params(svg: T.nilable(OpenAI::ImageEditParams::Svg::OrHash)).void }
183
+ attr_writer :svg
184
+
174
185
  # Deprecated: use `safety_identifier` instead. This parameter remains accepted for
175
186
  # backward compatibility and is used when `safety_identifier` is omitted, null, or
176
187
  # empty.
@@ -220,6 +231,8 @@ module OpenAI
220
231
 
221
232
  size: T.nilable(T.any(String, OpenAI::ImageEditParams::Size::OrSymbol)),
222
233
 
234
+ svg: T.nilable(OpenAI::ImageEditParams::Svg::OrHash),
235
+
223
236
  user: String,
224
237
 
225
238
  request_options: OpenAI::RequestOptions::OrHash
@@ -318,7 +331,8 @@ module OpenAI
318
331
  output_compression: nil,
319
332
 
320
333
  # The format in which the generated images are returned. This parameter is only
321
- # supported for the GPT image models. The default value is `png`.
334
+ # supported for the GPT image models. The default value is `png`. SVG output
335
+ # requires a supported image model and project access.
322
336
  output_format: nil,
323
337
 
324
338
  # The number of partial images to generate. This parameter is used for streaming
@@ -360,6 +374,12 @@ module OpenAI
360
374
  # models that allow automatic sizing.
361
375
  size: nil,
362
376
 
377
+ # Selects the author model and reasoning effort for `output_format=svg`. Supply
378
+ # `svg.model` when SVG model selection is enabled. Otherwise, omit this object.
379
+ # SVG output requires `n=1` and cannot use streaming, partial images, or output
380
+ # compression. Use multipart fields such as `svg[model]`.
381
+ svg: nil,
382
+
363
383
  # Deprecated: use `safety_identifier` instead. This parameter remains accepted for
364
384
  # backward compatibility and is used when `safety_identifier` is omitted, null, or
365
385
  # empty.
@@ -391,6 +411,7 @@ module OpenAI
391
411
  response_format: T.nilable(OpenAI::ImageEditParams::ResponseFormat::OrSymbol),
392
412
  safety_identifier: T.nilable(String),
393
413
  size: T.nilable(T.any(String, OpenAI::ImageEditParams::Size::OrSymbol)),
414
+ svg: T.nilable(OpenAI::ImageEditParams::Svg),
394
415
  user: String,
395
416
  request_options: OpenAI::RequestOptions
396
417
  }
@@ -503,7 +524,8 @@ module OpenAI
503
524
  end
504
525
 
505
526
  # The format in which the generated images are returned. This parameter is only
506
- # supported for the GPT image models. The default value is `png`.
527
+ # supported for the GPT image models. The default value is `png`. SVG output
528
+ # requires a supported image model and project access.
507
529
  module OutputFormat
508
530
  extend OpenAI::Internal::Type::Enum
509
531
 
@@ -511,9 +533,10 @@ module OpenAI
511
533
  OrSymbol = T.type_alias { T.any(Symbol, String) }
512
534
 
513
535
  PNG = T.let(:png, OpenAI::ImageEditParams::OutputFormat::TaggedSymbol)
514
- JPEG = T.let(:jpeg, OpenAI::ImageEditParams::OutputFormat::TaggedSymbol)
515
536
  WEBP = T.let(:webp, OpenAI::ImageEditParams::OutputFormat::TaggedSymbol)
537
+ JPEG = T.let(:jpeg, OpenAI::ImageEditParams::OutputFormat::TaggedSymbol)
516
538
  GIF = T.let(:gif, OpenAI::ImageEditParams::OutputFormat::TaggedSymbol)
539
+ SVG = T.let(:svg, OpenAI::ImageEditParams::OutputFormat::TaggedSymbol)
517
540
 
518
541
  sig { override.returns(T::Array[OpenAI::ImageEditParams::OutputFormat::TaggedSymbol]) }
519
542
  def self.values
@@ -594,6 +617,122 @@ module OpenAI
594
617
 
595
618
  end
596
619
 
620
+ class Svg < OpenAI::Internal::Type::BaseModel
621
+ OrHash = T.type_alias do
622
+ T.any(
623
+ OpenAI::ImageEditParams::Svg,
624
+ OpenAI::Internal::AnyHash
625
+ )
626
+ end
627
+
628
+ sig { returns(T.nilable(String)) }
629
+ attr_reader :model
630
+
631
+ sig { params(model: String).void }
632
+ attr_writer :model
633
+
634
+ # Reasoning effort for SVG authoring. When omitted, uses the author model's
635
+ # default in both Images and Responses.
636
+ sig { returns(T.nilable(OpenAI::ImageEditParams::Svg::Reasoning)) }
637
+ attr_reader :reasoning
638
+
639
+ sig { params(reasoning: T.nilable(OpenAI::ImageEditParams::Svg::Reasoning::OrHash)).void }
640
+ attr_writer :reasoning
641
+
642
+ # Selects the author model and reasoning effort for `output_format=svg`. Supply
643
+ # `svg.model` when SVG model selection is enabled. Otherwise, omit this object.
644
+ # SVG output requires `n=1` and cannot use streaming, partial images, or output
645
+ # compression. Use multipart fields such as `svg[model]`.
646
+ sig do
647
+ params(
648
+
649
+ model: String,
650
+
651
+ reasoning: T.nilable(OpenAI::ImageEditParams::Svg::Reasoning::OrHash)
652
+ )
653
+ .returns(T.attached_class)
654
+ end
655
+ def self.new(
656
+
657
+ model: nil,
658
+
659
+ # Reasoning effort for SVG authoring. When omitted, uses the author model's
660
+ # default in both Images and Responses.
661
+
662
+ reasoning: nil
663
+ )
664
+ end
665
+
666
+ sig do
667
+ override.returns(
668
+ {model: String, reasoning: T.nilable(OpenAI::ImageEditParams::Svg::Reasoning)}
669
+ )
670
+ end
671
+ def to_hash
672
+ end
673
+
674
+ class Reasoning < OpenAI::Internal::Type::BaseModel
675
+ OrHash = T.type_alias do
676
+ T.any(
677
+ OpenAI::ImageEditParams::Svg::Reasoning,
678
+ OpenAI::Internal::AnyHash
679
+ )
680
+ end
681
+
682
+ # Controls how much effort the model should spend on reasoning for this request.
683
+ sig { returns(T.nilable(OpenAI::ImageEditParams::Svg::Reasoning::Effort::OrSymbol)) }
684
+ attr_reader :effort
685
+
686
+ sig { params(effort: OpenAI::ImageEditParams::Svg::Reasoning::Effort::OrSymbol).void }
687
+ attr_writer :effort
688
+
689
+ # Reasoning effort for SVG authoring. When omitted, uses the author model's
690
+ # default in both Images and Responses.
691
+ sig do
692
+ params(
693
+
694
+ effort: OpenAI::ImageEditParams::Svg::Reasoning::Effort::OrSymbol
695
+ )
696
+ .returns(T.attached_class)
697
+ end
698
+ def self.new(
699
+
700
+ # Controls how much effort the model should spend on reasoning for this request.
701
+
702
+ effort: nil
703
+ )
704
+ end
705
+
706
+ sig do
707
+ override.returns(
708
+ {effort: OpenAI::ImageEditParams::Svg::Reasoning::Effort::OrSymbol}
709
+ )
710
+ end
711
+ def to_hash
712
+ end
713
+
714
+ # Controls how much effort the model should spend on reasoning for this request.
715
+ module Effort
716
+ extend OpenAI::Internal::Type::Enum
717
+
718
+ TaggedSymbol = T.type_alias { T.all(Symbol, OpenAI::ImageEditParams::Svg::Reasoning::Effort) }
719
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
720
+
721
+ NONE = T.let(:none, OpenAI::ImageEditParams::Svg::Reasoning::Effort::TaggedSymbol)
722
+ MINIMAL = T.let(:minimal, OpenAI::ImageEditParams::Svg::Reasoning::Effort::TaggedSymbol)
723
+ LOW = T.let(:low, OpenAI::ImageEditParams::Svg::Reasoning::Effort::TaggedSymbol)
724
+ MEDIUM = T.let(:medium, OpenAI::ImageEditParams::Svg::Reasoning::Effort::TaggedSymbol)
725
+ HIGH = T.let(:high, OpenAI::ImageEditParams::Svg::Reasoning::Effort::TaggedSymbol)
726
+ XHIGH = T.let(:xhigh, OpenAI::ImageEditParams::Svg::Reasoning::Effort::TaggedSymbol)
727
+ MAX = T.let(:max, OpenAI::ImageEditParams::Svg::Reasoning::Effort::TaggedSymbol)
728
+
729
+ sig { override.returns(T::Array[OpenAI::ImageEditParams::Svg::Reasoning::Effort::TaggedSymbol]) }
730
+ def self.values
731
+ end
732
+ end
733
+ end
734
+ end
735
+
597
736
  end
598
737
 
599
738
  end
@@ -141,7 +141,7 @@ module OpenAI
141
141
  # enabled, supply svg.model. When model selection is disabled, omit this object.
142
142
  # The top-level model selects the image model that creates the reference image.
143
143
  # SVG generation requires n=1 and does not support streaming, partial images,
144
- # prompt_rewriter, or output_compression. SVG edits are not supported.
144
+ # prompt_rewriter, or output_compression.
145
145
  sig { returns(T.nilable(OpenAI::ImageGenerateParams::Svg)) }
146
146
  attr_reader :svg
147
147
 
@@ -313,7 +313,7 @@ module OpenAI
313
313
  # enabled, supply svg.model. When model selection is disabled, omit this object.
314
314
  # The top-level model selects the image model that creates the reference image.
315
315
  # SVG generation requires n=1 and does not support streaming, partial images,
316
- # prompt_rewriter, or output_compression. SVG edits are not supported.
316
+ # prompt_rewriter, or output_compression.
317
317
  svg: nil,
318
318
 
319
319
  # Deprecated: use `safety_identifier` instead. This parameter remains accepted for
@@ -442,8 +442,8 @@ module OpenAI
442
442
  OrSymbol = T.type_alias { T.any(Symbol, String) }
443
443
 
444
444
  PNG = T.let(:png, OpenAI::ImageGenerateParams::OutputFormat::TaggedSymbol)
445
- JPEG = T.let(:jpeg, OpenAI::ImageGenerateParams::OutputFormat::TaggedSymbol)
446
445
  WEBP = T.let(:webp, OpenAI::ImageGenerateParams::OutputFormat::TaggedSymbol)
446
+ JPEG = T.let(:jpeg, OpenAI::ImageGenerateParams::OutputFormat::TaggedSymbol)
447
447
  GIF = T.let(:gif, OpenAI::ImageGenerateParams::OutputFormat::TaggedSymbol)
448
448
  SVG = T.let(:svg, OpenAI::ImageGenerateParams::OutputFormat::TaggedSymbol)
449
449
 
@@ -573,7 +573,7 @@ module OpenAI
573
573
  # enabled, supply svg.model. When model selection is disabled, omit this object.
574
574
  # The top-level model selects the image model that creates the reference image.
575
575
  # SVG generation requires n=1 and does not support streaming, partial images,
576
- # prompt_rewriter, or output_compression. SVG edits are not supported.
576
+ # prompt_rewriter, or output_compression.
577
577
  sig do
578
578
  params(
579
579
 
@@ -31,7 +31,7 @@ module OpenAI
31
31
  sig { params(data: T::Array[OpenAI::Image::OrHash]).void }
32
32
  attr_writer :data
33
33
 
34
- # The output format of the generated image.
34
+ # The output format of the generated or edited image.
35
35
  sig { returns(T.nilable(OpenAI::ImagesResponse::OutputFormat::TaggedSymbol)) }
36
36
  attr_reader :output_format
37
37
 
@@ -59,15 +59,14 @@ module OpenAI
59
59
  sig { params(size: T.any(String, OpenAI::ImagesResponse::Size::OrSymbol)).void }
60
60
  attr_writer :size
61
61
 
62
- # Token usage for the model that authored the SVG, separate from image rendering
63
- # usage.
62
+ # Token usage for SVG authoring, separate from image rendering usage.
64
63
  sig { returns(T.nilable(OpenAI::ImagesResponse::SvgUsage)) }
65
64
  attr_reader :svg_usage
66
65
 
67
66
  sig { params(svg_usage: OpenAI::ImagesResponse::SvgUsage::OrHash).void }
68
67
  attr_writer :svg_usage
69
68
 
70
- # For `gpt-image-1` only, the token usage information for the image generation.
69
+ # Token usage information for image generation with GPT Image models.
71
70
  sig { returns(T.nilable(OpenAI::ImagesResponse::Usage)) }
72
71
  attr_reader :usage
73
72
 
@@ -110,7 +109,7 @@ module OpenAI
110
109
  # The list of generated images.
111
110
  data: nil,
112
111
 
113
- # The output format of the generated image.
112
+ # The output format of the generated or edited image.
114
113
  output_format: nil,
115
114
 
116
115
  # The quality of the image generated. One of `low`, `medium`, `high`, `xhigh`, or
@@ -125,11 +124,10 @@ module OpenAI
125
124
  # The image dimensions as a `WIDTHxHEIGHT` string, for example `1536x864`.
126
125
  size: nil,
127
126
 
128
- # Token usage for the model that authored the SVG, separate from image rendering
129
- # usage.
127
+ # Token usage for SVG authoring, separate from image rendering usage.
130
128
  svg_usage: nil,
131
129
 
132
- # For `gpt-image-1` only, the token usage information for the image generation.
130
+ # Token usage information for image generation with GPT Image models.
133
131
 
134
132
  usage: nil
135
133
  )
@@ -169,7 +167,7 @@ module OpenAI
169
167
  end
170
168
  end
171
169
 
172
- # The output format of the generated image.
170
+ # The output format of the generated or edited image.
173
171
  module OutputFormat
174
172
  extend OpenAI::Internal::Type::Enum
175
173
 
@@ -255,8 +253,7 @@ module OpenAI
255
253
  sig { returns(Integer) }
256
254
  attr_accessor :total_tokens
257
255
 
258
- # Token usage for the model that authored the SVG, separate from image rendering
259
- # usage.
256
+ # Token usage for SVG authoring, separate from image rendering usage.
260
257
  sig do
261
258
  params(
262
259
 
@@ -336,7 +333,7 @@ module OpenAI
336
333
  sig { params(output_tokens_details: OpenAI::ImagesResponse::Usage::OutputTokensDetails::OrHash).void }
337
334
  attr_writer :output_tokens_details
338
335
 
339
- # For `gpt-image-1` only, the token usage information for the image generation.
336
+ # Token usage information for image generation with GPT Image models.
340
337
  sig do
341
338
  params(
342
339
 
@@ -93,6 +93,11 @@ module OpenAI
93
93
  sig { returns(T.nilable(String)) }
94
94
  attr_accessor :instructions
95
95
 
96
+ # A stable identifier for your end user, used for safety monitoring and abuse
97
+ # detection.
98
+ sig { returns(T.nilable(String)) }
99
+ attr_accessor :safety_identifier
100
+
96
101
  # Whether to store the session for later forking and recording download. Defaults
97
102
  # to false for new sessions.
98
103
  sig { returns(T.nilable(T::Boolean)) }
@@ -142,6 +147,8 @@ module OpenAI
142
147
 
143
148
  instructions: T.nilable(String),
144
149
 
150
+ safety_identifier: T.nilable(String),
151
+
145
152
  store: T::Boolean,
146
153
 
147
154
  triggers: T::Array[OpenAI::Live::DecisionTrigger::OrHash]
@@ -181,6 +188,10 @@ module OpenAI
181
188
  # server defaults. Immutable after startup.
182
189
  instructions: nil,
183
190
 
191
+ # A stable identifier for your end user, used for safety monitoring and abuse
192
+ # detection.
193
+ safety_identifier: nil,
194
+
184
195
  # Whether to store the session for later forking and recording download. Defaults
185
196
  # to false for new sessions.
186
197
  store: nil,
@@ -215,6 +226,7 @@ module OpenAI
215
226
  )
216
227
  ],
217
228
  instructions: T.nilable(String),
229
+ safety_identifier: T.nilable(String),
218
230
  store: T::Boolean,
219
231
  triggers: T::Array[OpenAI::Live::DecisionTrigger]
220
232
  }
@@ -146,6 +146,11 @@ module OpenAI
146
146
  sig { returns(T.nilable(String)) }
147
147
  attr_accessor :instructions
148
148
 
149
+ # A stable identifier for your end user, used for safety monitoring and abuse
150
+ # detection.
151
+ sig { returns(T.nilable(String)) }
152
+ attr_accessor :safety_identifier
153
+
149
154
  # Whether to store the session for later forking and recording download. Defaults
150
155
  # to false for new sessions.
151
156
  sig { returns(T.nilable(T::Boolean)) }
@@ -191,6 +196,8 @@ module OpenAI
191
196
 
192
197
  instructions: T.nilable(String),
193
198
 
199
+ safety_identifier: T.nilable(String),
200
+
194
201
  store: T::Boolean,
195
202
 
196
203
  triggers: T::Array[OpenAI::Live::DecisionTrigger::OrHash],
@@ -228,6 +235,10 @@ module OpenAI
228
235
  # server defaults. Immutable after startup.
229
236
  instructions: nil,
230
237
 
238
+ # A stable identifier for your end user, used for safety monitoring and abuse
239
+ # detection.
240
+ safety_identifier: nil,
241
+
231
242
  # Whether to store the session for later forking and recording download. Defaults
232
243
  # to false for new sessions.
233
244
  store: nil,
@@ -265,6 +276,7 @@ module OpenAI
265
276
  )
266
277
  ],
267
278
  instructions: T.nilable(String),
279
+ safety_identifier: T.nilable(String),
268
280
  store: T::Boolean,
269
281
  triggers: T::Array[OpenAI::Live::DecisionTrigger]
270
282
  }
@@ -134,11 +134,15 @@ module OpenAI
134
134
  }
135
135
  attr_accessor :tools
136
136
 
137
- # The truncation strategy to use for the model response. - `auto`: If the input to
138
- # this Response exceeds the model's context window size, the model will truncate
139
- # the response to fit the context window by dropping items from the beginning of
140
- # the conversation. - `disabled` (default): If the input size will exceed the
141
- # context window size for a model, the request will fail with a 400 error.
137
+ # The truncation strategy to use for the model response.
138
+ #
139
+ # - `auto`: If the input to this Response exceeds the model's context window size,
140
+ # the model will truncate the response to fit the context window by dropping
141
+ # items from the beginning of the conversation. On some models, trimming can
142
+ # begin earlier because the API subtracts the model's maximum output allowance
143
+ # from its input limit before counting tokens.
144
+ # - `disabled` (default): If the input size will exceed the context window size
145
+ # for a model, the request will fail with a 400 error.
142
146
  sig { returns(T.nilable(OpenAI::Responses::InputTokenCountParams::Truncation::OrSymbol)) }
143
147
  attr_reader :truncation
144
148
 
@@ -265,11 +269,15 @@ module OpenAI
265
269
  # specify which tool to use by setting the `tool_choice` parameter.
266
270
  tools: nil,
267
271
 
268
- # The truncation strategy to use for the model response. - `auto`: If the input to
269
- # this Response exceeds the model's context window size, the model will truncate
270
- # the response to fit the context window by dropping items from the beginning of
271
- # the conversation. - `disabled` (default): If the input size will exceed the
272
- # context window size for a model, the request will fail with a 400 error.
272
+ # The truncation strategy to use for the model response.
273
+ #
274
+ # - `auto`: If the input to this Response exceeds the model's context window size,
275
+ # the model will truncate the response to fit the context window by dropping
276
+ # items from the beginning of the conversation. On some models, trimming can
277
+ # begin earlier because the API subtracts the model's maximum output allowance
278
+ # from its input limit before counting tokens.
279
+ # - `disabled` (default): If the input size will exceed the context window size
280
+ # for a model, the request will fail with a 400 error.
273
281
  truncation: nil,
274
282
 
275
283
  request_options: {}
@@ -581,11 +589,15 @@ module OpenAI
581
589
 
582
590
  end
583
591
 
584
- # The truncation strategy to use for the model response. - `auto`: If the input to
585
- # this Response exceeds the model's context window size, the model will truncate
586
- # the response to fit the context window by dropping items from the beginning of
587
- # the conversation. - `disabled` (default): If the input size will exceed the
588
- # context window size for a model, the request will fail with a 400 error.
592
+ # The truncation strategy to use for the model response.
593
+ #
594
+ # - `auto`: If the input to this Response exceeds the model's context window size,
595
+ # the model will truncate the response to fit the context window by dropping
596
+ # items from the beginning of the conversation. On some models, trimming can
597
+ # begin earlier because the API subtracts the model's maximum output allowance
598
+ # from its input limit before counting tokens.
599
+ # - `disabled` (default): If the input size will exceed the context window size
600
+ # for a model, the request will fail with a 400 error.
589
601
  module Truncation
590
602
  extend OpenAI::Internal::Type::Enum
591
603
 
@@ -340,7 +340,9 @@ module OpenAI
340
340
  #
341
341
  # - `auto`: If the input to this Response exceeds the model's context window size,
342
342
  # the model will truncate the response to fit the context window by dropping
343
- # items from the beginning of the conversation.
343
+ # items from the beginning of the conversation. On some models, trimming can
344
+ # begin earlier because the API subtracts the model's maximum output allowance
345
+ # from its input limit, even if you set a lower `max_output_tokens`.
344
346
  # - `disabled` (default): If the input size will exceed the context window size
345
347
  # for a model, the request will fail with a 400 error.
346
348
  sig { returns(T.nilable(OpenAI::Responses::Response::Truncation::TaggedSymbol)) }
@@ -750,7 +752,9 @@ module OpenAI
750
752
  #
751
753
  # - `auto`: If the input to this Response exceeds the model's context window size,
752
754
  # the model will truncate the response to fit the context window by dropping
753
- # items from the beginning of the conversation.
755
+ # items from the beginning of the conversation. On some models, trimming can
756
+ # begin earlier because the API subtracts the model's maximum output allowance
757
+ # from its input limit, even if you set a lower `max_output_tokens`.
754
758
  # - `disabled` (default): If the input size will exceed the context window size
755
759
  # for a model, the request will fail with a 400 error.
756
760
  truncation: nil,
@@ -2471,7 +2475,9 @@ module OpenAI
2471
2475
  #
2472
2476
  # - `auto`: If the input to this Response exceeds the model's context window size,
2473
2477
  # the model will truncate the response to fit the context window by dropping
2474
- # items from the beginning of the conversation.
2478
+ # items from the beginning of the conversation. On some models, trimming can
2479
+ # begin earlier because the API subtracts the model's maximum output allowance
2480
+ # from its input limit, even if you set a lower `max_output_tokens`.
2475
2481
  # - `disabled` (default): If the input size will exceed the context window size
2476
2482
  # for a model, the request will fail with a 400 error.
2477
2483
  module Truncation
@@ -416,7 +416,9 @@ module OpenAI
416
416
  #
417
417
  # - `auto`: If the input to this Response exceeds the model's context window size,
418
418
  # the model will truncate the response to fit the context window by dropping
419
- # items from the beginning of the conversation.
419
+ # items from the beginning of the conversation. On some models, trimming can
420
+ # begin earlier because the API subtracts the model's maximum output allowance
421
+ # from its input limit, even if you set a lower `max_output_tokens`.
420
422
  # - `disabled` (default): If the input size will exceed the context window size
421
423
  # for a model, the request will fail with a 400 error.
422
424
  sig { returns(T.nilable(OpenAI::Responses::ResponseCreateParams::Truncation::OrSymbol)) }
@@ -774,7 +776,9 @@ module OpenAI
774
776
  #
775
777
  # - `auto`: If the input to this Response exceeds the model's context window size,
776
778
  # the model will truncate the response to fit the context window by dropping
777
- # items from the beginning of the conversation.
779
+ # items from the beginning of the conversation. On some models, trimming can
780
+ # begin earlier because the API subtracts the model's maximum output allowance
781
+ # from its input limit, even if you set a lower `max_output_tokens`.
778
782
  # - `disabled` (default): If the input size will exceed the context window size
779
783
  # for a model, the request will fail with a 400 error.
780
784
  truncation: nil,
@@ -1690,7 +1694,9 @@ module OpenAI
1690
1694
  #
1691
1695
  # - `auto`: If the input to this Response exceeds the model's context window size,
1692
1696
  # the model will truncate the response to fit the context window by dropping
1693
- # items from the beginning of the conversation.
1697
+ # items from the beginning of the conversation. On some models, trimming can
1698
+ # begin earlier because the API subtracts the model's maximum output allowance
1699
+ # from its input limit, even if you set a lower `max_output_tokens`.
1694
1700
  # - `disabled` (default): If the input size will exceed the context window size
1695
1701
  # for a model, the request will fail with a 400 error.
1696
1702
  module Truncation
@@ -1365,7 +1365,8 @@ module OpenAI
1365
1365
  # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
1366
1366
  # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
1367
1367
  # `gpt-image-2.5-flare-2026-09-08`, `gpt-image-2.6-sunburst`,
1368
- # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default: `gpt-image-2`.
1368
+ # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default:
1369
+ # `gpt-image-2.6-sunburst`.
1369
1370
  #
1370
1371
  # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
1371
1372
  # `gpt-image-2.5-flare` instead.
@@ -1606,7 +1607,8 @@ module OpenAI
1606
1607
  # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
1607
1608
  # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
1608
1609
  # `gpt-image-2.5-flare-2026-09-08`, `gpt-image-2.6-sunburst`,
1609
- # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default: `gpt-image-2`.
1610
+ # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default:
1611
+ # `gpt-image-2.6-sunburst`.
1610
1612
  #
1611
1613
  # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
1612
1614
  # `gpt-image-2.5-flare` instead.
@@ -1897,7 +1899,8 @@ module OpenAI
1897
1899
  # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
1898
1900
  # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
1899
1901
  # `gpt-image-2.5-flare-2026-09-08`, `gpt-image-2.6-sunburst`,
1900
- # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default: `gpt-image-2`.
1902
+ # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default:
1903
+ # `gpt-image-2.6-sunburst`.
1901
1904
  #
1902
1905
  # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
1903
1906
  # `gpt-image-2.5-flare` instead.