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
@@ -523,7 +523,8 @@ module OpenAI
523
523
  ?output_format: OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::output_format?,
524
524
  ?quality: OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::quality?,
525
525
  ?revised_prompt: String?,
526
- ?size: OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::size?
526
+ ?size: OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::size?,
527
+ ?svg_usage: OpenAI::Responses::ResponseInputItem::ImageGenerationCall::SvgUsage
527
528
  }
528
529
 
529
530
  class ImageGenerationCall < OpenAI::Internal::Type::BaseModel
@@ -566,6 +567,12 @@ module OpenAI
566
567
  # The image dimensions as a `WIDTHxHEIGHT` string, for example `1536x864`.
567
568
  attr_accessor size: OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::size?
568
569
 
570
+ attr_reader svg_usage: OpenAI::Responses::ResponseInputItem::ImageGenerationCall::SvgUsage?
571
+
572
+ def svg_usage=: (
573
+ OpenAI::Responses::ResponseInputItem::ImageGenerationCall::SvgUsage
574
+ ) -> OpenAI::Responses::ResponseInputItem::ImageGenerationCall::SvgUsage
575
+
569
576
  # @param id
570
577
  # The unique ID of the image generation call.
571
578
  # @param result
@@ -600,6 +607,7 @@ module OpenAI
600
607
  ?quality: OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::quality?,
601
608
  ?revised_prompt: String?,
602
609
  ?size: OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::size?,
610
+ ?svg_usage: OpenAI::Responses::ResponseInputItem::ImageGenerationCall::SvgUsage,
603
611
  ?type: :image_generation_call
604
612
  ) -> void
605
613
 
@@ -614,7 +622,8 @@ module OpenAI
614
622
  ?output_format: OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::output_format?,
615
623
  ?quality: OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::quality?,
616
624
  ?revised_prompt: String?,
617
- ?size: OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::size?
625
+ ?size: OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::size?,
626
+ ?svg_usage: OpenAI::Responses::ResponseInputItem::ImageGenerationCall::SvgUsage
618
627
  }
619
628
 
620
629
  type status = :in_progress | :completed | :generating | :failed
@@ -751,7 +760,7 @@ module OpenAI
751
760
  end
752
761
  end
753
762
 
754
- type output_format = :png | :webp | :jpeg
763
+ type output_format = :png | :webp | :jpeg | :gif | :svg
755
764
 
756
765
  module OutputFormat
757
766
  extend OpenAI::Internal::Type::Enum
@@ -759,6 +768,8 @@ module OpenAI
759
768
  PNG: :png
760
769
  WEBP: :webp
761
770
  JPEG: :jpeg
771
+ GIF: :gif
772
+ SVG: :svg
762
773
 
763
774
  def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::output_format]
764
775
  end
@@ -789,6 +800,43 @@ module OpenAI
789
800
  SIZE_1024X1536: :"1024x1536"
790
801
  SIZE_1536X1024: :"1536x1024"
791
802
  end
803
+
804
+ type svg_usage =
805
+ {
806
+ input_tokens: Integer,
807
+ model: String,
808
+ output_tokens: Integer,
809
+ reasoning_tokens: Integer,
810
+ total_tokens: Integer
811
+ }
812
+
813
+ class SvgUsage < OpenAI::Internal::Type::BaseModel
814
+ attr_accessor input_tokens: Integer
815
+
816
+ attr_accessor model: String
817
+
818
+ attr_accessor output_tokens: Integer
819
+
820
+ attr_accessor reasoning_tokens: Integer
821
+
822
+ attr_accessor total_tokens: Integer
823
+
824
+ def initialize: (
825
+ input_tokens: Integer,
826
+ model: String,
827
+ output_tokens: Integer,
828
+ reasoning_tokens: Integer,
829
+ total_tokens: Integer
830
+ ) -> void
831
+
832
+ def to_hash: -> {
833
+ input_tokens: Integer,
834
+ model: String,
835
+ output_tokens: Integer,
836
+ reasoning_tokens: Integer,
837
+ total_tokens: Integer
838
+ }
839
+ end
792
840
  end
793
841
 
794
842
  type local_shell_call =
@@ -232,7 +232,8 @@ module OpenAI
232
232
  ?output_format: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::output_format?,
233
233
  ?quality: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::quality?,
234
234
  ?revised_prompt: String?,
235
- ?size: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::size?
235
+ ?size: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::size?,
236
+ ?svg_usage: OpenAI::Responses::ResponseItem::ImageGenerationCall::SvgUsage
236
237
  }
237
238
 
238
239
  class ImageGenerationCall < OpenAI::Internal::Type::BaseModel
@@ -275,6 +276,12 @@ module OpenAI
275
276
  # The image dimensions as a `WIDTHxHEIGHT` string, for example `1536x864`.
276
277
  attr_accessor size: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::size?
277
278
 
279
+ attr_reader svg_usage: OpenAI::Responses::ResponseItem::ImageGenerationCall::SvgUsage?
280
+
281
+ def svg_usage=: (
282
+ OpenAI::Responses::ResponseItem::ImageGenerationCall::SvgUsage
283
+ ) -> OpenAI::Responses::ResponseItem::ImageGenerationCall::SvgUsage
284
+
278
285
  # @param id
279
286
  # The unique ID of the image generation call.
280
287
  # @param result
@@ -309,6 +316,7 @@ module OpenAI
309
316
  ?quality: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::quality?,
310
317
  ?revised_prompt: String?,
311
318
  ?size: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::size?,
319
+ ?svg_usage: OpenAI::Responses::ResponseItem::ImageGenerationCall::SvgUsage,
312
320
  ?type: :image_generation_call
313
321
  ) -> void
314
322
 
@@ -323,7 +331,8 @@ module OpenAI
323
331
  ?output_format: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::output_format?,
324
332
  ?quality: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::quality?,
325
333
  ?revised_prompt: String?,
326
- ?size: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::size?
334
+ ?size: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::size?,
335
+ ?svg_usage: OpenAI::Responses::ResponseItem::ImageGenerationCall::SvgUsage
327
336
  }
328
337
 
329
338
  type status = :in_progress | :completed | :generating | :failed
@@ -460,7 +469,7 @@ module OpenAI
460
469
  end
461
470
  end
462
471
 
463
- type output_format = :png | :webp | :jpeg
472
+ type output_format = :png | :webp | :jpeg | :gif | :svg
464
473
 
465
474
  module OutputFormat
466
475
  extend OpenAI::Internal::Type::Enum
@@ -468,6 +477,8 @@ module OpenAI
468
477
  PNG: :png
469
478
  WEBP: :webp
470
479
  JPEG: :jpeg
480
+ GIF: :gif
481
+ SVG: :svg
471
482
 
472
483
  def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::output_format]
473
484
  end
@@ -498,6 +509,43 @@ module OpenAI
498
509
  SIZE_1024X1536: :"1024x1536"
499
510
  SIZE_1536X1024: :"1536x1024"
500
511
  end
512
+
513
+ type svg_usage =
514
+ {
515
+ input_tokens: Integer,
516
+ model: String,
517
+ output_tokens: Integer,
518
+ reasoning_tokens: Integer,
519
+ total_tokens: Integer
520
+ }
521
+
522
+ class SvgUsage < OpenAI::Internal::Type::BaseModel
523
+ attr_accessor input_tokens: Integer
524
+
525
+ attr_accessor model: String
526
+
527
+ attr_accessor output_tokens: Integer
528
+
529
+ attr_accessor reasoning_tokens: Integer
530
+
531
+ attr_accessor total_tokens: Integer
532
+
533
+ def initialize: (
534
+ input_tokens: Integer,
535
+ model: String,
536
+ output_tokens: Integer,
537
+ reasoning_tokens: Integer,
538
+ total_tokens: Integer
539
+ ) -> void
540
+
541
+ def to_hash: -> {
542
+ input_tokens: Integer,
543
+ model: String,
544
+ output_tokens: Integer,
545
+ reasoning_tokens: Integer,
546
+ total_tokens: Integer
547
+ }
548
+ end
501
549
  end
502
550
 
503
551
  type local_shell_call =
@@ -230,7 +230,8 @@ module OpenAI
230
230
  ?output_format: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::output_format?,
231
231
  ?quality: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::quality?,
232
232
  ?revised_prompt: String?,
233
- ?size: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::size?
233
+ ?size: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::size?,
234
+ ?svg_usage: OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::SvgUsage
234
235
  }
235
236
 
236
237
  class ImageGenerationCall < OpenAI::Internal::Type::BaseModel
@@ -273,6 +274,12 @@ module OpenAI
273
274
  # The image dimensions as a `WIDTHxHEIGHT` string, for example `1536x864`.
274
275
  attr_accessor size: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::size?
275
276
 
277
+ attr_reader svg_usage: OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::SvgUsage?
278
+
279
+ def svg_usage=: (
280
+ OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::SvgUsage
281
+ ) -> OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::SvgUsage
282
+
276
283
  # @param id
277
284
  # The unique ID of the image generation call.
278
285
  # @param result
@@ -307,6 +314,7 @@ module OpenAI
307
314
  ?quality: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::quality?,
308
315
  ?revised_prompt: String?,
309
316
  ?size: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::size?,
317
+ ?svg_usage: OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::SvgUsage,
310
318
  ?type: :image_generation_call
311
319
  ) -> void
312
320
 
@@ -321,7 +329,8 @@ module OpenAI
321
329
  ?output_format: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::output_format?,
322
330
  ?quality: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::quality?,
323
331
  ?revised_prompt: String?,
324
- ?size: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::size?
332
+ ?size: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::size?,
333
+ ?svg_usage: OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::SvgUsage
325
334
  }
326
335
 
327
336
  type status = :in_progress | :completed | :generating | :failed
@@ -458,7 +467,7 @@ module OpenAI
458
467
  end
459
468
  end
460
469
 
461
- type output_format = :png | :webp | :jpeg
470
+ type output_format = :png | :webp | :jpeg | :gif | :svg
462
471
 
463
472
  module OutputFormat
464
473
  extend OpenAI::Internal::Type::Enum
@@ -466,6 +475,8 @@ module OpenAI
466
475
  PNG: :png
467
476
  WEBP: :webp
468
477
  JPEG: :jpeg
478
+ GIF: :gif
479
+ SVG: :svg
469
480
 
470
481
  def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::output_format]
471
482
  end
@@ -496,6 +507,43 @@ module OpenAI
496
507
  SIZE_1024X1536: :"1024x1536"
497
508
  SIZE_1536X1024: :"1536x1024"
498
509
  end
510
+
511
+ type svg_usage =
512
+ {
513
+ input_tokens: Integer,
514
+ model: String,
515
+ output_tokens: Integer,
516
+ reasoning_tokens: Integer,
517
+ total_tokens: Integer
518
+ }
519
+
520
+ class SvgUsage < OpenAI::Internal::Type::BaseModel
521
+ attr_accessor input_tokens: Integer
522
+
523
+ attr_accessor model: String
524
+
525
+ attr_accessor output_tokens: Integer
526
+
527
+ attr_accessor reasoning_tokens: Integer
528
+
529
+ attr_accessor total_tokens: Integer
530
+
531
+ def initialize: (
532
+ input_tokens: Integer,
533
+ model: String,
534
+ output_tokens: Integer,
535
+ reasoning_tokens: Integer,
536
+ total_tokens: Integer
537
+ ) -> void
538
+
539
+ def to_hash: -> {
540
+ input_tokens: Integer,
541
+ model: String,
542
+ output_tokens: Integer,
543
+ reasoning_tokens: Integer,
544
+ total_tokens: Integer
545
+ }
546
+ end
499
547
  end
500
548
 
501
549
  type local_shell_call =
@@ -661,6 +661,9 @@ module OpenAI
661
661
  ?type: :image_generation,
662
662
  ?action: OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::action,
663
663
  ?background: OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::background,
664
+ ?complexity: OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::complexity,
665
+ ?frame_count: Integer,
666
+ ?frame_duration_ms: Integer,
664
667
  ?input_fidelity: OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::input_fidelity?,
665
668
  ?input_image_mask: OpenAI::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::InputImageMask,
666
669
  ?model: OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::model,
@@ -669,7 +672,8 @@ module OpenAI
669
672
  ?output_format: OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::output_format,
670
673
  ?partial_images: Integer,
671
674
  ?quality: OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::quality,
672
- ?size: OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::size
675
+ ?size: OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::size,
676
+ ?svg: OpenAI::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg
673
677
  }
674
678
 
675
679
  class ImageGeneration < OpenAI::Internal::Type::BaseModel
@@ -708,6 +712,36 @@ module OpenAI
708
712
  OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::background
709
713
  ) -> OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::background
710
714
 
715
+ # Computation spent planning the image, independently of rendering quality.
716
+ # Overrides the outer response's `reasoning.effort` for image generation. When
717
+ # omitted, inherits a supported outer reasoning effort or uses the image model's
718
+ # configured default. For SVG output, controls the reference image, not the SVG
719
+ # author's reasoning.
720
+ attr_reader complexity: OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::complexity?
721
+
722
+ # Computation spent planning the image, independently of rendering quality.
723
+ # Overrides the outer response's `reasoning.effort` for image generation. When
724
+ # omitted, inherits a supported outer reasoning effort or uses the image model's
725
+ # configured default. For SVG output, controls the reference image, not the SVG
726
+ # author's reasoning.
727
+ def complexity=: (
728
+ OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::complexity
729
+ ) -> OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::complexity
730
+
731
+ # Number of GIF frames. Requires `output_format` to be `gif`. Default: 9.
732
+ attr_reader frame_count: Integer?
733
+
734
+ # Number of GIF frames. Requires `output_format` to be `gif`. Default: 9.
735
+ def frame_count=: (Integer) -> Integer
736
+
737
+ # Duration of each GIF frame in milliseconds, rounded to 10 ms. Requires
738
+ # `output_format` to be `gif`. Default: 200.
739
+ attr_reader frame_duration_ms: Integer?
740
+
741
+ # Duration of each GIF frame in milliseconds, rounded to 10 ms. Requires
742
+ # `output_format` to be `gif`. Default: 200.
743
+ def frame_duration_ms=: (Integer) -> Integer
744
+
711
745
  # Control how much effort the model will exert to match the style and features,
712
746
  # especially facial features, of input images. Supports `high` and `low` on
713
747
  # `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For `gpt-image-2`, omit
@@ -727,8 +761,8 @@ module OpenAI
727
761
  # The image generation model to use. One of `gpt-image-1-mini`, `gpt-image-1.5`,
728
762
  # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
729
763
  # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
730
- # `gpt-image-2.5-flare-2026-09-08`, or `chatgpt-image-latest`. Default:
731
- # `gpt-image-2`.
764
+ # `gpt-image-2.5-flare-2026-09-08`, `gpt-image-2.6-sunburst`,
765
+ # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default: `gpt-image-2`.
732
766
  #
733
767
  # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
734
768
  # `gpt-image-2.5-flare` instead.
@@ -737,8 +771,8 @@ module OpenAI
737
771
  # The image generation model to use. One of `gpt-image-1-mini`, `gpt-image-1.5`,
738
772
  # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
739
773
  # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
740
- # `gpt-image-2.5-flare-2026-09-08`, or `chatgpt-image-latest`. Default:
741
- # `gpt-image-2`.
774
+ # `gpt-image-2.5-flare-2026-09-08`, `gpt-image-2.6-sunburst`,
775
+ # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default: `gpt-image-2`.
742
776
  #
743
777
  # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
744
778
  # `gpt-image-2.5-flare` instead.
@@ -760,12 +794,20 @@ module OpenAI
760
794
  # Compression level for the output image. Default: 100.
761
795
  def output_compression=: (Integer) -> Integer
762
796
 
763
- # The output format of the generated image. One of `png`, `webp`, or `jpeg`.
764
- # Default: `png`.
797
+ # The output format of the generated image. One of `png`, `webp`, `jpeg`, `gif`,
798
+ # or `svg`. Default: `png`. GIF and SVG output require a model that supports the
799
+ # selected format. GIF output does not support partial image streaming
800
+ # (`partial_images` greater than `0`), `input_image_mask`, or custom
801
+ # `output_compression`. Responses lifecycle events can still be streamed for GIF
802
+ # output.
765
803
  attr_reader output_format: OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::output_format?
766
804
 
767
- # The output format of the generated image. One of `png`, `webp`, or `jpeg`.
768
- # Default: `png`.
805
+ # The output format of the generated image. One of `png`, `webp`, `jpeg`, `gif`,
806
+ # or `svg`. Default: `png`. GIF and SVG output require a model that supports the
807
+ # selected format. GIF output does not support partial image streaming
808
+ # (`partial_images` greater than `0`), `input_image_mask`, or custom
809
+ # `output_compression`. Responses lifecycle events can still be streamed for GIF
810
+ # output.
769
811
  def output_format=: (
770
812
  OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::output_format
771
813
  ) -> OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::output_format
@@ -818,6 +860,20 @@ module OpenAI
818
860
  OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::size
819
861
  ) -> OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::size
820
862
 
863
+ # SVG author model settings. Requires `output_format` to be `svg`. When SVG model
864
+ # selection is enabled, omitting this object uses the outer response model.
865
+ # Otherwise, the default SVG author is used and explicit model overrides are
866
+ # unavailable.
867
+ attr_reader svg: OpenAI::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg?
868
+
869
+ # SVG author model settings. Requires `output_format` to be `svg`. When SVG model
870
+ # selection is enabled, omitting this object uses the outer response model.
871
+ # Otherwise, the default SVG author is used and explicit model overrides are
872
+ # unavailable.
873
+ def svg=: (
874
+ OpenAI::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg
875
+ ) -> OpenAI::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg
876
+
821
877
  # @param action
822
878
  # Whether to generate a new image or edit an existing image. Default: `auto`.
823
879
  # @param background
@@ -830,6 +886,17 @@ module OpenAI
830
886
  # backgrounds are available for supported GPT Image models. For `gpt-image-2` and
831
887
  # `gpt-image-2-2026-04-21`, this support is in preview. When using `transparent`,
832
888
  # set the output format to `png` or `webp`.
889
+ # @param complexity
890
+ # Computation spent planning the image, independently of rendering quality.
891
+ # Overrides the outer response's `reasoning.effort` for image generation. When
892
+ # omitted, inherits a supported outer reasoning effort or uses the image model's
893
+ # configured default. For SVG output, controls the reference image, not the SVG
894
+ # author's reasoning.
895
+ # @param frame_count
896
+ # Number of GIF frames. Requires `output_format` to be `gif`. Default: 9.
897
+ # @param frame_duration_ms
898
+ # Duration of each GIF frame in milliseconds, rounded to 10 ms. Requires
899
+ # `output_format` to be `gif`. Default: 200.
833
900
  # @param input_fidelity
834
901
  # Control how much effort the model will exert to match the style and features,
835
902
  # especially facial features, of input images. Supports `high` and `low` on
@@ -842,8 +909,8 @@ module OpenAI
842
909
  # The image generation model to use. One of `gpt-image-1-mini`, `gpt-image-1.5`,
843
910
  # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
844
911
  # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
845
- # `gpt-image-2.5-flare-2026-09-08`, or `chatgpt-image-latest`. Default:
846
- # `gpt-image-2`.
912
+ # `gpt-image-2.5-flare-2026-09-08`, `gpt-image-2.6-sunburst`,
913
+ # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default: `gpt-image-2`.
847
914
  #
848
915
  # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
849
916
  # `gpt-image-2.5-flare` instead.
@@ -852,8 +919,12 @@ module OpenAI
852
919
  # @param output_compression
853
920
  # Compression level for the output image. Default: 100.
854
921
  # @param output_format
855
- # The output format of the generated image. One of `png`, `webp`, or `jpeg`.
856
- # Default: `png`.
922
+ # The output format of the generated image. One of `png`, `webp`, `jpeg`, `gif`,
923
+ # or `svg`. Default: `png`. GIF and SVG output require a model that supports the
924
+ # selected format. GIF output does not support partial image streaming
925
+ # (`partial_images` greater than `0`), `input_image_mask`, or custom
926
+ # `output_compression`. Responses lifecycle events can still be streamed for GIF
927
+ # output.
857
928
  # @param partial_images
858
929
  # Number of partial images to generate in streaming mode, from 0 (default value)
859
930
  # to 3.
@@ -873,11 +944,19 @@ module OpenAI
873
944
  # satisfy the model's current pixel and edge limits. The standard sizes
874
945
  # `1024x1024`, `1536x1024`, and `1024x1536` are supported by the GPT image models;
875
946
  # `auto` is supported for models that allow automatic sizing.
947
+ # @param svg
948
+ # SVG author model settings. Requires `output_format` to be `svg`. When SVG model
949
+ # selection is enabled, omitting this object uses the outer response model.
950
+ # Otherwise, the default SVG author is used and explicit model overrides are
951
+ # unavailable.
876
952
  # @param type
877
953
  # The type of the image generation tool. Always `image_generation`.
878
954
  def initialize: (
879
955
  ?action: OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::action,
880
956
  ?background: OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::background,
957
+ ?complexity: OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::complexity,
958
+ ?frame_count: Integer,
959
+ ?frame_duration_ms: Integer,
881
960
  ?input_fidelity: OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::input_fidelity?,
882
961
  ?input_image_mask: OpenAI::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::InputImageMask,
883
962
  ?model: OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::model,
@@ -887,6 +966,7 @@ module OpenAI
887
966
  ?partial_images: Integer,
888
967
  ?quality: OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::quality,
889
968
  ?size: OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::size,
969
+ ?svg: OpenAI::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg,
890
970
  ?type: :image_generation
891
971
  ) -> void
892
972
 
@@ -894,6 +974,9 @@ module OpenAI
894
974
  ?type: :image_generation,
895
975
  ?action: OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::action,
896
976
  ?background: OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::background,
977
+ ?complexity: OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::complexity,
978
+ ?frame_count: Integer,
979
+ ?frame_duration_ms: Integer,
897
980
  ?input_fidelity: OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::input_fidelity?,
898
981
  ?input_image_mask: OpenAI::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::InputImageMask,
899
982
  ?model: OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::model,
@@ -902,7 +985,8 @@ module OpenAI
902
985
  ?output_format: OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::output_format,
903
986
  ?partial_images: Integer,
904
987
  ?quality: OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::quality,
905
- ?size: OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::size
988
+ ?size: OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::size,
989
+ ?svg: OpenAI::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg
906
990
  }
907
991
 
908
992
  type action = :generate | :edit | :auto
@@ -929,6 +1013,18 @@ module OpenAI
929
1013
  def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::background]
930
1014
  end
931
1015
 
1016
+ type complexity = :low | :medium | :high
1017
+
1018
+ module Complexity
1019
+ extend OpenAI::Internal::Type::Enum
1020
+
1021
+ LOW: :low
1022
+ MEDIUM: :medium
1023
+ HIGH: :high
1024
+
1025
+ def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::complexity]
1026
+ end
1027
+
932
1028
  type input_fidelity = :high | :low
933
1029
 
934
1030
  module InputFidelity
@@ -974,6 +1070,8 @@ module OpenAI
974
1070
  | :"gpt-image-2.5-sunburst-2026-09-08"
975
1071
  | :"gpt-image-2.5-flare"
976
1072
  | :"gpt-image-2.5-flare-2026-09-08"
1073
+ | :"gpt-image-2.6-sunburst"
1074
+ | :"gpt-image-2.6-flare"
977
1075
  | :"gpt-image-1.5"
978
1076
  | :"chatgpt-image-latest"
979
1077
 
@@ -990,6 +1088,8 @@ module OpenAI
990
1088
  GPT_IMAGE_2_5_SUNBURST_2026_09_08: :"gpt-image-2.5-sunburst-2026-09-08"
991
1089
  GPT_IMAGE_2_5_FLARE: :"gpt-image-2.5-flare"
992
1090
  GPT_IMAGE_2_5_FLARE_2026_09_08: :"gpt-image-2.5-flare-2026-09-08"
1091
+ GPT_IMAGE_2_6_SUNBURST: :"gpt-image-2.6-sunburst"
1092
+ GPT_IMAGE_2_6_FLARE: :"gpt-image-2.6-flare"
993
1093
  GPT_IMAGE_1_5: :"gpt-image-1.5"
994
1094
  CHATGPT_IMAGE_LATEST: :"chatgpt-image-latest"
995
1095
  end
@@ -1005,7 +1105,7 @@ module OpenAI
1005
1105
  def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::moderation]
1006
1106
  end
1007
1107
 
1008
- type output_format = :png | :webp | :jpeg
1108
+ type output_format = :png | :webp | :jpeg | :gif | :svg
1009
1109
 
1010
1110
  module OutputFormat
1011
1111
  extend OpenAI::Internal::Type::Enum
@@ -1013,6 +1113,8 @@ module OpenAI
1013
1113
  PNG: :png
1014
1114
  WEBP: :webp
1015
1115
  JPEG: :jpeg
1116
+ GIF: :gif
1117
+ SVG: :svg
1016
1118
 
1017
1119
  def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::output_format]
1018
1120
  end
@@ -1045,6 +1147,77 @@ module OpenAI
1045
1147
  SIZE_1536X1024: :"1536x1024"
1046
1148
  AUTO: :auto
1047
1149
  end
1150
+
1151
+ type svg =
1152
+ {
1153
+ ?model: String,
1154
+ ?reasoning: OpenAI::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg::Reasoning?
1155
+ }
1156
+
1157
+ class Svg < OpenAI::Internal::Type::BaseModel
1158
+ attr_reader model: String?
1159
+
1160
+ def model=: (String) -> String
1161
+
1162
+ # Reasoning effort for SVG authoring. When omitted, uses the author model's
1163
+ # default in both Images and Responses.
1164
+ attr_accessor reasoning: OpenAI::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg::Reasoning?
1165
+
1166
+ # @param reasoning
1167
+ # Reasoning effort for SVG authoring. When omitted, uses the author model's
1168
+ # default in both Images and Responses.
1169
+ def initialize: (
1170
+ ?model: String,
1171
+ ?reasoning: OpenAI::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg::Reasoning?
1172
+ ) -> void
1173
+
1174
+ def to_hash: -> {
1175
+ ?model: String,
1176
+ ?reasoning: OpenAI::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg::Reasoning?
1177
+ }
1178
+
1179
+ type reasoning =
1180
+ {
1181
+ ?effort: OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg::Reasoning::effort
1182
+ }
1183
+
1184
+ class Reasoning < OpenAI::Internal::Type::BaseModel
1185
+ # Controls how much effort the model should spend on reasoning for this request.
1186
+ attr_reader effort: OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg::Reasoning::effort?
1187
+
1188
+ # Controls how much effort the model should spend on reasoning for this request.
1189
+ def effort=: (
1190
+ OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg::Reasoning::effort
1191
+ ) -> OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg::Reasoning::effort
1192
+
1193
+ # @param effort
1194
+ # Controls how much effort the model should spend on reasoning for this request.
1195
+ def initialize: (
1196
+ ?effort: OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg::Reasoning::effort
1197
+ ) -> void
1198
+
1199
+ def to_hash: -> {
1200
+ ?effort: OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg::Reasoning::effort
1201
+ }
1202
+
1203
+ type effort =
1204
+ :none | :minimal | :low | :medium | :high | :xhigh | :max
1205
+
1206
+ module Effort
1207
+ extend OpenAI::Internal::Type::Enum
1208
+
1209
+ NONE: :none
1210
+ MINIMAL: :minimal
1211
+ LOW: :low
1212
+ MEDIUM: :medium
1213
+ HIGH: :high
1214
+ XHIGH: :xhigh
1215
+ MAX: :max
1216
+
1217
+ def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg::Reasoning::effort]
1218
+ end
1219
+ end
1220
+ end
1048
1221
  end
1049
1222
 
1050
1223
  type local_shell = { ?type: :local_shell }