openai 0.110.0 → 0.112.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 (255) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +20 -0
  3. data/README.md +1 -1
  4. data/lib/openai/models/beta/agent.rb +2 -2
  5. data/lib/openai/models/beta/agent_create_params.rb +2 -2
  6. data/lib/openai/models/beta/agent_session.rb +2 -2
  7. data/lib/openai/models/beta/agent_tool.rb +18 -1
  8. data/lib/openai/models/beta/agent_tool_param.rb +18 -1
  9. data/lib/openai/models/beta/agent_update_params.rb +2 -2
  10. data/lib/openai/models/beta/agents/session_create_params.rb +2 -2
  11. data/lib/openai/models/beta/beta_response_input_file.rb +23 -1
  12. data/lib/openai/models/beta/beta_response_input_file_content.rb +23 -1
  13. data/lib/openai/models/beta/beta_response_input_image.rb +23 -1
  14. data/lib/openai/models/beta/beta_response_input_image_content.rb +23 -1
  15. data/lib/openai/models/beta/beta_response_input_text.rb +23 -1
  16. data/lib/openai/models/beta/beta_response_input_text_content.rb +23 -1
  17. data/lib/openai/models/beta/beta_response_item.rb +28 -1
  18. data/lib/openai/models/beta/beta_response_output_item.rb +28 -1
  19. data/lib/openai/models/beta/beta_response_tool_search_output_item_param.rb +26 -15
  20. data/lib/openai/models/beta/beta_tool.rb +26 -15
  21. data/lib/openai/models/beta/persisted_agent_tool.rb +18 -1
  22. data/lib/openai/models/beta/persisted_agent_tool_param.rb +18 -1
  23. data/lib/openai/models/chat/chat_completion_content_part.rb +23 -1
  24. data/lib/openai/models/chat/chat_completion_content_part_image.rb +23 -1
  25. data/lib/openai/models/chat/chat_completion_content_part_input_audio.rb +23 -1
  26. data/lib/openai/models/chat/chat_completion_content_part_text.rb +23 -1
  27. data/lib/openai/models/conversations/computer_screenshot_content.rb +23 -1
  28. data/lib/openai/models/decision_create_params.rb +802 -28
  29. data/lib/openai/models/decision_input_json.rb +45 -0
  30. data/lib/openai/models/decision_input_message.rb +304 -48
  31. data/lib/openai/models/decision_input_part.rb +4 -1
  32. data/lib/openai/models/decision_question_input_image.rb +54 -0
  33. data/lib/openai/models/decision_question_input_part.rb +23 -0
  34. data/lib/openai/models/decision_question_input_text.rb +21 -0
  35. data/lib/openai/models/image_edit_params.rb +20 -4
  36. data/lib/openai/models/image_generate_params.rb +23 -7
  37. data/lib/openai/models/image_model.rb +2 -0
  38. data/lib/openai/models/live/client_delegation.rb +20 -1
  39. data/lib/openai/models/live/client_event.rb +4 -4
  40. data/lib/openai/models/live/commentary_append_event.rb +1 -1
  41. data/lib/openai/models/live/decision_assistant_message.rb +154 -0
  42. data/lib/openai/models/live/decision_choice_option.rb +35 -0
  43. data/lib/openai/models/live/decision_developer_message.rb +70 -0
  44. data/lib/openai/models/live/decision_input_text.rb +26 -0
  45. data/lib/openai/models/live/decision_item_create_event.rb +490 -131
  46. data/lib/openai/models/live/decision_item_created_event.rb +486 -131
  47. data/lib/openai/models/live/decision_json_object.rb +10 -0
  48. data/lib/openai/models/live/decision_question.rb +172 -0
  49. data/lib/openai/models/live/decision_stored_assistant_message.rb +152 -0
  50. data/lib/openai/models/live/decision_stored_developer_message.rb +68 -0
  51. data/lib/openai/models/live/decision_stored_system_message.rb +68 -0
  52. data/lib/openai/models/live/decision_stored_user_message.rb +195 -0
  53. data/lib/openai/models/live/decision_system_message.rb +70 -0
  54. data/lib/openai/models/live/decision_trigger.rb +6 -185
  55. data/lib/openai/models/live/decision_user_message.rb +193 -0
  56. data/lib/openai/models/live/decisions_delegation_config.rb +5 -177
  57. data/lib/openai/models/live/decisions_delegation_update_config.rb +5 -184
  58. data/lib/openai/models/live/fork_client_event.rb +4 -4
  59. data/lib/openai/models/live/fork_server_event.rb +2 -2
  60. data/lib/openai/models/live/fork_session_config.rb +20 -1
  61. data/lib/openai/models/live/input_audio_muted_event.rb +3 -2
  62. data/lib/openai/models/live/input_audio_unmute_event.rb +2 -1
  63. data/lib/openai/models/live/input_audio_unmuted_event.rb +3 -2
  64. data/lib/openai/models/live/instructions_append_event.rb +5 -2
  65. data/lib/openai/models/live/media_session_config.rb +39 -2
  66. data/lib/openai/models/live/media_session_fork_config.rb +20 -1
  67. data/lib/openai/models/live/server_event.rb +2 -2
  68. data/lib/openai/models/live/session_accept_params.rb +39 -2
  69. data/lib/openai/models/live/session_config.rb +39 -2
  70. data/lib/openai/models/live/session_resource.rb +39 -2
  71. data/lib/openai/models/live/session_update_config.rb +41 -2
  72. data/lib/openai/models/live/sideband_client_event.rb +4 -4
  73. data/lib/openai/models/live/sideband_server_event.rb +2 -2
  74. data/lib/openai/models/live/thinking_append_event.rb +1 -1
  75. data/lib/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rb +10 -12
  76. data/lib/openai/models/realtime/realtime_error_event.rb +1 -1
  77. data/lib/openai/models/realtime/realtime_server_event.rb +1 -1
  78. data/lib/openai/models/realtime/realtime_translation_server_event.rb +1 -1
  79. data/lib/openai/models/responses/response_input_file.rb +23 -1
  80. data/lib/openai/models/responses/response_input_file_content.rb +23 -1
  81. data/lib/openai/models/responses/response_input_image.rb +23 -1
  82. data/lib/openai/models/responses/response_input_image_content.rb +23 -1
  83. data/lib/openai/models/responses/response_input_text.rb +23 -1
  84. data/lib/openai/models/responses/response_input_text_content.rb +23 -1
  85. data/lib/openai/models/responses/response_tool_search_output_item_param.rb +26 -15
  86. data/lib/openai/models/responses/tool.rb +26 -15
  87. data/lib/openai/models.rb +8 -0
  88. data/lib/openai/resources/beta/agents.rb +2 -2
  89. data/lib/openai/resources/beta/responses.rb +2 -2
  90. data/lib/openai/resources/decisions.rb +5 -6
  91. data/lib/openai/resources/images.rb +18 -6
  92. data/lib/openai/resources/live/forks.rb +2 -2
  93. data/lib/openai/resources/live/sideband.rb +2 -2
  94. data/lib/openai/resources/live.rb +2 -2
  95. data/lib/openai/resources/realtime/translations.rb +2 -2
  96. data/lib/openai/resources/realtime.rb +2 -2
  97. data/lib/openai/resources/responses.rb +2 -2
  98. data/lib/openai/version.rb +1 -1
  99. data/lib/openai.rb +16 -0
  100. data/rbi/openai/models/beta/agent.rbi +2 -1
  101. data/rbi/openai/models/beta/agent_create_params.rbi +6 -3
  102. data/rbi/openai/models/beta/agent_session.rbi +2 -1
  103. data/rbi/openai/models/beta/agent_tool.rbi +40 -1
  104. data/rbi/openai/models/beta/agent_tool_param.rbi +40 -1
  105. data/rbi/openai/models/beta/agent_update_params.rbi +6 -3
  106. data/rbi/openai/models/beta/agents/session_create_params.rbi +6 -3
  107. data/rbi/openai/models/beta/beta_response_input_file.rbi +31 -1
  108. data/rbi/openai/models/beta/beta_response_input_file_content.rbi +39 -1
  109. data/rbi/openai/models/beta/beta_response_input_image.rbi +31 -1
  110. data/rbi/openai/models/beta/beta_response_input_image_content.rbi +39 -1
  111. data/rbi/openai/models/beta/beta_response_input_text.rbi +31 -1
  112. data/rbi/openai/models/beta/beta_response_input_text_content.rbi +39 -1
  113. data/rbi/openai/models/beta/beta_response_item.rbi +58 -1
  114. data/rbi/openai/models/beta/beta_response_output_item.rbi +58 -1
  115. data/rbi/openai/models/beta/beta_response_tool_search_output_item_param.rbi +24 -15
  116. data/rbi/openai/models/beta/beta_tool.rbi +24 -15
  117. data/rbi/openai/models/beta/persisted_agent_tool.rbi +40 -1
  118. data/rbi/openai/models/beta/persisted_agent_tool_param.rbi +40 -1
  119. data/rbi/openai/models/chat/chat_completion_content_part.rbi +43 -1
  120. data/rbi/openai/models/chat/chat_completion_content_part_image.rbi +41 -1
  121. data/rbi/openai/models/chat/chat_completion_content_part_input_audio.rbi +46 -1
  122. data/rbi/openai/models/chat/chat_completion_content_part_text.rbi +39 -1
  123. data/rbi/openai/models/conversations/computer_screenshot_content.rbi +48 -1
  124. data/rbi/openai/models/decision_create_params.rbi +1273 -26
  125. data/rbi/openai/models/decision_input_json.rbi +75 -0
  126. data/rbi/openai/models/decision_input_message.rbi +455 -52
  127. data/rbi/openai/models/decision_input_part.rbi +2 -1
  128. data/rbi/openai/models/decision_question_input_image.rbi +82 -0
  129. data/rbi/openai/models/decision_question_input_part.rbi +25 -0
  130. data/rbi/openai/models/decision_question_input_text.rbi +49 -0
  131. data/rbi/openai/models/image_edit_params.rbi +12 -3
  132. data/rbi/openai/models/image_generate_params.rbi +15 -6
  133. data/rbi/openai/models/live/client_delegation.rbi +23 -1
  134. data/rbi/openai/models/live/commentary_append_event.rbi +1 -1
  135. data/rbi/openai/models/live/decision_assistant_message.rbi +247 -0
  136. data/rbi/openai/models/live/decision_choice_option.rbi +67 -0
  137. data/rbi/openai/models/live/decision_developer_message.rbi +109 -0
  138. data/rbi/openai/models/live/decision_input_text.rbi +55 -0
  139. data/rbi/openai/models/live/decision_item_create_event.rbi +765 -184
  140. data/rbi/openai/models/live/decision_item_created_event.rbi +737 -184
  141. data/rbi/openai/models/live/decision_json_object.rbi +16 -0
  142. data/rbi/openai/models/live/decision_question.rbi +300 -0
  143. data/rbi/openai/models/live/decision_stored_assistant_message.rbi +245 -0
  144. data/rbi/openai/models/live/decision_stored_developer_message.rbi +107 -0
  145. data/rbi/openai/models/live/decision_stored_system_message.rbi +107 -0
  146. data/rbi/openai/models/live/decision_stored_user_message.rbi +333 -0
  147. data/rbi/openai/models/live/decision_system_message.rbi +109 -0
  148. data/rbi/openai/models/live/decision_trigger.rbi +11 -320
  149. data/rbi/openai/models/live/decision_user_message.rbi +320 -0
  150. data/rbi/openai/models/live/decisions_delegation_config.rbi +10 -321
  151. data/rbi/openai/models/live/decisions_delegation_update_config.rbi +13 -324
  152. data/rbi/openai/models/live/fork_session_config.rbi +27 -1
  153. data/rbi/openai/models/live/input_audio_muted_event.rbi +3 -2
  154. data/rbi/openai/models/live/input_audio_unmute_event.rbi +2 -1
  155. data/rbi/openai/models/live/input_audio_unmuted_event.rbi +3 -2
  156. data/rbi/openai/models/live/instructions_append_event.rbi +5 -2
  157. data/rbi/openai/models/live/media_session_config.rbi +44 -2
  158. data/rbi/openai/models/live/media_session_fork_config.rbi +27 -1
  159. data/rbi/openai/models/live/session_accept_params.rbi +44 -2
  160. data/rbi/openai/models/live/session_config.rbi +44 -2
  161. data/rbi/openai/models/live/session_resource.rbi +44 -2
  162. data/rbi/openai/models/live/session_update_config.rbi +54 -2
  163. data/rbi/openai/models/live/thinking_append_event.rbi +1 -1
  164. data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rbi +10 -12
  165. data/rbi/openai/models/realtime/realtime_error_event.rbi +1 -1
  166. data/rbi/openai/models/responses/response_input_file.rbi +31 -1
  167. data/rbi/openai/models/responses/response_input_file_content.rbi +39 -1
  168. data/rbi/openai/models/responses/response_input_image.rbi +33 -1
  169. data/rbi/openai/models/responses/response_input_image_content.rbi +41 -1
  170. data/rbi/openai/models/responses/response_input_text.rbi +31 -1
  171. data/rbi/openai/models/responses/response_input_text_content.rbi +39 -1
  172. data/rbi/openai/models/responses/response_tool_search_output_item_param.rbi +24 -15
  173. data/rbi/openai/models/responses/tool.rbi +24 -15
  174. data/rbi/openai/models.rbi +8 -0
  175. data/rbi/openai/resources/beta/agents.rbi +4 -2
  176. data/rbi/openai/resources/beta/responses.rbi +8 -1
  177. data/rbi/openai/resources/decisions.rbi +4 -5
  178. data/rbi/openai/resources/images.rbi +18 -6
  179. data/rbi/openai/resources/live/forks.rbi +8 -1
  180. data/rbi/openai/resources/live/sideband.rbi +8 -1
  181. data/rbi/openai/resources/live.rbi +8 -1
  182. data/rbi/openai/resources/realtime/translations.rbi +8 -1
  183. data/rbi/openai/resources/realtime.rbi +8 -1
  184. data/rbi/openai/resources/responses.rbi +8 -1
  185. data/sig/openai/models/beta/agent_tool.rbs +14 -0
  186. data/sig/openai/models/beta/agent_tool_param.rbs +14 -0
  187. data/sig/openai/models/beta/beta_response_input_file.rbs +34 -3
  188. data/sig/openai/models/beta/beta_response_input_file_content.rbs +34 -3
  189. data/sig/openai/models/beta/beta_response_input_image.rbs +34 -3
  190. data/sig/openai/models/beta/beta_response_input_image_content.rbs +34 -3
  191. data/sig/openai/models/beta/beta_response_input_text.rbs +34 -3
  192. data/sig/openai/models/beta/beta_response_input_text_content.rbs +34 -3
  193. data/sig/openai/models/beta/beta_response_item.rbs +34 -3
  194. data/sig/openai/models/beta/beta_response_output_item.rbs +34 -3
  195. data/sig/openai/models/beta/beta_response_tool_search_output_item_param.rbs +24 -15
  196. data/sig/openai/models/beta/beta_tool.rbs +24 -15
  197. data/sig/openai/models/beta/persisted_agent_tool.rbs +14 -0
  198. data/sig/openai/models/beta/persisted_agent_tool_param.rbs +14 -0
  199. data/sig/openai/models/chat/chat_completion_content_part.rbs +34 -3
  200. data/sig/openai/models/chat/chat_completion_content_part_image.rbs +34 -3
  201. data/sig/openai/models/chat/chat_completion_content_part_input_audio.rbs +34 -3
  202. data/sig/openai/models/chat/chat_completion_content_part_text.rbs +34 -3
  203. data/sig/openai/models/conversations/computer_screenshot_content.rbs +34 -3
  204. data/sig/openai/models/decision_create_params.rbs +610 -24
  205. data/sig/openai/models/decision_input_json.rbs +34 -0
  206. data/sig/openai/models/decision_input_message.rbs +264 -35
  207. data/sig/openai/models/decision_input_part.rbs +3 -1
  208. data/sig/openai/models/decision_question_input_image.rbs +51 -0
  209. data/sig/openai/models/decision_question_input_part.rbs +14 -0
  210. data/sig/openai/models/decision_question_input_text.rbs +15 -0
  211. data/sig/openai/models/image_edit_params.rbs +8 -2
  212. data/sig/openai/models/image_generate_params.rbs +10 -4
  213. data/sig/openai/models/live/client_delegation.rbs +30 -3
  214. data/sig/openai/models/live/decision_assistant_message.rbs +134 -0
  215. data/sig/openai/models/live/decision_choice_option.rbs +37 -0
  216. data/sig/openai/models/live/decision_developer_message.rbs +67 -0
  217. data/sig/openai/models/live/decision_input_text.rbs +20 -0
  218. data/sig/openai/models/live/decision_item_create_event.rbs +413 -131
  219. data/sig/openai/models/live/decision_item_created_event.rbs +401 -131
  220. data/sig/openai/models/live/decision_json_object.rbs +9 -0
  221. data/sig/openai/models/live/decision_question.rbs +164 -0
  222. data/sig/openai/models/live/decision_stored_assistant_message.rbs +131 -0
  223. data/sig/openai/models/live/decision_stored_developer_message.rbs +64 -0
  224. data/sig/openai/models/live/decision_stored_system_message.rbs +64 -0
  225. data/sig/openai/models/live/decision_stored_user_message.rbs +177 -0
  226. data/sig/openai/models/live/decision_system_message.rbs +67 -0
  227. data/sig/openai/models/live/decision_trigger.rbs +8 -171
  228. data/sig/openai/models/live/decision_user_message.rbs +180 -0
  229. data/sig/openai/models/live/decisions_delegation_config.rbs +6 -167
  230. data/sig/openai/models/live/decisions_delegation_update_config.rbs +8 -169
  231. data/sig/openai/models/live/fork_session_config.rbs +26 -0
  232. data/sig/openai/models/live/media_session_config.rbs +53 -4
  233. data/sig/openai/models/live/media_session_fork_config.rbs +26 -0
  234. data/sig/openai/models/live/session_accept_params.rbs +53 -4
  235. data/sig/openai/models/live/session_config.rbs +53 -4
  236. data/sig/openai/models/live/session_resource.rbs +53 -4
  237. data/sig/openai/models/live/session_update_config.rbs +52 -0
  238. data/sig/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rbs +10 -12
  239. data/sig/openai/models/responses/response_input_file.rbs +34 -3
  240. data/sig/openai/models/responses/response_input_file_content.rbs +34 -3
  241. data/sig/openai/models/responses/response_input_image.rbs +34 -3
  242. data/sig/openai/models/responses/response_input_image_content.rbs +34 -3
  243. data/sig/openai/models/responses/response_input_text.rbs +34 -3
  244. data/sig/openai/models/responses/response_input_text_content.rbs +34 -3
  245. data/sig/openai/models/responses/response_tool_search_output_item_param.rbs +24 -15
  246. data/sig/openai/models/responses/tool.rbs +24 -15
  247. data/sig/openai/models.rbs +9 -1
  248. data/sig/openai/resources/beta/responses.rbs +2 -1
  249. data/sig/openai/resources/live/forks.rbs +2 -1
  250. data/sig/openai/resources/live/sideband.rbs +2 -1
  251. data/sig/openai/resources/live.rbs +2 -1
  252. data/sig/openai/resources/realtime/translations.rbs +2 -1
  253. data/sig/openai/resources/realtime.rbs +2 -1
  254. data/sig/openai/resources/responses.rbs +2 -1
  255. metadata +49 -1
@@ -57,6 +57,17 @@ module OpenAI
57
57
  # @return [Symbol, :responses]
58
58
  required :type, const: :responses
59
59
 
60
+ # @!attribute acknowledgement_delay_ms
61
+ # Milliseconds to wait before requesting an automatic spoken acknowledgement for a
62
+ # delegation. The model may still speak before this delay. Any commentary or
63
+ # thinking appended to the session cancels all pending acknowledgements, including
64
+ # those for other delegations. Defaults to 400 for Decisions sessions and 0
65
+ # (request immediately) for other sessions. Omission in a session update preserves
66
+ # the current value. Updates apply to subsequent delegations.
67
+ #
68
+ # @return [Integer, nil]
69
+ optional :acknowledgement_delay_ms, Integer
70
+
60
71
  # @!attribute responses
61
72
  # Responses backend settings to update. Omitted settings keep their existing
62
73
  # values.
@@ -64,10 +75,18 @@ module OpenAI
64
75
  # @return [OpenAI::Models::Live::ResponsesDelegationUpdateConfig, nil]
65
76
  optional :responses, -> { OpenAI::Live::ResponsesDelegationUpdateConfig }
66
77
 
67
- # @!method initialize(responses: nil, type: :responses)
78
+ # @!method initialize(acknowledgement_delay_ms: nil, responses: nil, type: :responses)
68
79
  # Update the Responses backend for an existing Live session without changing
69
80
  # delegation ownership.
70
81
  #
82
+ # @param acknowledgement_delay_ms [Integer]
83
+ # Milliseconds to wait before requesting an automatic spoken acknowledgement for a
84
+ # delegation. The model may still speak before this delay. Any commentary or
85
+ # thinking appended to the session cancels all pending acknowledgements, including
86
+ # those for other delegations. Defaults to 400 for Decisions sessions and 0
87
+ # (request immediately) for other sessions. Omission in a session update preserves
88
+ # the current value. Updates apply to subsequent delegations.
89
+ #
71
90
  # @param responses [OpenAI::Models::Live::ResponsesDelegationUpdateConfig]
72
91
  # Responses backend settings to update. Omitted settings keep their existing
73
92
  # values.
@@ -82,13 +101,33 @@ module OpenAI
82
101
  # @return [Symbol, :decisions]
83
102
  required :type, const: :decisions
84
103
 
104
+ # @!attribute acknowledgement_delay_ms
105
+ # Milliseconds to wait before requesting an automatic spoken acknowledgement for a
106
+ # delegation. The model may still speak before this delay. Any commentary or
107
+ # thinking appended to the session cancels all pending acknowledgements, including
108
+ # those for other delegations. Defaults to 400 for Decisions sessions and 0
109
+ # (request immediately) for other sessions. Omission in a session update preserves
110
+ # the current value. Updates apply to subsequent delegations.
111
+ #
112
+ # @return [Integer, nil]
113
+ optional :acknowledgement_delay_ms, Integer
114
+
85
115
  # @!attribute decisions
86
116
  #
87
117
  # @return [OpenAI::Models::Live::DecisionsDelegationUpdateConfig, nil]
88
118
  optional :decisions, -> { OpenAI::Live::DecisionsDelegationUpdateConfig }
89
119
 
90
- # @!method initialize(decisions: nil, type: :decisions)
120
+ # @!method initialize(acknowledgement_delay_ms: nil, decisions: nil, type: :decisions)
121
+ # @param acknowledgement_delay_ms [Integer]
122
+ # Milliseconds to wait before requesting an automatic spoken acknowledgement for a
123
+ # delegation. The model may still speak before this delay. Any commentary or
124
+ # thinking appended to the session cancels all pending acknowledgements, including
125
+ # those for other delegations. Defaults to 400 for Decisions sessions and 0
126
+ # (request immediately) for other sessions. Omission in a session update preserves
127
+ # the current value. Updates apply to subsequent delegations.
128
+ #
91
129
  # @param decisions [OpenAI::Models::Live::DecisionsDelegationUpdateConfig]
130
+ #
92
131
  # @param type [Symbol, :decisions]
93
132
  end
94
133
 
@@ -16,19 +16,19 @@ module OpenAI
16
16
  # Mute audio input to the Live model without closing the session. The server acknowledges with `session.input_audio.muted`.
17
17
  variant :"session.input_audio.mute", -> { OpenAI::Live::InputAudioMuteEvent }
18
18
 
19
- # Resume audio input to a Live model after muting it. The server acknowledges with `session.input_audio.unmuted`.
19
+ # Resume audio input to a Live model after muting it. The server acknowledges with `session.input_audio.unmuted`. An active audio fixture still pauses inference until playback finishes.
20
20
  variant :"session.input_audio.unmute", -> { OpenAI::Live::InputAudioUnmuteEvent }
21
21
 
22
22
  # Play one complete audio fixture through the session output. Send this event over the primary WebSocket or a server sideband. Audio must be raw mono PCM16 little-endian at 24 kHz, regardless of the session audio format, and at most 30 seconds. The entire payload is validated before model speech is interrupted and input is muted. Only one fixture can be active. fixture.playing acknowledges acceptance and fixture.played reports server mixer drain. These notifications are not exact transport-media boundaries. Input arriving during playback is dropped and not replayed.
23
23
  variant :"session.output_audio.fixture.play", -> { OpenAI::Live::OutputAudioFixturePlayEvent }
24
24
 
25
- # Append instructions to the Live conversation while it is running, optionally associating them with an existing client delegation.
25
+ # Append developer instructions to the Live conversation while it is running, optionally associating them with an existing client delegation. Rejected while an audio fixture is active. These instructions remain in conversation history through compaction and are included in future backend delegations. For external audio, describe content already delivered so the assistant does not repeat it.
26
26
  variant :"session.instructions.append", -> { OpenAI::Live::InstructionsAppendEvent }
27
27
 
28
- # Provide silent reasoning or progress context to the Live model, optionally for an existing client delegation.
28
+ # Provide silent reasoning or progress context to the Live model, optionally for an existing client delegation. Rejected while an audio fixture is active.
29
29
  variant :"session.thinking.append", -> { OpenAI::Live::ThinkingAppendEvent }
30
30
 
31
- # Provide context the Live model can communicate to the user, optionally for an existing client delegation.
31
+ # Provide context the Live model can communicate to the user, optionally for an existing client delegation. Rejected while an audio fixture is active.
32
32
  variant :"session.commentary.append", -> { OpenAI::Live::CommentaryAppendEvent }
33
33
 
34
34
  # Evaluate the configured questions using the current conversation and Decision inputs. Reusing an event_id is rejected for the lifetime of the session.
@@ -16,10 +16,10 @@ module OpenAI
16
16
  # Returned when a Live session update is accepted. Contains the resolved session configuration after the update.
17
17
  variant :"session.updated", -> { OpenAI::Live::SessionUpdatedEvent }
18
18
 
19
- # Returned when a session.input_audio.mute command is accepted. Input audio is no longer sent to the model; sideband audio reflection continues.
19
+ # Acknowledges a session.input_audio.mute command. An independent input mute sends silence to the model and preserves sideband audio reflection. Fixture playback does not emit this event.
20
20
  variant :"session.input_audio.muted", -> { OpenAI::Live::InputAudioMutedEvent }
21
21
 
22
- # Returned when a session.input_audio.unmute command is accepted. Input audio is sent to the model again.
22
+ # Acknowledges a session.input_audio.unmute command, removing the independent input mute. An active audio fixture still pauses inference until playback finishes. Fixture playback does not emit this event.
23
23
  variant :"session.input_audio.unmuted", -> { OpenAI::Live::InputAudioUnmutedEvent }
24
24
 
25
25
  # The existing playback path has accepted the validated audio fixture. This acknowledgment does not identify when the listener receives the first sample. The optional client_event_id echoes the play command.
@@ -35,7 +35,7 @@ module OpenAI
35
35
 
36
36
  # @!method initialize(content:, delegation_id:, event_id: nil, type: :"session.thinking.append")
37
37
  # Provide silent reasoning or progress context to the Live model, optionally for
38
- # an existing client delegation.
38
+ # an existing client delegation. Rejected while an audio fixture is active.
39
39
  #
40
40
  # @param content [String]
41
41
  # Silent reasoning or progress context, limited to 500 tokens. It does not
@@ -35,12 +35,11 @@ module OpenAI
35
35
  optional :delta, String
36
36
 
37
37
  # @!attribute logprobs
38
- # The log probabilities of the transcription. These can be enabled by
39
- # configurating the session with
40
- # `"include": ["item.input_audio_transcription.logprobs"]`. Each entry in the
41
- # array corresponds a log probability of which token would be selected for this
42
- # chunk of transcription. This can help to identify if it was possible there were
43
- # multiple valid options for a given chunk of transcription.
38
+ # The log probabilities of the transcription. These can be enabled by configuring
39
+ # the session with `"include": ["item.input_audio_transcription.logprobs"]`. Each
40
+ # entry in the array corresponds a log probability of which token would be
41
+ # selected for this chunk of transcription. This can help to identify if it was
42
+ # possible there were multiple valid options for a given chunk of transcription.
44
43
  #
45
44
  # @return [Array<OpenAI::Models::Realtime::LogProbProperties>, nil]
46
45
  optional(
@@ -66,12 +65,11 @@ module OpenAI
66
65
  # The text delta.
67
66
  #
68
67
  # @param logprobs [Array<OpenAI::Models::Realtime::LogProbProperties>, nil]
69
- # The log probabilities of the transcription. These can be enabled by
70
- # configurating the session with
71
- # `"include": ["item.input_audio_transcription.logprobs"]`. Each entry in the
72
- # array corresponds a log probability of which token would be selected for this
73
- # chunk of transcription. This can help to identify if it was possible there were
74
- # multiple valid options for a given chunk of transcription.
68
+ # The log probabilities of the transcription. These can be enabled by configuring
69
+ # the session with `"include": ["item.input_audio_transcription.logprobs"]`. Each
70
+ # entry in the array corresponds a log probability of which token would be
71
+ # selected for this chunk of transcription. This can help to identify if it was
72
+ # possible there were multiple valid options for a given chunk of transcription.
75
73
  #
76
74
  # @param type [Symbol, :"conversation.item.input_audio_transcription.delta"]
77
75
  # The event type, must be `conversation.item.input_audio_transcription.delta`.
@@ -25,7 +25,7 @@ module OpenAI
25
25
  # @!method initialize(error:, event_id:, type: :error)
26
26
  # Returned when an error occurs, which could be a client problem or a server
27
27
  # problem. Most errors are recoverable and the session will stay open, we
28
- # recommend to implementors to monitor and log error messages by default.
28
+ # recommend to implementers to monitor and log error messages by default.
29
29
  #
30
30
  # @param error [OpenAI::Models::Realtime::RealtimeError]
31
31
  # Details of the error.
@@ -73,7 +73,7 @@ module OpenAI
73
73
 
74
74
  # Returned when an error occurs, which could be a client problem or a server
75
75
  # problem. Most errors are recoverable and the session will stay open, we
76
- # recommend to implementors to monitor and log error messages by default.
76
+ # recommend to implementers to monitor and log error messages by default.
77
77
  variant :error, -> { OpenAI::Realtime::RealtimeErrorEvent }
78
78
 
79
79
  # Returned when the input audio buffer is cleared by the client with a
@@ -11,7 +11,7 @@ module OpenAI
11
11
 
12
12
  # Returned when an error occurs, which could be a client problem or a server
13
13
  # problem. Most errors are recoverable and the session will stay open, we
14
- # recommend to implementors to monitor and log error messages by default.
14
+ # recommend to implementers to monitor and log error messages by default.
15
15
  variant :error, -> { OpenAI::Realtime::RealtimeErrorEvent }
16
16
 
17
17
  # Returned when a translation session is created. Emitted automatically when a
@@ -108,13 +108,35 @@ module OpenAI
108
108
  # @return [Symbol, :explicit]
109
109
  required :mode, const: :explicit
110
110
 
111
- # @!method initialize(mode: :explicit)
111
+ # @!attribute ttl
112
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
113
+ #
114
+ # @return [Symbol, OpenAI::Models::Responses::ResponseInputFile::PromptCacheBreakpoint::Ttl, nil]
115
+ optional :ttl, enum: -> { OpenAI::Responses::ResponseInputFile::PromptCacheBreakpoint::Ttl }
116
+
117
+ # @!method initialize(ttl: nil, mode: :explicit)
112
118
  # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
113
119
  # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
114
120
  # token block.
115
121
  #
122
+ # @param ttl [Symbol, OpenAI::Models::Responses::ResponseInputFile::PromptCacheBreakpoint::Ttl]
123
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
124
+ #
116
125
  # @param mode [Symbol, :explicit]
117
126
  # The breakpoint mode. Always `explicit`.
127
+
128
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
129
+ #
130
+ # @see OpenAI::Models::Responses::ResponseInputFile::PromptCacheBreakpoint#ttl
131
+ module Ttl
132
+ extend OpenAI::Internal::Type::Enum
133
+
134
+ TTL_30M = :"30m"
135
+ TTL_12H = :"12h"
136
+
137
+ # @!method self.values
138
+ # @return [Array<Symbol>]
139
+ end
118
140
  end
119
141
  end
120
142
  end
@@ -112,13 +112,35 @@ module OpenAI
112
112
  # @return [Symbol, :explicit]
113
113
  required :mode, const: :explicit
114
114
 
115
- # @!method initialize(mode: :explicit)
115
+ # @!attribute ttl
116
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
117
+ #
118
+ # @return [Symbol, OpenAI::Models::Responses::ResponseInputFileContent::PromptCacheBreakpoint::Ttl, nil]
119
+ optional :ttl, enum: -> { OpenAI::Responses::ResponseInputFileContent::PromptCacheBreakpoint::Ttl }
120
+
121
+ # @!method initialize(ttl: nil, mode: :explicit)
116
122
  # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
117
123
  # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
118
124
  # token block.
119
125
  #
126
+ # @param ttl [Symbol, OpenAI::Models::Responses::ResponseInputFileContent::PromptCacheBreakpoint::Ttl]
127
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
128
+ #
120
129
  # @param mode [Symbol, :explicit]
121
130
  # The breakpoint mode. Always `explicit`.
131
+
132
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
133
+ #
134
+ # @see OpenAI::Models::Responses::ResponseInputFileContent::PromptCacheBreakpoint#ttl
135
+ module Ttl
136
+ extend OpenAI::Internal::Type::Enum
137
+
138
+ TTL_30M = :"30m"
139
+ TTL_12H = :"12h"
140
+
141
+ # @!method self.values
142
+ # @return [Array<Symbol>]
143
+ end
122
144
  end
123
145
  end
124
146
  end
@@ -85,13 +85,35 @@ module OpenAI
85
85
  # @return [Symbol, :explicit]
86
86
  required :mode, const: :explicit
87
87
 
88
- # @!method initialize(mode: :explicit)
88
+ # @!attribute ttl
89
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
90
+ #
91
+ # @return [Symbol, OpenAI::Models::Responses::ResponseInputImage::PromptCacheBreakpoint::Ttl, nil]
92
+ optional :ttl, enum: -> { OpenAI::Responses::ResponseInputImage::PromptCacheBreakpoint::Ttl }
93
+
94
+ # @!method initialize(ttl: nil, mode: :explicit)
89
95
  # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
90
96
  # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
91
97
  # token block.
92
98
  #
99
+ # @param ttl [Symbol, OpenAI::Models::Responses::ResponseInputImage::PromptCacheBreakpoint::Ttl]
100
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
101
+ #
93
102
  # @param mode [Symbol, :explicit]
94
103
  # The breakpoint mode. Always `explicit`.
104
+
105
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
106
+ #
107
+ # @see OpenAI::Models::Responses::ResponseInputImage::PromptCacheBreakpoint#ttl
108
+ module Ttl
109
+ extend OpenAI::Internal::Type::Enum
110
+
111
+ TTL_30M = :"30m"
112
+ TTL_12H = :"12h"
113
+
114
+ # @!method self.values
115
+ # @return [Array<Symbol>]
116
+ end
95
117
  end
96
118
  end
97
119
  end
@@ -89,13 +89,35 @@ module OpenAI
89
89
  # @return [Symbol, :explicit]
90
90
  required :mode, const: :explicit
91
91
 
92
- # @!method initialize(mode: :explicit)
92
+ # @!attribute ttl
93
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
94
+ #
95
+ # @return [Symbol, OpenAI::Models::Responses::ResponseInputImageContent::PromptCacheBreakpoint::Ttl, nil]
96
+ optional :ttl, enum: -> { OpenAI::Responses::ResponseInputImageContent::PromptCacheBreakpoint::Ttl }
97
+
98
+ # @!method initialize(ttl: nil, mode: :explicit)
93
99
  # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
94
100
  # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
95
101
  # token block.
96
102
  #
103
+ # @param ttl [Symbol, OpenAI::Models::Responses::ResponseInputImageContent::PromptCacheBreakpoint::Ttl]
104
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
105
+ #
97
106
  # @param mode [Symbol, :explicit]
98
107
  # The breakpoint mode. Always `explicit`.
108
+
109
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
110
+ #
111
+ # @see OpenAI::Models::Responses::ResponseInputImageContent::PromptCacheBreakpoint#ttl
112
+ module Ttl
113
+ extend OpenAI::Internal::Type::Enum
114
+
115
+ TTL_30M = :"30m"
116
+ TTL_12H = :"12h"
117
+
118
+ # @!method self.values
119
+ # @return [Array<Symbol>]
120
+ end
99
121
  end
100
122
  end
101
123
  end
@@ -46,13 +46,35 @@ module OpenAI
46
46
  # @return [Symbol, :explicit]
47
47
  required :mode, const: :explicit
48
48
 
49
- # @!method initialize(mode: :explicit)
49
+ # @!attribute ttl
50
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
51
+ #
52
+ # @return [Symbol, OpenAI::Models::Responses::ResponseInputText::PromptCacheBreakpoint::Ttl, nil]
53
+ optional :ttl, enum: -> { OpenAI::Responses::ResponseInputText::PromptCacheBreakpoint::Ttl }
54
+
55
+ # @!method initialize(ttl: nil, mode: :explicit)
50
56
  # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
51
57
  # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
52
58
  # token block.
53
59
  #
60
+ # @param ttl [Symbol, OpenAI::Models::Responses::ResponseInputText::PromptCacheBreakpoint::Ttl]
61
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
62
+ #
54
63
  # @param mode [Symbol, :explicit]
55
64
  # The breakpoint mode. Always `explicit`.
65
+
66
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
67
+ #
68
+ # @see OpenAI::Models::Responses::ResponseInputText::PromptCacheBreakpoint#ttl
69
+ module Ttl
70
+ extend OpenAI::Internal::Type::Enum
71
+
72
+ TTL_30M = :"30m"
73
+ TTL_12H = :"12h"
74
+
75
+ # @!method self.values
76
+ # @return [Array<Symbol>]
77
+ end
56
78
  end
57
79
  end
58
80
  end
@@ -50,13 +50,35 @@ module OpenAI
50
50
  # @return [Symbol, :explicit]
51
51
  required :mode, const: :explicit
52
52
 
53
- # @!method initialize(mode: :explicit)
53
+ # @!attribute ttl
54
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
55
+ #
56
+ # @return [Symbol, OpenAI::Models::Responses::ResponseInputTextContent::PromptCacheBreakpoint::Ttl, nil]
57
+ optional :ttl, enum: -> { OpenAI::Responses::ResponseInputTextContent::PromptCacheBreakpoint::Ttl }
58
+
59
+ # @!method initialize(ttl: nil, mode: :explicit)
54
60
  # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
55
61
  # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
56
62
  # token block.
57
63
  #
64
+ # @param ttl [Symbol, OpenAI::Models::Responses::ResponseInputTextContent::PromptCacheBreakpoint::Ttl]
65
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
66
+ #
58
67
  # @param mode [Symbol, :explicit]
59
68
  # The breakpoint mode. Always `explicit`.
69
+
70
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
71
+ #
72
+ # @see OpenAI::Models::Responses::ResponseInputTextContent::PromptCacheBreakpoint#ttl
73
+ module Ttl
74
+ extend OpenAI::Internal::Type::Enum
75
+
76
+ TTL_30M = :"30m"
77
+ TTL_12H = :"12h"
78
+
79
+ # @!method self.values
80
+ # @return [Array<Symbol>]
81
+ end
60
82
  end
61
83
  end
62
84
  end
@@ -778,11 +778,14 @@ module OpenAI
778
778
  )
779
779
 
780
780
  # @!attribute model
781
- # The image generation model to use. One of `gpt-image-1`, `gpt-image-1-mini`,
782
- # `gpt-image-1.5`, `gpt-image-2`, `gpt-image-2-2026-04-21`,
783
- # `gpt-image-2.5-sunburst`, `gpt-image-2.5-sunburst-2026-09-08`,
784
- # `gpt-image-2.5-flare`, `gpt-image-2.5-flare-2026-09-08`, or
785
- # `chatgpt-image-latest`. Default: `gpt-image-1`.
781
+ # The image generation model to use. One of `gpt-image-1-mini`, `gpt-image-1.5`,
782
+ # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
783
+ # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
784
+ # `gpt-image-2.5-flare-2026-09-08`, or `chatgpt-image-latest`. Default:
785
+ # `gpt-image-2`.
786
+ #
787
+ # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
788
+ # `gpt-image-2.5-flare` instead.
786
789
  #
787
790
  # @return [String, Symbol, OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::Model, nil]
788
791
  optional(
@@ -880,11 +883,14 @@ module OpenAI
880
883
  # `file_id` (string, optional).
881
884
  #
882
885
  # @param model [String, Symbol, OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::Model]
883
- # The image generation model to use. One of `gpt-image-1`, `gpt-image-1-mini`,
884
- # `gpt-image-1.5`, `gpt-image-2`, `gpt-image-2-2026-04-21`,
885
- # `gpt-image-2.5-sunburst`, `gpt-image-2.5-sunburst-2026-09-08`,
886
- # `gpt-image-2.5-flare`, `gpt-image-2.5-flare-2026-09-08`, or
887
- # `chatgpt-image-latest`. Default: `gpt-image-1`.
886
+ # The image generation model to use. One of `gpt-image-1-mini`, `gpt-image-1.5`,
887
+ # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
888
+ # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
889
+ # `gpt-image-2.5-flare-2026-09-08`, or `chatgpt-image-latest`. Default:
890
+ # `gpt-image-2`.
891
+ #
892
+ # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
893
+ # `gpt-image-2.5-flare` instead.
888
894
  #
889
895
  # @param moderation [Symbol, OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::Moderation]
890
896
  # Moderation level for the generated image. Default: `auto`.
@@ -998,11 +1004,14 @@ module OpenAI
998
1004
  # Base64-encoded mask image.
999
1005
  end
1000
1006
 
1001
- # The image generation model to use. One of `gpt-image-1`, `gpt-image-1-mini`,
1002
- # `gpt-image-1.5`, `gpt-image-2`, `gpt-image-2-2026-04-21`,
1003
- # `gpt-image-2.5-sunburst`, `gpt-image-2.5-sunburst-2026-09-08`,
1004
- # `gpt-image-2.5-flare`, `gpt-image-2.5-flare-2026-09-08`, or
1005
- # `chatgpt-image-latest`. Default: `gpt-image-1`.
1007
+ # The image generation model to use. One of `gpt-image-1-mini`, `gpt-image-1.5`,
1008
+ # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
1009
+ # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
1010
+ # `gpt-image-2.5-flare-2026-09-08`, or `chatgpt-image-latest`. Default:
1011
+ # `gpt-image-2`.
1012
+ #
1013
+ # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
1014
+ # `gpt-image-2.5-flare` instead.
1006
1015
  #
1007
1016
  # @see OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration#model
1008
1017
  module Model
@@ -1084,6 +1093,8 @@ module OpenAI
1084
1093
 
1085
1094
  # @!group
1086
1095
 
1096
+ # @deprecated GPT Image 1 was shut down on October 23, 2026. Use gpt-image-2.5-sunburst or
1097
+ # gpt-image-2.5-flare instead.
1087
1098
  GPT_IMAGE_1 = :"gpt-image-1"
1088
1099
  GPT_IMAGE_1_MINI = :"gpt-image-1-mini"
1089
1100
  GPT_IMAGE_2 = :"gpt-image-2"
@@ -656,11 +656,14 @@ module OpenAI
656
656
  optional :input_image_mask, -> { OpenAI::Responses::Tool::ImageGeneration::InputImageMask }
657
657
 
658
658
  # @!attribute model
659
- # The image generation model to use. One of `gpt-image-1`, `gpt-image-1-mini`,
660
- # `gpt-image-1.5`, `gpt-image-2`, `gpt-image-2-2026-04-21`,
661
- # `gpt-image-2.5-sunburst`, `gpt-image-2.5-sunburst-2026-09-08`,
662
- # `gpt-image-2.5-flare`, `gpt-image-2.5-flare-2026-09-08`, or
663
- # `chatgpt-image-latest`. Default: `gpt-image-1`.
659
+ # The image generation model to use. One of `gpt-image-1-mini`, `gpt-image-1.5`,
660
+ # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
661
+ # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
662
+ # `gpt-image-2.5-flare-2026-09-08`, or `chatgpt-image-latest`. Default:
663
+ # `gpt-image-2`.
664
+ #
665
+ # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
666
+ # `gpt-image-2.5-flare` instead.
664
667
  #
665
668
  # @return [String, Symbol, OpenAI::Models::Responses::Tool::ImageGeneration::Model, nil]
666
669
  optional :model, union: -> { OpenAI::Responses::Tool::ImageGeneration::Model }
@@ -743,11 +746,14 @@ module OpenAI
743
746
  # `file_id` (string, optional).
744
747
  #
745
748
  # @param model [String, Symbol, OpenAI::Models::Responses::Tool::ImageGeneration::Model]
746
- # The image generation model to use. One of `gpt-image-1`, `gpt-image-1-mini`,
747
- # `gpt-image-1.5`, `gpt-image-2`, `gpt-image-2-2026-04-21`,
748
- # `gpt-image-2.5-sunburst`, `gpt-image-2.5-sunburst-2026-09-08`,
749
- # `gpt-image-2.5-flare`, `gpt-image-2.5-flare-2026-09-08`, or
750
- # `chatgpt-image-latest`. Default: `gpt-image-1`.
749
+ # The image generation model to use. One of `gpt-image-1-mini`, `gpt-image-1.5`,
750
+ # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
751
+ # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
752
+ # `gpt-image-2.5-flare-2026-09-08`, or `chatgpt-image-latest`. Default:
753
+ # `gpt-image-2`.
754
+ #
755
+ # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
756
+ # `gpt-image-2.5-flare` instead.
751
757
  #
752
758
  # @param moderation [Symbol, OpenAI::Models::Responses::Tool::ImageGeneration::Moderation]
753
759
  # Moderation level for the generated image. Default: `auto`.
@@ -861,11 +867,14 @@ module OpenAI
861
867
  # Base64-encoded mask image.
862
868
  end
863
869
 
864
- # The image generation model to use. One of `gpt-image-1`, `gpt-image-1-mini`,
865
- # `gpt-image-1.5`, `gpt-image-2`, `gpt-image-2-2026-04-21`,
866
- # `gpt-image-2.5-sunburst`, `gpt-image-2.5-sunburst-2026-09-08`,
867
- # `gpt-image-2.5-flare`, `gpt-image-2.5-flare-2026-09-08`, or
868
- # `chatgpt-image-latest`. Default: `gpt-image-1`.
870
+ # The image generation model to use. One of `gpt-image-1-mini`, `gpt-image-1.5`,
871
+ # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
872
+ # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
873
+ # `gpt-image-2.5-flare-2026-09-08`, or `chatgpt-image-latest`. Default:
874
+ # `gpt-image-2`.
875
+ #
876
+ # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
877
+ # `gpt-image-2.5-flare` instead.
869
878
  #
870
879
  # @see OpenAI::Models::Responses::Tool::ImageGeneration#model
871
880
  module Model
@@ -906,6 +915,8 @@ module OpenAI
906
915
 
907
916
  # @!group
908
917
 
918
+ # @deprecated GPT Image 1 was shut down on October 23, 2026. Use gpt-image-2.5-sunburst or
919
+ # gpt-image-2.5-flare instead.
909
920
  GPT_IMAGE_1 = :"gpt-image-1"
910
921
  GPT_IMAGE_1_MINI = :"gpt-image-1-mini"
911
922
  GPT_IMAGE_2 = :"gpt-image-2"
data/lib/openai/models.rb CHANGED
@@ -119,6 +119,8 @@ module OpenAI
119
119
 
120
120
  DecisionInputImage = OpenAI::Models::DecisionInputImage
121
121
 
122
+ DecisionInputJSON = OpenAI::Models::DecisionInputJSON
123
+
122
124
  DecisionInputMessage = OpenAI::Models::DecisionInputMessage
123
125
 
124
126
  DecisionInputPart = OpenAI::Models::DecisionInputPart
@@ -127,6 +129,12 @@ module OpenAI
127
129
 
128
130
  DecisionPromptCacheBreakpoint = OpenAI::Models::DecisionPromptCacheBreakpoint
129
131
 
132
+ DecisionQuestionInputImage = OpenAI::Models::DecisionQuestionInputImage
133
+
134
+ DecisionQuestionInputPart = OpenAI::Models::DecisionQuestionInputPart
135
+
136
+ DecisionQuestionInputText = OpenAI::Models::DecisionQuestionInputText
137
+
130
138
  DeletedSkill = OpenAI::Models::DeletedSkill
131
139
 
132
140
  Embedding = OpenAI::Models::Embedding
@@ -46,7 +46,7 @@ module OpenAI
46
46
  # Configuration for generated text. Defaults to the `text` format and medium
47
47
  # verbosity.
48
48
  #
49
- # @param tools [Array<OpenAI::Models::Beta::PersistedAgentToolParam::Function, OpenAI::Models::Beta::PersistedAgentToolParam::ToolSearch, OpenAI::Models::Beta::PersistedAgentToolParam::ProgrammaticToolCalling, OpenAI::Models::Beta::PersistedAgentToolParam::Mcp, OpenAI::Models::Beta::PersistedAgentToolParam::WebSearch, OpenAI::Models::Beta::PersistedAgentToolParam::ComputerUse>, nil]
49
+ # @param tools [Array<OpenAI::Models::Beta::PersistedAgentToolParam::Function, OpenAI::Models::Beta::PersistedAgentToolParam::ToolSearch, OpenAI::Models::Beta::PersistedAgentToolParam::ProgrammaticToolCalling, OpenAI::Models::Beta::PersistedAgentToolParam::Mcp, OpenAI::Models::Beta::PersistedAgentToolParam::WebSearch, OpenAI::Models::Beta::PersistedAgentToolParam::ComputerUse, OpenAI::Models::Beta::PersistedAgentToolParam::Automations>, nil]
50
50
  # Tools available to the agent. Defaults to an empty list. The tool list must fit
51
51
  # within 3 MiB (3,145,728 bytes) of compact UTF-8 JSON.
52
52
  #
@@ -128,7 +128,7 @@ module OpenAI
128
128
  # @param text [OpenAI::Models::Beta::AgentTextParam, nil]
129
129
  # Configuration for text generated by the agent.
130
130
  #
131
- # @param tools [Array<OpenAI::Models::Beta::PersistedAgentToolParam::Function, OpenAI::Models::Beta::PersistedAgentToolParam::ToolSearch, OpenAI::Models::Beta::PersistedAgentToolParam::ProgrammaticToolCalling, OpenAI::Models::Beta::PersistedAgentToolParam::Mcp, OpenAI::Models::Beta::PersistedAgentToolParam::WebSearch, OpenAI::Models::Beta::PersistedAgentToolParam::ComputerUse>, nil]
131
+ # @param tools [Array<OpenAI::Models::Beta::PersistedAgentToolParam::Function, OpenAI::Models::Beta::PersistedAgentToolParam::ToolSearch, OpenAI::Models::Beta::PersistedAgentToolParam::ProgrammaticToolCalling, OpenAI::Models::Beta::PersistedAgentToolParam::Mcp, OpenAI::Models::Beta::PersistedAgentToolParam::WebSearch, OpenAI::Models::Beta::PersistedAgentToolParam::ComputerUse, OpenAI::Models::Beta::PersistedAgentToolParam::Automations>, nil]
132
132
  # Replaces the tool list. Omit to leave it unchanged, or pass null to clear it.
133
133
  # The replacement must fit within 3 MiB (3,145,728 bytes) of compact UTF-8 JSON.
134
134
  #
@@ -1,13 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "../../helpers/websocket/resource"
3
+ require_relative "../../helpers/websocket/typed_resource"
4
4
 
5
5
  module OpenAI
6
6
  module Resources
7
7
  class Beta
8
8
  # Create and manage model responses.
9
9
  class Responses
10
- include OpenAI::WebSocket::Resource
10
+ include OpenAI::WebSocket::TypedResource
11
11
 
12
12
  # @api private
13
13
  def __websocket_request(query: {})