openai 0.118.0 → 0.119.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 (127) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +10 -0
  3. data/README.md +1 -1
  4. data/lib/openai/client.rb +1 -1
  5. data/lib/openai/helpers/data_residency.rb +4 -1
  6. data/lib/openai/models/all_models.rb +1 -0
  7. data/lib/openai/models/beta/beta_compacted_response.rb +34 -1
  8. data/lib/openai/models/beta/beta_response.rb +34 -1
  9. data/lib/openai/models/beta/beta_response_input_item.rb +45 -1
  10. data/lib/openai/models/beta/beta_response_item.rb +45 -1
  11. data/lib/openai/models/beta/beta_response_output_item.rb +45 -1
  12. data/lib/openai/models/beta/beta_response_tool_search_output_item_param.rb +186 -13
  13. data/lib/openai/models/beta/beta_responses_client_event.rb +48 -1
  14. data/lib/openai/models/beta/beta_tool.rb +164 -13
  15. data/lib/openai/models/beta/response_compact_params.rb +44 -1
  16. data/lib/openai/models/beta/response_create_params.rb +44 -1
  17. data/lib/openai/models/beta/session_turn_error.rb +3 -0
  18. data/lib/openai/models/conversations/conversation_item.rb +45 -1
  19. data/lib/openai/models/image_edit_params.rb +72 -16
  20. data/lib/openai/models/image_generate_params.rb +160 -8
  21. data/lib/openai/models/image_model.rb +2 -0
  22. data/lib/openai/models/images_response.rb +55 -4
  23. data/lib/openai/models/realtime/realtime_audio_config_input.rb +14 -1
  24. data/lib/openai/models/realtime/realtime_session_create_response.rb +14 -1
  25. data/lib/openai/models/realtime/realtime_transcription_session_audio_input.rb +14 -1
  26. data/lib/openai/models/realtime/realtime_transcription_session_create_response.rb +14 -1
  27. data/lib/openai/models/realtime/realtime_translation_session.rb +14 -1
  28. data/lib/openai/models/realtime/realtime_translation_session_create_request.rb +14 -1
  29. data/lib/openai/models/realtime/realtime_translation_session_update_request.rb +14 -1
  30. data/lib/openai/models/responses/compacted_response.rb +37 -1
  31. data/lib/openai/models/responses/response.rb +34 -1
  32. data/lib/openai/models/responses/response_compact_params.rb +50 -1
  33. data/lib/openai/models/responses/response_create_params.rb +47 -1
  34. data/lib/openai/models/responses/response_input_item.rb +45 -1
  35. data/lib/openai/models/responses/response_item.rb +45 -1
  36. data/lib/openai/models/responses/response_output_item.rb +45 -1
  37. data/lib/openai/models/responses/response_tool_search_output_item_param.rb +186 -13
  38. data/lib/openai/models/responses/responses_client_event.rb +48 -1
  39. data/lib/openai/models/responses/tool.rb +164 -13
  40. data/lib/openai/models/responses_model.rb +1 -0
  41. data/lib/openai/resources/admin/organization/projects.rb +6 -6
  42. data/lib/openai/resources/admin/organization.rb +6 -6
  43. data/lib/openai/resources/beta/responses.rb +12 -3
  44. data/lib/openai/resources/images.rb +102 -18
  45. data/lib/openai/resources/responses.rb +12 -3
  46. data/lib/openai/version.rb +1 -1
  47. data/rbi/openai/models/all_models.rbi +1 -0
  48. data/rbi/openai/models/beta/beta_compacted_response.rbi +67 -1
  49. data/rbi/openai/models/beta/beta_response.rbi +62 -0
  50. data/rbi/openai/models/beta/beta_response_input_item.rbi +82 -1
  51. data/rbi/openai/models/beta/beta_response_item.rbi +82 -1
  52. data/rbi/openai/models/beta/beta_response_output_item.rbi +82 -1
  53. data/rbi/openai/models/beta/beta_response_tool_search_output_item_param.rbi +338 -13
  54. data/rbi/openai/models/beta/beta_responses_client_event.rbi +105 -0
  55. data/rbi/openai/models/beta/beta_tool.rbi +245 -13
  56. data/rbi/openai/models/beta/response_compact_params.rbi +81 -0
  57. data/rbi/openai/models/beta/response_create_params.rbi +81 -0
  58. data/rbi/openai/models/beta/session_turn_error.rbi +3 -0
  59. data/rbi/openai/models/conversations/conversation_item.rbi +84 -1
  60. data/rbi/openai/models/image_edit_params.rbi +76 -14
  61. data/rbi/openai/models/image_generate_params.rbi +218 -6
  62. data/rbi/openai/models/image_model.rbi +2 -0
  63. data/rbi/openai/models/images_response.rbi +90 -3
  64. data/rbi/openai/models/realtime/realtime_audio_config_input.rbi +17 -1
  65. data/rbi/openai/models/realtime/realtime_session_create_response.rbi +17 -1
  66. data/rbi/openai/models/realtime/realtime_transcription_session_audio_input.rbi +17 -1
  67. data/rbi/openai/models/realtime/realtime_transcription_session_create_response.rbi +17 -1
  68. data/rbi/openai/models/realtime/realtime_translation_session.rbi +19 -3
  69. data/rbi/openai/models/realtime/realtime_translation_session_create_request.rbi +19 -3
  70. data/rbi/openai/models/realtime/realtime_translation_session_update_request.rbi +19 -3
  71. data/rbi/openai/models/responses/compacted_response.rbi +67 -1
  72. data/rbi/openai/models/responses/response.rbi +62 -0
  73. data/rbi/openai/models/responses/response_compact_params.rbi +88 -0
  74. data/rbi/openai/models/responses/response_create_params.rbi +87 -0
  75. data/rbi/openai/models/responses/response_input_item.rbi +82 -1
  76. data/rbi/openai/models/responses/response_item.rbi +82 -1
  77. data/rbi/openai/models/responses/response_output_item.rbi +82 -1
  78. data/rbi/openai/models/responses/response_tool_search_output_item_param.rbi +340 -13
  79. data/rbi/openai/models/responses/responses_client_event.rbi +105 -0
  80. data/rbi/openai/models/responses/tool.rbi +248 -13
  81. data/rbi/openai/models/responses_model.rbi +1 -0
  82. data/rbi/openai/resources/admin/organization/projects.rbi +3 -3
  83. data/rbi/openai/resources/admin/organization.rbi +3 -3
  84. data/rbi/openai/resources/beta/responses.rbi +9 -0
  85. data/rbi/openai/resources/images.rbi +98 -14
  86. data/rbi/openai/resources/responses.rbi +11 -0
  87. data/sig/openai/models/all_models.rbs +2 -0
  88. data/sig/openai/models/beta/beta_compacted_response.rbs +42 -2
  89. data/sig/openai/models/beta/beta_response.rbs +40 -0
  90. data/sig/openai/models/beta/beta_response_input_item.rbs +51 -3
  91. data/sig/openai/models/beta/beta_response_item.rbs +51 -3
  92. data/sig/openai/models/beta/beta_response_output_item.rbs +51 -3
  93. data/sig/openai/models/beta/beta_response_tool_search_output_item_param.rbs +188 -15
  94. data/sig/openai/models/beta/beta_responses_client_event.rbs +56 -0
  95. data/sig/openai/models/beta/beta_tool.rbs +188 -15
  96. data/sig/openai/models/beta/response_compact_params.rbs +56 -0
  97. data/sig/openai/models/beta/response_create_params.rbs +56 -0
  98. data/sig/openai/models/beta/session_turn_error.rbs +4 -0
  99. data/sig/openai/models/conversations/conversation_item.rbs +51 -3
  100. data/sig/openai/models/image_edit_params.rbs +63 -12
  101. data/sig/openai/models/image_generate_params.rbs +150 -5
  102. data/sig/openai/models/image_model.rbs +4 -0
  103. data/sig/openai/models/images_response.rbs +59 -4
  104. data/sig/openai/models/realtime/realtime_audio_config_input.rbs +20 -1
  105. data/sig/openai/models/realtime/realtime_session_create_response.rbs +20 -1
  106. data/sig/openai/models/realtime/realtime_transcription_session_audio_input.rbs +20 -1
  107. data/sig/openai/models/realtime/realtime_transcription_session_create_response.rbs +20 -1
  108. data/sig/openai/models/realtime/realtime_translation_session.rbs +22 -3
  109. data/sig/openai/models/realtime/realtime_translation_session_create_request.rbs +22 -3
  110. data/sig/openai/models/realtime/realtime_translation_session_update_request.rbs +22 -3
  111. data/sig/openai/models/responses/compacted_response.rbs +42 -2
  112. data/sig/openai/models/responses/response.rbs +40 -0
  113. data/sig/openai/models/responses/response_compact_params.rbs +58 -0
  114. data/sig/openai/models/responses/response_create_params.rbs +56 -0
  115. data/sig/openai/models/responses/response_input_item.rbs +51 -3
  116. data/sig/openai/models/responses/response_item.rbs +51 -3
  117. data/sig/openai/models/responses/response_output_item.rbs +51 -3
  118. data/sig/openai/models/responses/response_tool_search_output_item_param.rbs +188 -15
  119. data/sig/openai/models/responses/responses_client_event.rbs +56 -0
  120. data/sig/openai/models/responses/tool.rbs +188 -15
  121. data/sig/openai/models/responses_model.rbs +2 -0
  122. data/sig/openai/resources/admin/organization/projects.rbs +2 -2
  123. data/sig/openai/resources/admin/organization.rbs +2 -2
  124. data/sig/openai/resources/beta/responses.rbs +3 -0
  125. data/sig/openai/resources/images.rbs +14 -0
  126. data/sig/openai/resources/responses.rbs +4 -0
  127. metadata +1 -1
@@ -58,6 +58,9 @@ module OpenAI
58
58
  image: OpenAI::ImageEditParams::Image::Variants,
59
59
  prompt: String,
60
60
  background: T.nilable(OpenAI::ImageEditParams::Background::OrSymbol),
61
+ complexity: T.nilable(OpenAI::ImageEditParams::Complexity::OrSymbol),
62
+ frame_count: T.nilable(Integer),
63
+ frame_duration_ms: T.nilable(Integer),
61
64
  input_fidelity: T.nilable(OpenAI::ImageEditParams::InputFidelity::OrSymbol),
62
65
  markup: OpenAI::Internal::FileInput,
63
66
  mask: OpenAI::Internal::FileInput,
@@ -103,6 +106,20 @@ module OpenAI
103
106
  # `gpt-image-2-2026-04-21`, this support is in preview. When using `transparent`,
104
107
  # set the output format to `png` or `webp`.
105
108
  background: nil,
109
+ # Computation spent planning the image, independently of rendering quality. Uses
110
+ # the image model's configured default when omitted. For SVG output, controls the
111
+ # reference image, independently of the SVG author's reasoning.
112
+ complexity: nil,
113
+ # Number of frames for GIF output. Accepts integers from 2 through 16. Defaults to
114
+ # 9 when omitted. Only supported with output_format=gif. The requested size must
115
+ # satisfy the selected model's GIF size limits. GIF output does not support
116
+ # streaming, partial images, masks, or custom output compression. Requires access
117
+ # to the GIF preview for the selected model.
118
+ frame_count: nil,
119
+ # Requested delay per GIF frame, in milliseconds. Defaults to 200 when omitted.
120
+ # GIF output rounds to the nearest 10 ms and caps the encoded delay at 655,350 ms
121
+ # per frame. Only supported with output_format=gif.
122
+ frame_duration_ms: nil,
106
123
  # Control how much effort the model will exert to match the style and features,
107
124
  # especially facial features, of input images. Supports `high` and `low` on
108
125
  # `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For `gpt-image-2`, omit
@@ -110,7 +127,7 @@ module OpenAI
110
127
  input_fidelity: nil,
111
128
  # A transparent PNG overlaid on the first image to guide the edit. Must match that
112
129
  # image's dimensions after orientation and contain transparent pixels. Supports
113
- # GPT Image 2.5 and 2.6. Cannot be combined with mask.
130
+ # GPT Image 2.5. Cannot be combined with mask.
114
131
  #
115
132
  # `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
116
133
  # metadata. Use `OpenAI::FilePart` when you need to override the filename or
@@ -128,8 +145,8 @@ module OpenAI
128
145
  # The GPT image model to use for image editing (`gpt-image-1-mini`,
129
146
  # `gpt-image-1.5`, `gpt-image-2`, `gpt-image-2-2026-04-21`,
130
147
  # `gpt-image-2.5-sunburst`, `gpt-image-2.5-sunburst-2026-09-08`,
131
- # `gpt-image-2.5-flare`, `gpt-image-2.5-flare-2026-09-08`, or
132
- # `chatgpt-image-latest`).
148
+ # `gpt-image-2.5-flare`, `gpt-image-2.5-flare-2026-09-08`,
149
+ # `gpt-image-2.6-sunburst`, `gpt-image-2.6-flare`, or `chatgpt-image-latest`).
133
150
  #
134
151
  # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
135
152
  # `gpt-image-2.5-flare` instead.
@@ -141,8 +158,7 @@ module OpenAI
141
158
  # defaults to 100.
142
159
  output_compression: nil,
143
160
  # The format in which the generated images are returned. This parameter is only
144
- # supported for the GPT image models. Must be one of `png`, `jpeg`, or `webp`. The
145
- # default value is `png`.
161
+ # supported for the GPT image models. The default value is `png`.
146
162
  output_format: nil,
147
163
  # The number of partial images to generate. This parameter is used for streaming
148
164
  # responses that return partial images. Value must be between 0 and 3. When set to
@@ -199,6 +215,9 @@ module OpenAI
199
215
  image: OpenAI::ImageEditParams::Image::Variants,
200
216
  prompt: String,
201
217
  background: T.nilable(OpenAI::ImageEditParams::Background::OrSymbol),
218
+ complexity: T.nilable(OpenAI::ImageEditParams::Complexity::OrSymbol),
219
+ frame_count: T.nilable(Integer),
220
+ frame_duration_ms: T.nilable(Integer),
202
221
  input_fidelity: T.nilable(OpenAI::ImageEditParams::InputFidelity::OrSymbol),
203
222
  markup: OpenAI::Internal::FileInput,
204
223
  mask: OpenAI::Internal::FileInput,
@@ -244,6 +263,20 @@ module OpenAI
244
263
  # `gpt-image-2-2026-04-21`, this support is in preview. When using `transparent`,
245
264
  # set the output format to `png` or `webp`.
246
265
  background: nil,
266
+ # Computation spent planning the image, independently of rendering quality. Uses
267
+ # the image model's configured default when omitted. For SVG output, controls the
268
+ # reference image, independently of the SVG author's reasoning.
269
+ complexity: nil,
270
+ # Number of frames for GIF output. Accepts integers from 2 through 16. Defaults to
271
+ # 9 when omitted. Only supported with output_format=gif. The requested size must
272
+ # satisfy the selected model's GIF size limits. GIF output does not support
273
+ # streaming, partial images, masks, or custom output compression. Requires access
274
+ # to the GIF preview for the selected model.
275
+ frame_count: nil,
276
+ # Requested delay per GIF frame, in milliseconds. Defaults to 200 when omitted.
277
+ # GIF output rounds to the nearest 10 ms and caps the encoded delay at 655,350 ms
278
+ # per frame. Only supported with output_format=gif.
279
+ frame_duration_ms: nil,
247
280
  # Control how much effort the model will exert to match the style and features,
248
281
  # especially facial features, of input images. Supports `high` and `low` on
249
282
  # `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For `gpt-image-2`, omit
@@ -251,7 +284,7 @@ module OpenAI
251
284
  input_fidelity: nil,
252
285
  # A transparent PNG overlaid on the first image to guide the edit. Must match that
253
286
  # image's dimensions after orientation and contain transparent pixels. Supports
254
- # GPT Image 2.5 and 2.6. Cannot be combined with mask.
287
+ # GPT Image 2.5. Cannot be combined with mask.
255
288
  #
256
289
  # `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
257
290
  # metadata. Use `OpenAI::FilePart` when you need to override the filename or
@@ -269,8 +302,8 @@ module OpenAI
269
302
  # The GPT image model to use for image editing (`gpt-image-1-mini`,
270
303
  # `gpt-image-1.5`, `gpt-image-2`, `gpt-image-2-2026-04-21`,
271
304
  # `gpt-image-2.5-sunburst`, `gpt-image-2.5-sunburst-2026-09-08`,
272
- # `gpt-image-2.5-flare`, `gpt-image-2.5-flare-2026-09-08`, or
273
- # `chatgpt-image-latest`).
305
+ # `gpt-image-2.5-flare`, `gpt-image-2.5-flare-2026-09-08`,
306
+ # `gpt-image-2.6-sunburst`, `gpt-image-2.6-flare`, or `chatgpt-image-latest`).
274
307
  #
275
308
  # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
276
309
  # `gpt-image-2.5-flare` instead.
@@ -282,8 +315,7 @@ module OpenAI
282
315
  # defaults to 100.
283
316
  output_compression: nil,
284
317
  # The format in which the generated images are returned. This parameter is only
285
- # supported for the GPT image models. Must be one of `png`, `jpeg`, or `webp`. The
286
- # default value is `png`.
318
+ # supported for the GPT image models. The default value is `png`.
287
319
  output_format: nil,
288
320
  # The number of partial images to generate. This parameter is used for streaming
289
321
  # responses that return partial images. Value must be between 0 and 3. When set to
@@ -339,6 +371,9 @@ module OpenAI
339
371
  params(
340
372
  prompt: String,
341
373
  background: T.nilable(OpenAI::ImageGenerateParams::Background::OrSymbol),
374
+ complexity: T.nilable(OpenAI::ImageGenerateParams::Complexity::OrSymbol),
375
+ frame_count: T.nilable(Integer),
376
+ frame_duration_ms: T.nilable(Integer),
342
377
  model: T.nilable(T.any(String, OpenAI::ImageModel::OrSymbol)),
343
378
  moderation: T.nilable(OpenAI::ImageGenerateParams::Moderation::OrSymbol),
344
379
  n: T.nilable(Integer),
@@ -350,6 +385,7 @@ module OpenAI
350
385
  safety_identifier: T.nilable(String),
351
386
  size: T.nilable(T.any(String, OpenAI::ImageGenerateParams::Size::OrSymbol)),
352
387
  style: T.nilable(OpenAI::ImageGenerateParams::Style::OrSymbol),
388
+ svg: T.nilable(OpenAI::ImageGenerateParams::Svg::OrHash),
353
389
  user: String,
354
390
  stream: T.noreturn,
355
391
  request_options: OpenAI::RequestOptions::OrHash
@@ -370,11 +406,26 @@ module OpenAI
370
406
  # `gpt-image-2-2026-04-21`, this support is in preview. When using `transparent`,
371
407
  # set the output format to `png` or `webp`.
372
408
  background: nil,
409
+ # Computation spent planning the image, independently of rendering quality. Uses
410
+ # the image model's configured default when omitted. For SVG output, controls the
411
+ # reference image, independently of the SVG author's reasoning.
412
+ complexity: nil,
413
+ # Number of frames for GIF output. Accepts integers from 2 through 16. Defaults to
414
+ # 9 when omitted. Only supported with output_format=gif. The requested size must
415
+ # satisfy the selected model's GIF size limits. GIF output does not support
416
+ # streaming, partial images, masks, or custom output compression. Requires access
417
+ # to the GIF preview for the selected model.
418
+ frame_count: nil,
419
+ # Requested delay per GIF frame, in milliseconds. Defaults to 200 when omitted.
420
+ # GIF output rounds to the nearest 10 ms and caps the encoded delay at 655,350 ms
421
+ # per frame. Only supported with output_format=gif.
422
+ frame_duration_ms: nil,
373
423
  # The GPT image model to use for image generation. Specify a model explicitly.
374
424
  # Supported models include `gpt-image-1-mini`, `gpt-image-1.5`, `gpt-image-2`,
375
425
  # `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
376
426
  # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
377
- # `gpt-image-2.5-flare-2026-09-08`, and `chatgpt-image-latest`.
427
+ # `gpt-image-2.5-flare-2026-09-08`, `gpt-image-2.6-sunburst`,
428
+ # `gpt-image-2.6-flare`, and `chatgpt-image-latest`.
378
429
  #
379
430
  # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
380
431
  # `gpt-image-2.5-flare` instead.
@@ -390,7 +441,7 @@ module OpenAI
390
441
  # defaults to 100.
391
442
  output_compression: nil,
392
443
  # The format in which the generated images are returned. This parameter is only
393
- # supported for the GPT image models. Must be one of `png`, `jpeg`, or `webp`.
444
+ # supported for the GPT image models.
394
445
  output_format: nil,
395
446
  # The number of partial images to generate. This parameter is used for streaming
396
447
  # responses that return partial images. Value must be between 0 and 3. When set to
@@ -431,6 +482,13 @@ module OpenAI
431
482
  # Legacy style parameter for retired image models. Unsupported for GPT image
432
483
  # models; describe the desired style in the prompt instead.
433
484
  style: nil,
485
+ # Selects the model and reasoning effort used to author SVG output. Requires
486
+ # output_format=svg and access to SVG model selection. When model selection is
487
+ # enabled, supply svg.model. When model selection is disabled, omit this object.
488
+ # The top-level model selects the image model that creates the reference image.
489
+ # SVG generation requires n=1 and does not support streaming, partial images,
490
+ # prompt_rewriter, or output_compression. SVG edits are not supported.
491
+ svg: nil,
434
492
  # Deprecated: use `safety_identifier` instead. This parameter remains accepted for
435
493
  # backward compatibility and is used when `safety_identifier` is omitted, null, or
436
494
  # empty.
@@ -451,6 +509,9 @@ module OpenAI
451
509
  params(
452
510
  prompt: String,
453
511
  background: T.nilable(OpenAI::ImageGenerateParams::Background::OrSymbol),
512
+ complexity: T.nilable(OpenAI::ImageGenerateParams::Complexity::OrSymbol),
513
+ frame_count: T.nilable(Integer),
514
+ frame_duration_ms: T.nilable(Integer),
454
515
  model: T.nilable(T.any(String, OpenAI::ImageModel::OrSymbol)),
455
516
  moderation: T.nilable(OpenAI::ImageGenerateParams::Moderation::OrSymbol),
456
517
  n: T.nilable(Integer),
@@ -462,6 +523,7 @@ module OpenAI
462
523
  safety_identifier: T.nilable(String),
463
524
  size: T.nilable(T.any(String, OpenAI::ImageGenerateParams::Size::OrSymbol)),
464
525
  style: T.nilable(OpenAI::ImageGenerateParams::Style::OrSymbol),
526
+ svg: T.nilable(OpenAI::ImageGenerateParams::Svg::OrHash),
465
527
  user: String,
466
528
  stream: T.noreturn,
467
529
  request_options: OpenAI::RequestOptions::OrHash
@@ -482,11 +544,26 @@ module OpenAI
482
544
  # `gpt-image-2-2026-04-21`, this support is in preview. When using `transparent`,
483
545
  # set the output format to `png` or `webp`.
484
546
  background: nil,
547
+ # Computation spent planning the image, independently of rendering quality. Uses
548
+ # the image model's configured default when omitted. For SVG output, controls the
549
+ # reference image, independently of the SVG author's reasoning.
550
+ complexity: nil,
551
+ # Number of frames for GIF output. Accepts integers from 2 through 16. Defaults to
552
+ # 9 when omitted. Only supported with output_format=gif. The requested size must
553
+ # satisfy the selected model's GIF size limits. GIF output does not support
554
+ # streaming, partial images, masks, or custom output compression. Requires access
555
+ # to the GIF preview for the selected model.
556
+ frame_count: nil,
557
+ # Requested delay per GIF frame, in milliseconds. Defaults to 200 when omitted.
558
+ # GIF output rounds to the nearest 10 ms and caps the encoded delay at 655,350 ms
559
+ # per frame. Only supported with output_format=gif.
560
+ frame_duration_ms: nil,
485
561
  # The GPT image model to use for image generation. Specify a model explicitly.
486
562
  # Supported models include `gpt-image-1-mini`, `gpt-image-1.5`, `gpt-image-2`,
487
563
  # `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
488
564
  # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
489
- # `gpt-image-2.5-flare-2026-09-08`, and `chatgpt-image-latest`.
565
+ # `gpt-image-2.5-flare-2026-09-08`, `gpt-image-2.6-sunburst`,
566
+ # `gpt-image-2.6-flare`, and `chatgpt-image-latest`.
490
567
  #
491
568
  # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
492
569
  # `gpt-image-2.5-flare` instead.
@@ -502,7 +579,7 @@ module OpenAI
502
579
  # defaults to 100.
503
580
  output_compression: nil,
504
581
  # The format in which the generated images are returned. This parameter is only
505
- # supported for the GPT image models. Must be one of `png`, `jpeg`, or `webp`.
582
+ # supported for the GPT image models.
506
583
  output_format: nil,
507
584
  # The number of partial images to generate. This parameter is used for streaming
508
585
  # responses that return partial images. Value must be between 0 and 3. When set to
@@ -543,6 +620,13 @@ module OpenAI
543
620
  # Legacy style parameter for retired image models. Unsupported for GPT image
544
621
  # models; describe the desired style in the prompt instead.
545
622
  style: nil,
623
+ # Selects the model and reasoning effort used to author SVG output. Requires
624
+ # output_format=svg and access to SVG model selection. When model selection is
625
+ # enabled, supply svg.model. When model selection is disabled, omit this object.
626
+ # The top-level model selects the image model that creates the reference image.
627
+ # SVG generation requires n=1 and does not support streaming, partial images,
628
+ # prompt_rewriter, or output_compression. SVG edits are not supported.
629
+ svg: nil,
546
630
  # Deprecated: use `safety_identifier` instead. This parameter remains accepted for
547
631
  # backward compatibility and is used when `safety_identifier` is omitted, null, or
548
632
  # empty.
@@ -57,6 +57,7 @@ module OpenAI
57
57
  background: T.nilable(T::Boolean),
58
58
  context_management: T.nilable(T::Array[OpenAI::Responses::ResponseCreateParams::ContextManagement::OrHash]),
59
59
  conversation: T.nilable(T.any(String, OpenAI::Responses::ResponseConversationParam::OrHash)),
60
+ image: OpenAI::Responses::ResponseCreateParams::Image::OrHash,
60
61
  include: T.nilable(T::Array[OpenAI::Responses::ResponseIncludable::OrSymbol]),
61
62
  input: OpenAI::Responses::ResponseCreateParams::Input::Variants,
62
63
  instructions: T.nilable(String),
@@ -131,6 +132,8 @@ module OpenAI
131
132
  # items from this response are automatically added to this conversation after this
132
133
  # response completes.
133
134
  conversation: nil,
135
+ # Request level image options.
136
+ image: nil,
134
137
  # Specify additional output data to include in the model response. Currently
135
138
  # supported values are:
136
139
  #
@@ -362,6 +365,7 @@ module OpenAI
362
365
  background: T.nilable(T::Boolean),
363
366
  context_management: T.nilable(T::Array[OpenAI::Responses::ResponseCreateParams::ContextManagement::OrHash]),
364
367
  conversation: T.nilable(T.any(String, OpenAI::Responses::ResponseConversationParam::OrHash)),
368
+ image: OpenAI::Responses::ResponseCreateParams::Image::OrHash,
365
369
  include: T.nilable(T::Array[OpenAI::Responses::ResponseIncludable::OrSymbol]),
366
370
  input: OpenAI::Responses::ResponseCreateParams::Input::Variants,
367
371
  instructions: T.nilable(String),
@@ -442,6 +446,8 @@ module OpenAI
442
446
  # items from this response are automatically added to this conversation after this
443
447
  # response completes.
444
448
  conversation: nil,
449
+ # Request level image options.
450
+ image: nil,
445
451
  # Specify additional output data to include in the model response. Currently
446
452
  # supported values are:
447
453
  #
@@ -777,6 +783,7 @@ module OpenAI
777
783
  sig {
778
784
  params(
779
785
  model: T.nilable(T.any(OpenAI::Responses::ResponseCompactParams::Model::OrSymbol, String)),
786
+ image: OpenAI::Responses::ResponseCompactParams::Image::OrHash,
780
787
  input: T.nilable(OpenAI::Responses::ResponseCompactParams::Input::Variants),
781
788
  instructions: T.nilable(String),
782
789
  previous_response_id: T.nilable(String),
@@ -795,6 +802,8 @@ module OpenAI
795
802
  # [model guide](https://developers.openai.com/api/docs/models) to browse and
796
803
  # compare available models.
797
804
  model:,
805
+ # Request level image options.
806
+ image: nil,
798
807
  # Text, image, or file inputs to the model, used to generate a response
799
808
  input: nil,
800
809
  # A system (or developer) message inserted into the model's context. When used
@@ -865,6 +874,7 @@ module OpenAI
865
874
  ),
866
875
  conversation: T.nilable(T.any(String, OpenAI::Responses::ResponseConversationParam::OrHash)),
867
876
  generate: T::Boolean,
877
+ image: OpenAI::Responses::ResponsesClientEvent::ResponseCreate::Image::OrHash,
868
878
  include: T.nilable(T::Array[OpenAI::Responses::ResponseIncludable::OrSymbol]),
869
879
  input: OpenAI::Responses::ResponsesClientEvent::ResponseCreate::Input::Variants,
870
880
  instructions: T.nilable(String),
@@ -935,6 +945,7 @@ module OpenAI
935
945
  context_management: nil,
936
946
  conversation: nil,
937
947
  generate: nil,
948
+ image: nil,
938
949
  include: nil,
939
950
  input: nil,
940
951
  instructions: nil,
@@ -29,6 +29,7 @@ module OpenAI
29
29
  | :"gpt-daybreak-red-latest"
30
30
  | :"gpt-5.6-cyber"
31
31
  | :"gpt-rosalind-research"
32
+ | :"gpt-6-rosalind"
32
33
 
33
34
  module ResponsesOnlyModel
34
35
  extend OpenAI::Internal::Type::Enum
@@ -53,6 +54,7 @@ module OpenAI
53
54
  GPT_DAYBREAK_RED_LATEST: :"gpt-daybreak-red-latest"
54
55
  GPT_5_6_CYBER: :"gpt-5.6-cyber"
55
56
  GPT_ROSALIND_RESEARCH: :"gpt-rosalind-research"
57
+ GPT_6_ROSALIND: :"gpt-6-rosalind"
56
58
 
57
59
  def self?.values: -> ::Array[OpenAI::Models::AllModels::responses_only_model]
58
60
  end
@@ -9,7 +9,8 @@ module OpenAI
9
9
  created_at: Integer,
10
10
  ?object: :"response.compaction",
11
11
  output: ::Array[OpenAI::Models::Beta::beta_response_output_item],
12
- usage: OpenAI::Beta::BetaResponseUsage
12
+ usage: OpenAI::Beta::BetaResponseUsage,
13
+ ?image: OpenAI::Beta::BetaCompactedResponse::Image
13
14
  }
14
15
 
15
16
  class BetaCompactedResponse < OpenAI::Internal::Type::BaseModel
@@ -30,6 +31,12 @@ module OpenAI
30
31
  # tokens.
31
32
  attr_accessor usage: OpenAI::Beta::BetaResponseUsage
32
33
 
34
+ attr_reader image: OpenAI::Beta::BetaCompactedResponse::Image?
35
+
36
+ def image=: (
37
+ OpenAI::Beta::BetaCompactedResponse::Image
38
+ ) -> OpenAI::Beta::BetaCompactedResponse::Image
39
+
33
40
  # @param id
34
41
  # The unique identifier for the compacted response.
35
42
  # @param created_at
@@ -47,6 +54,7 @@ module OpenAI
47
54
  created_at: Integer,
48
55
  output: ::Array[OpenAI::Models::Beta::beta_response_output_item],
49
56
  usage: OpenAI::Beta::BetaResponseUsage,
57
+ ?image: OpenAI::Beta::BetaCompactedResponse::Image,
50
58
  ?object: :"response.compaction"
51
59
  ) -> void
52
60
 
@@ -55,8 +63,40 @@ module OpenAI
55
63
  created_at: Integer,
56
64
  ?object: :"response.compaction",
57
65
  output: ::Array[OpenAI::Models::Beta::beta_response_output_item],
58
- usage: OpenAI::Beta::BetaResponseUsage
66
+ usage: OpenAI::Beta::BetaResponseUsage,
67
+ ?image: OpenAI::Beta::BetaCompactedResponse::Image
59
68
  }
69
+
70
+ type image =
71
+ {
72
+ context_compression: OpenAI::Models::Beta::BetaCompactedResponse::Image::context_compression
73
+ }
74
+
75
+ class Image < OpenAI::Internal::Type::BaseModel
76
+ # Effective image context optimization policy.
77
+ attr_accessor context_compression: OpenAI::Models::Beta::BetaCompactedResponse::Image::context_compression
78
+
79
+ # @param context_compression
80
+ # Effective image context optimization policy.
81
+ def initialize: (
82
+ context_compression: OpenAI::Models::Beta::BetaCompactedResponse::Image::context_compression
83
+ ) -> void
84
+
85
+ def to_hash: -> {
86
+ context_compression: OpenAI::Models::Beta::BetaCompactedResponse::Image::context_compression
87
+ }
88
+
89
+ type context_compression = :enabled | :disabled
90
+
91
+ module ContextCompression
92
+ extend OpenAI::Internal::Type::Enum
93
+
94
+ ENABLED: :enabled
95
+ DISABLED: :disabled
96
+
97
+ def self?.values: -> ::Array[OpenAI::Models::Beta::BetaCompactedResponse::Image::context_compression]
98
+ end
99
+ end
60
100
  end
61
101
  end
62
102
  end
@@ -23,6 +23,7 @@ module OpenAI
23
23
  ?background: bool?,
24
24
  ?completed_at: Float?,
25
25
  ?conversation: OpenAI::Beta::BetaResponse::Conversation?,
26
+ ?image: OpenAI::Beta::BetaResponse::Image,
26
27
  ?max_output_tokens: Integer?,
27
28
  ?max_tool_calls: Integer?,
28
29
  ?moderation: OpenAI::Beta::BetaResponse::Moderation?,
@@ -148,6 +149,12 @@ module OpenAI
148
149
  # from this response were automatically added to this conversation.
149
150
  attr_accessor conversation: OpenAI::Beta::BetaResponse::Conversation?
150
151
 
152
+ attr_reader image: OpenAI::Beta::BetaResponse::Image?
153
+
154
+ def image=: (
155
+ OpenAI::Beta::BetaResponse::Image
156
+ ) -> OpenAI::Beta::BetaResponse::Image
157
+
151
158
  # An upper bound for the number of tokens that can be generated for a response,
152
159
  # including visible output tokens and
153
160
  # [reasoning tokens](https://developers.openai.com/api/docs/guides/reasoning).
@@ -578,6 +585,7 @@ module OpenAI
578
585
  ?background: bool?,
579
586
  ?completed_at: Float?,
580
587
  ?conversation: OpenAI::Beta::BetaResponse::Conversation?,
588
+ ?image: OpenAI::Beta::BetaResponse::Image,
581
589
  ?max_output_tokens: Integer?,
582
590
  ?max_tool_calls: Integer?,
583
591
  ?moderation: OpenAI::Beta::BetaResponse::Moderation?,
@@ -619,6 +627,7 @@ module OpenAI
619
627
  ?background: bool?,
620
628
  ?completed_at: Float?,
621
629
  ?conversation: OpenAI::Beta::BetaResponse::Conversation?,
630
+ ?image: OpenAI::Beta::BetaResponse::Image,
622
631
  ?max_output_tokens: Integer?,
623
632
  ?max_tool_calls: Integer?,
624
633
  ?moderation: OpenAI::Beta::BetaResponse::Moderation?,
@@ -1000,6 +1009,37 @@ module OpenAI
1000
1009
  def to_hash: -> { id: String }
1001
1010
  end
1002
1011
 
1012
+ type image =
1013
+ {
1014
+ context_compression: OpenAI::Models::Beta::BetaResponse::Image::context_compression
1015
+ }
1016
+
1017
+ class Image < OpenAI::Internal::Type::BaseModel
1018
+ # Effective image context optimization policy.
1019
+ attr_accessor context_compression: OpenAI::Models::Beta::BetaResponse::Image::context_compression
1020
+
1021
+ # @param context_compression
1022
+ # Effective image context optimization policy.
1023
+ def initialize: (
1024
+ context_compression: OpenAI::Models::Beta::BetaResponse::Image::context_compression
1025
+ ) -> void
1026
+
1027
+ def to_hash: -> {
1028
+ context_compression: OpenAI::Models::Beta::BetaResponse::Image::context_compression
1029
+ }
1030
+
1031
+ type context_compression = :enabled | :disabled
1032
+
1033
+ module ContextCompression
1034
+ extend OpenAI::Internal::Type::Enum
1035
+
1036
+ ENABLED: :enabled
1037
+ DISABLED: :disabled
1038
+
1039
+ def self?.values: -> ::Array[OpenAI::Models::Beta::BetaResponse::Image::context_compression]
1040
+ end
1041
+ end
1042
+
1003
1043
  type moderation =
1004
1044
  {
1005
1045
  input: OpenAI::Models::Beta::BetaResponse::Moderation::input,
@@ -1139,7 +1139,8 @@ module OpenAI
1139
1139
  ?output_format: OpenAI::Models::Beta::BetaResponseInputItem::ImageGenerationCall::output_format?,
1140
1140
  ?quality: OpenAI::Models::Beta::BetaResponseInputItem::ImageGenerationCall::quality?,
1141
1141
  ?revised_prompt: String?,
1142
- ?size: OpenAI::Models::Beta::BetaResponseInputItem::ImageGenerationCall::size?
1142
+ ?size: OpenAI::Models::Beta::BetaResponseInputItem::ImageGenerationCall::size?,
1143
+ ?svg_usage: OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall::SvgUsage
1143
1144
  }
1144
1145
 
1145
1146
  class ImageGenerationCall < OpenAI::Internal::Type::BaseModel
@@ -1185,6 +1186,12 @@ module OpenAI
1185
1186
  # The image dimensions as a `WIDTHxHEIGHT` string, for example `1536x864`.
1186
1187
  attr_accessor size: OpenAI::Models::Beta::BetaResponseInputItem::ImageGenerationCall::size?
1187
1188
 
1189
+ attr_reader svg_usage: OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall::SvgUsage?
1190
+
1191
+ def svg_usage=: (
1192
+ OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall::SvgUsage
1193
+ ) -> OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall::SvgUsage
1194
+
1188
1195
  # @param id
1189
1196
  # The unique ID of the image generation call.
1190
1197
  # @param result
@@ -1222,6 +1229,7 @@ module OpenAI
1222
1229
  ?quality: OpenAI::Models::Beta::BetaResponseInputItem::ImageGenerationCall::quality?,
1223
1230
  ?revised_prompt: String?,
1224
1231
  ?size: OpenAI::Models::Beta::BetaResponseInputItem::ImageGenerationCall::size?,
1232
+ ?svg_usage: OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall::SvgUsage,
1225
1233
  ?type: :image_generation_call
1226
1234
  ) -> void
1227
1235
 
@@ -1237,7 +1245,8 @@ module OpenAI
1237
1245
  ?output_format: OpenAI::Models::Beta::BetaResponseInputItem::ImageGenerationCall::output_format?,
1238
1246
  ?quality: OpenAI::Models::Beta::BetaResponseInputItem::ImageGenerationCall::quality?,
1239
1247
  ?revised_prompt: String?,
1240
- ?size: OpenAI::Models::Beta::BetaResponseInputItem::ImageGenerationCall::size?
1248
+ ?size: OpenAI::Models::Beta::BetaResponseInputItem::ImageGenerationCall::size?,
1249
+ ?svg_usage: OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall::SvgUsage
1241
1250
  }
1242
1251
 
1243
1252
  type status = :in_progress | :completed | :generating | :failed
@@ -1387,7 +1396,7 @@ module OpenAI
1387
1396
  end
1388
1397
  end
1389
1398
 
1390
- type output_format = :png | :webp | :jpeg
1399
+ type output_format = :png | :webp | :jpeg | :gif | :svg
1391
1400
 
1392
1401
  module OutputFormat
1393
1402
  extend OpenAI::Internal::Type::Enum
@@ -1395,6 +1404,8 @@ module OpenAI
1395
1404
  PNG: :png
1396
1405
  WEBP: :webp
1397
1406
  JPEG: :jpeg
1407
+ GIF: :gif
1408
+ SVG: :svg
1398
1409
 
1399
1410
  def self?.values: -> ::Array[OpenAI::Models::Beta::BetaResponseInputItem::ImageGenerationCall::output_format]
1400
1411
  end
@@ -1425,6 +1436,43 @@ module OpenAI
1425
1436
  SIZE_1024X1536: :"1024x1536"
1426
1437
  SIZE_1536X1024: :"1536x1024"
1427
1438
  end
1439
+
1440
+ type svg_usage =
1441
+ {
1442
+ input_tokens: Integer,
1443
+ model: String,
1444
+ output_tokens: Integer,
1445
+ reasoning_tokens: Integer,
1446
+ total_tokens: Integer
1447
+ }
1448
+
1449
+ class SvgUsage < OpenAI::Internal::Type::BaseModel
1450
+ attr_accessor input_tokens: Integer
1451
+
1452
+ attr_accessor model: String
1453
+
1454
+ attr_accessor output_tokens: Integer
1455
+
1456
+ attr_accessor reasoning_tokens: Integer
1457
+
1458
+ attr_accessor total_tokens: Integer
1459
+
1460
+ def initialize: (
1461
+ input_tokens: Integer,
1462
+ model: String,
1463
+ output_tokens: Integer,
1464
+ reasoning_tokens: Integer,
1465
+ total_tokens: Integer
1466
+ ) -> void
1467
+
1468
+ def to_hash: -> {
1469
+ input_tokens: Integer,
1470
+ model: String,
1471
+ output_tokens: Integer,
1472
+ reasoning_tokens: Integer,
1473
+ total_tokens: Integer
1474
+ }
1475
+ end
1428
1476
  end
1429
1477
 
1430
1478
  type local_shell_call =