openai 0.117.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 (154) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +23 -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/admin/organization/projects/project_optional_service_tier.rb +24 -0
  7. data/lib/openai/models/admin/organization/projects/project_service_tier_settings.rb +88 -0
  8. data/lib/openai/models/admin/organization/projects/service_tier_setting_retrieve_params.rb +29 -0
  9. data/lib/openai/models/admin/organization/projects/service_tier_setting_update_params.rb +92 -0
  10. data/lib/openai/models/all_models.rb +1 -0
  11. data/lib/openai/models/beta/beta_compacted_response.rb +34 -1
  12. data/lib/openai/models/beta/beta_response.rb +35 -1
  13. data/lib/openai/models/beta/beta_response_input_item.rb +45 -1
  14. data/lib/openai/models/beta/beta_response_item.rb +45 -1
  15. data/lib/openai/models/beta/beta_response_output_item.rb +45 -1
  16. data/lib/openai/models/beta/beta_response_tool_search_output_item_param.rb +186 -13
  17. data/lib/openai/models/beta/beta_response_usage.rb +33 -1
  18. data/lib/openai/models/beta/beta_responses_client_event.rb +58 -10
  19. data/lib/openai/models/beta/beta_tool.rb +164 -13
  20. data/lib/openai/models/beta/response_compact_params.rb +47 -4
  21. data/lib/openai/models/beta/response_create_params.rb +54 -10
  22. data/lib/openai/models/beta/session_turn_error.rb +3 -0
  23. data/lib/openai/models/chat/completion_create_params.rb +3 -3
  24. data/lib/openai/models/conversations/conversation_item.rb +45 -1
  25. data/lib/openai/models/image_edit_params.rb +72 -16
  26. data/lib/openai/models/image_generate_params.rb +160 -8
  27. data/lib/openai/models/image_model.rb +2 -0
  28. data/lib/openai/models/images_response.rb +55 -4
  29. data/lib/openai/models/realtime/realtime_audio_config_input.rb +14 -1
  30. data/lib/openai/models/realtime/realtime_session_create_response.rb +14 -1
  31. data/lib/openai/models/realtime/realtime_transcription_session_audio_input.rb +14 -1
  32. data/lib/openai/models/realtime/realtime_transcription_session_create_response.rb +14 -1
  33. data/lib/openai/models/realtime/realtime_translation_session.rb +14 -1
  34. data/lib/openai/models/realtime/realtime_translation_session_create_request.rb +14 -1
  35. data/lib/openai/models/realtime/realtime_translation_session_update_request.rb +14 -1
  36. data/lib/openai/models/responses/compacted_response.rb +37 -1
  37. data/lib/openai/models/responses/response.rb +35 -1
  38. data/lib/openai/models/responses/response_compact_params.rb +53 -4
  39. data/lib/openai/models/responses/response_create_params.rb +57 -10
  40. data/lib/openai/models/responses/response_input_item.rb +45 -1
  41. data/lib/openai/models/responses/response_item.rb +45 -1
  42. data/lib/openai/models/responses/response_output_item.rb +45 -1
  43. data/lib/openai/models/responses/response_tool_search_output_item_param.rb +186 -13
  44. data/lib/openai/models/responses/response_usage.rb +33 -1
  45. data/lib/openai/models/responses/responses_client_event.rb +58 -10
  46. data/lib/openai/models/responses/tool.rb +164 -13
  47. data/lib/openai/models/responses_model.rb +1 -0
  48. data/lib/openai/resources/admin/organization/projects/service_tier_settings.rb +77 -0
  49. data/lib/openai/resources/admin/organization/projects.rb +6 -0
  50. data/lib/openai/resources/admin/organization.rb +6 -6
  51. data/lib/openai/resources/beta/responses.rb +18 -9
  52. data/lib/openai/resources/chat/completions.rb +2 -2
  53. data/lib/openai/resources/images.rb +102 -18
  54. data/lib/openai/resources/responses.rb +15 -6
  55. data/lib/openai/version.rb +1 -1
  56. data/lib/openai.rb +5 -0
  57. data/rbi/openai/models/admin/organization/projects/project_optional_service_tier.rbi +45 -0
  58. data/rbi/openai/models/admin/organization/projects/project_service_tier_settings.rbi +143 -0
  59. data/rbi/openai/models/admin/organization/projects/service_tier_setting_retrieve_params.rbi +63 -0
  60. data/rbi/openai/models/admin/organization/projects/service_tier_setting_update_params.rbi +183 -0
  61. data/rbi/openai/models/all_models.rbi +1 -0
  62. data/rbi/openai/models/beta/beta_compacted_response.rbi +67 -1
  63. data/rbi/openai/models/beta/beta_response.rbi +63 -0
  64. data/rbi/openai/models/beta/beta_response_input_item.rbi +82 -1
  65. data/rbi/openai/models/beta/beta_response_item.rbi +82 -1
  66. data/rbi/openai/models/beta/beta_response_output_item.rbi +82 -1
  67. data/rbi/openai/models/beta/beta_response_tool_search_output_item_param.rbi +338 -13
  68. data/rbi/openai/models/beta/beta_response_usage.rbi +66 -3
  69. data/rbi/openai/models/beta/beta_responses_client_event.rbi +118 -9
  70. data/rbi/openai/models/beta/beta_tool.rbi +245 -13
  71. data/rbi/openai/models/beta/response_compact_params.rbi +84 -3
  72. data/rbi/openai/models/beta/response_create_params.rbi +91 -9
  73. data/rbi/openai/models/beta/session_turn_error.rbi +3 -0
  74. data/rbi/openai/models/chat/completion_create_params.rbi +3 -3
  75. data/rbi/openai/models/conversations/conversation_item.rbi +84 -1
  76. data/rbi/openai/models/image_edit_params.rbi +76 -14
  77. data/rbi/openai/models/image_generate_params.rbi +218 -6
  78. data/rbi/openai/models/image_model.rbi +2 -0
  79. data/rbi/openai/models/images_response.rbi +90 -3
  80. data/rbi/openai/models/realtime/realtime_audio_config_input.rbi +17 -1
  81. data/rbi/openai/models/realtime/realtime_session_create_response.rbi +17 -1
  82. data/rbi/openai/models/realtime/realtime_transcription_session_audio_input.rbi +17 -1
  83. data/rbi/openai/models/realtime/realtime_transcription_session_create_response.rbi +17 -1
  84. data/rbi/openai/models/realtime/realtime_translation_session.rbi +19 -3
  85. data/rbi/openai/models/realtime/realtime_translation_session_create_request.rbi +19 -3
  86. data/rbi/openai/models/realtime/realtime_translation_session_update_request.rbi +19 -3
  87. data/rbi/openai/models/responses/compacted_response.rbi +67 -1
  88. data/rbi/openai/models/responses/response.rbi +63 -0
  89. data/rbi/openai/models/responses/response_compact_params.rbi +91 -3
  90. data/rbi/openai/models/responses/response_create_params.rbi +97 -9
  91. data/rbi/openai/models/responses/response_input_item.rbi +82 -1
  92. data/rbi/openai/models/responses/response_item.rbi +82 -1
  93. data/rbi/openai/models/responses/response_output_item.rbi +82 -1
  94. data/rbi/openai/models/responses/response_tool_search_output_item_param.rbi +340 -13
  95. data/rbi/openai/models/responses/response_usage.rbi +66 -3
  96. data/rbi/openai/models/responses/responses_client_event.rbi +118 -9
  97. data/rbi/openai/models/responses/tool.rbi +248 -13
  98. data/rbi/openai/models/responses_model.rbi +1 -0
  99. data/rbi/openai/resources/admin/organization/projects/service_tier_settings.rbi +67 -0
  100. data/rbi/openai/resources/admin/organization/projects.rbi +3 -0
  101. data/rbi/openai/resources/admin/organization.rbi +3 -3
  102. data/rbi/openai/resources/beta/responses.rbi +15 -6
  103. data/rbi/openai/resources/chat/completions.rbi +2 -2
  104. data/rbi/openai/resources/images.rbi +98 -14
  105. data/rbi/openai/resources/responses.rbi +14 -3
  106. data/sig/openai/models/admin/organization/projects/project_optional_service_tier.rbs +23 -0
  107. data/sig/openai/models/admin/organization/projects/project_service_tier_settings.rbs +72 -0
  108. data/sig/openai/models/admin/organization/projects/service_tier_setting_retrieve_params.rbs +32 -0
  109. data/sig/openai/models/admin/organization/projects/service_tier_setting_update_params.rbs +91 -0
  110. data/sig/openai/models/all_models.rbs +2 -0
  111. data/sig/openai/models/beta/beta_compacted_response.rbs +42 -2
  112. data/sig/openai/models/beta/beta_response.rbs +42 -1
  113. data/sig/openai/models/beta/beta_response_input_item.rbs +51 -3
  114. data/sig/openai/models/beta/beta_response_item.rbs +51 -3
  115. data/sig/openai/models/beta/beta_response_output_item.rbs +51 -3
  116. data/sig/openai/models/beta/beta_response_tool_search_output_item_param.rbs +188 -15
  117. data/sig/openai/models/beta/beta_response_usage.rbs +40 -3
  118. data/sig/openai/models/beta/beta_responses_client_event.rbs +67 -10
  119. data/sig/openai/models/beta/beta_tool.rbs +188 -15
  120. data/sig/openai/models/beta/response_compact_params.rbs +58 -2
  121. data/sig/openai/models/beta/response_create_params.rbs +67 -10
  122. data/sig/openai/models/beta/session_turn_error.rbs +4 -0
  123. data/sig/openai/models/chat/completion_create_params.rbs +3 -3
  124. data/sig/openai/models/conversations/conversation_item.rbs +51 -3
  125. data/sig/openai/models/image_edit_params.rbs +63 -12
  126. data/sig/openai/models/image_generate_params.rbs +150 -5
  127. data/sig/openai/models/image_model.rbs +4 -0
  128. data/sig/openai/models/images_response.rbs +59 -4
  129. data/sig/openai/models/realtime/realtime_audio_config_input.rbs +20 -1
  130. data/sig/openai/models/realtime/realtime_session_create_response.rbs +20 -1
  131. data/sig/openai/models/realtime/realtime_transcription_session_audio_input.rbs +20 -1
  132. data/sig/openai/models/realtime/realtime_transcription_session_create_response.rbs +20 -1
  133. data/sig/openai/models/realtime/realtime_translation_session.rbs +22 -3
  134. data/sig/openai/models/realtime/realtime_translation_session_create_request.rbs +22 -3
  135. data/sig/openai/models/realtime/realtime_translation_session_update_request.rbs +22 -3
  136. data/sig/openai/models/responses/compacted_response.rbs +42 -2
  137. data/sig/openai/models/responses/response.rbs +42 -1
  138. data/sig/openai/models/responses/response_compact_params.rbs +60 -2
  139. data/sig/openai/models/responses/response_create_params.rbs +67 -10
  140. data/sig/openai/models/responses/response_input_item.rbs +51 -3
  141. data/sig/openai/models/responses/response_item.rbs +51 -3
  142. data/sig/openai/models/responses/response_output_item.rbs +51 -3
  143. data/sig/openai/models/responses/response_tool_search_output_item_param.rbs +188 -15
  144. data/sig/openai/models/responses/response_usage.rbs +40 -3
  145. data/sig/openai/models/responses/responses_client_event.rbs +67 -10
  146. data/sig/openai/models/responses/tool.rbs +188 -15
  147. data/sig/openai/models/responses_model.rbs +2 -0
  148. data/sig/openai/resources/admin/organization/projects/service_tier_settings.rbs +25 -0
  149. data/sig/openai/resources/admin/organization/projects.rbs +2 -0
  150. data/sig/openai/resources/admin/organization.rbs +2 -2
  151. data/sig/openai/resources/beta/responses.rbs +3 -0
  152. data/sig/openai/resources/images.rbs +14 -0
  153. data/sig/openai/resources/responses.rbs +4 -0
  154. metadata +16 -1
@@ -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 }
@@ -53,7 +53,11 @@ module OpenAI
53
53
  }
54
54
 
55
55
  type input_tokens_details =
56
- { cache_write_tokens: Integer, cached_tokens: Integer }
56
+ {
57
+ cache_write_tokens: Integer,
58
+ cached_tokens: Integer,
59
+ ?cache_write_tokens_details: OpenAI::Responses::ResponseUsage::InputTokensDetails::CacheWriteTokensDetails
60
+ }
57
61
 
58
62
  class InputTokensDetails < OpenAI::Internal::Type::BaseModel
59
63
  # The number of input tokens that were written to the cache.
@@ -63,6 +67,12 @@ module OpenAI
63
67
  # [More on prompt caching](https://developers.openai.com/api/docs/guides/prompt-caching).
64
68
  attr_accessor cached_tokens: Integer
65
69
 
70
+ attr_reader cache_write_tokens_details: OpenAI::Responses::ResponseUsage::InputTokensDetails::CacheWriteTokensDetails?
71
+
72
+ def cache_write_tokens_details=: (
73
+ OpenAI::Responses::ResponseUsage::InputTokensDetails::CacheWriteTokensDetails
74
+ ) -> OpenAI::Responses::ResponseUsage::InputTokensDetails::CacheWriteTokensDetails
75
+
66
76
  # @param cache_write_tokens
67
77
  # The number of input tokens that were written to the cache.
68
78
  # @param cached_tokens
@@ -70,13 +80,40 @@ module OpenAI
70
80
  # [More on prompt caching](https://developers.openai.com/api/docs/guides/prompt-caching).
71
81
  def initialize: (
72
82
  cache_write_tokens: Integer,
73
- cached_tokens: Integer
83
+ cached_tokens: Integer,
84
+ ?cache_write_tokens_details: OpenAI::Responses::ResponseUsage::InputTokensDetails::CacheWriteTokensDetails
74
85
  ) -> void
75
86
 
76
87
  def to_hash: -> {
77
88
  cache_write_tokens: Integer,
78
- cached_tokens: Integer
89
+ cached_tokens: Integer,
90
+ ?cache_write_tokens_details: OpenAI::Responses::ResponseUsage::InputTokensDetails::CacheWriteTokensDetails
79
91
  }
92
+
93
+ type cache_write_tokens_details =
94
+ { :ttl_12h_tokens => Integer, :ttl_30m_tokens => Integer }
95
+
96
+ class CacheWriteTokensDetails < OpenAI::Internal::Type::BaseModel
97
+ # The number of input tokens written with 12-hour retention.
98
+ attr_accessor ttl_12h_tokens: Integer
99
+
100
+ # The number of input tokens written with 30-minute retention.
101
+ attr_accessor ttl_30m_tokens: Integer
102
+
103
+ # @param ttl_12h_tokens
104
+ # The number of input tokens written with 12-hour retention.
105
+ # @param ttl_30m_tokens
106
+ # The number of input tokens written with 30-minute retention.
107
+ def initialize: (
108
+ ttl_12h_tokens: Integer,
109
+ ttl_30m_tokens: Integer
110
+ ) -> void
111
+
112
+ def to_hash: -> {
113
+ :ttl_12h_tokens => Integer,
114
+ :ttl_30m_tokens => Integer
115
+ }
116
+ end
80
117
  end
81
118
 
82
119
  type output_tokens_details = { reasoning_tokens: Integer }
@@ -16,6 +16,7 @@ module OpenAI
16
16
  ?context_management: ::Array[OpenAI::Responses::ResponsesClientEvent::ResponseCreate::ContextManagement]?,
17
17
  ?conversation: OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::conversation?,
18
18
  ?generate: bool,
19
+ ?image: OpenAI::Responses::ResponsesClientEvent::ResponseCreate::Image,
19
20
  ?include: ::Array[OpenAI::Models::Responses::response_includable]?,
20
21
  ?input: OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::input,
21
22
  ?instructions: String?,
@@ -82,6 +83,14 @@ module OpenAI
82
83
  # used as previous_response_id on a later turn.
83
84
  def generate=: (bool) -> bool
84
85
 
86
+ # Request level image options.
87
+ attr_reader image: OpenAI::Responses::ResponsesClientEvent::ResponseCreate::Image?
88
+
89
+ # Request level image options.
90
+ def image=: (
91
+ OpenAI::Responses::ResponsesClientEvent::ResponseCreate::Image
92
+ ) -> OpenAI::Responses::ResponsesClientEvent::ResponseCreate::Image
93
+
85
94
  # Specify additional output data to include in the model response. Currently
86
95
  # supported values are:
87
96
  #
@@ -195,7 +204,7 @@ module OpenAI
195
204
  # request can write up to four breakpoints. For cache matching, OpenAI considers
196
205
  # up to the latest 80 breakpoints in the conversation, without a content-block
197
206
  # lookback limit. Set `mode` to `explicit` to disable the implicit breakpoint. The
198
- # `ttl` defaults to `30m`, which is currently the only supported value. See the
207
+ # `ttl` defaults to `30m`. Supported lifetimes depend on the API. See the
199
208
  # [prompt caching guide](https://developers.openai.com/api/docs/guides/prompt-caching)
200
209
  # for current details.
201
210
  attr_reader prompt_cache_options: OpenAI::Responses::ResponsesClientEvent::ResponseCreate::PromptCacheOptions?
@@ -206,7 +215,7 @@ module OpenAI
206
215
  # request can write up to four breakpoints. For cache matching, OpenAI considers
207
216
  # up to the latest 80 breakpoints in the conversation, without a content-block
208
217
  # lookback limit. Set `mode` to `explicit` to disable the implicit breakpoint. The
209
- # `ttl` defaults to `30m`, which is currently the only supported value. See the
218
+ # `ttl` defaults to `30m`. Supported lifetimes depend on the API. See the
210
219
  # [prompt caching guide](https://developers.openai.com/api/docs/guides/prompt-caching)
211
220
  # for current details.
212
221
  def prompt_cache_options=: (
@@ -434,6 +443,8 @@ module OpenAI
434
443
  # Whether to generate output for this response. Defaults to true when omitted. Set
435
444
  # to false to prepare request state without model output; the response ID can be
436
445
  # used as previous_response_id on a later turn.
446
+ # @param image
447
+ # Request level image options.
437
448
  # @param include
438
449
  # Specify additional output data to include in the model response. Currently
439
450
  # supported values are:
@@ -514,7 +525,7 @@ module OpenAI
514
525
  # request can write up to four breakpoints. For cache matching, OpenAI considers
515
526
  # up to the latest 80 breakpoints in the conversation, without a content-block
516
527
  # lookback limit. Set `mode` to `explicit` to disable the implicit breakpoint. The
517
- # `ttl` defaults to `30m`, which is currently the only supported value. See the
528
+ # `ttl` defaults to `30m`. Supported lifetimes depend on the API. See the
518
529
  # [prompt caching guide](https://developers.openai.com/api/docs/guides/prompt-caching)
519
530
  # for current details.
520
531
  # @param prompt_cache_retention
@@ -660,6 +671,7 @@ module OpenAI
660
671
  ?context_management: ::Array[OpenAI::Responses::ResponsesClientEvent::ResponseCreate::ContextManagement]?,
661
672
  ?conversation: OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::conversation?,
662
673
  ?generate: bool,
674
+ ?image: OpenAI::Responses::ResponsesClientEvent::ResponseCreate::Image,
663
675
  ?include: ::Array[OpenAI::Models::Responses::response_includable]?,
664
676
  ?input: OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::input,
665
677
  ?instructions: String?,
@@ -699,6 +711,7 @@ module OpenAI
699
711
  ?context_management: ::Array[OpenAI::Responses::ResponsesClientEvent::ResponseCreate::ContextManagement]?,
700
712
  ?conversation: OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::conversation?,
701
713
  ?generate: bool,
714
+ ?image: OpenAI::Responses::ResponsesClientEvent::ResponseCreate::Image,
702
715
  ?include: ::Array[OpenAI::Models::Responses::response_includable]?,
703
716
  ?input: OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::input,
704
717
  ?instructions: String?,
@@ -822,6 +835,49 @@ module OpenAI
822
835
  def self?.variants: -> ::Array[OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::conversation]
823
836
  end
824
837
 
838
+ type image =
839
+ {
840
+ ?context_compression: OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::Image::context_compression
841
+ }
842
+
843
+ class Image < OpenAI::Internal::Type::BaseModel
844
+ # Controls image context optimization. Defaults to `auto`, which uses the model,
845
+ # transport, and input to select a policy. Use `enabled` to require compression
846
+ # support or `disabled` to turn it off.
847
+ attr_reader context_compression: OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::Image::context_compression?
848
+
849
+ # Controls image context optimization. Defaults to `auto`, which uses the model,
850
+ # transport, and input to select a policy. Use `enabled` to require compression
851
+ # support or `disabled` to turn it off.
852
+ def context_compression=: (
853
+ OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::Image::context_compression
854
+ ) -> OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::Image::context_compression
855
+
856
+ # @param context_compression
857
+ # Controls image context optimization. Defaults to `auto`, which uses the model,
858
+ # transport, and input to select a policy. Use `enabled` to require compression
859
+ # support or `disabled` to turn it off.
860
+ def initialize: (
861
+ ?context_compression: OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::Image::context_compression
862
+ ) -> void
863
+
864
+ def to_hash: -> {
865
+ ?context_compression: OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::Image::context_compression
866
+ }
867
+
868
+ type context_compression = :auto | :enabled | :disabled
869
+
870
+ module ContextCompression
871
+ extend OpenAI::Internal::Type::Enum
872
+
873
+ AUTO: :auto
874
+ ENABLED: :enabled
875
+ DISABLED: :disabled
876
+
877
+ def self?.values: -> ::Array[OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::Image::context_compression]
878
+ end
879
+ end
880
+
825
881
  type input = String | OpenAI::Models::Responses::response_input
826
882
 
827
883
  module Input
@@ -984,13 +1040,13 @@ module OpenAI
984
1040
  def prewarm=: (bool) -> bool
985
1041
 
986
1042
  # The minimum lifetime applied to every implicit and explicit cache breakpoint
987
- # written by the request. Defaults to `30m`, which is currently the only supported
988
- # value. The backend may retain cache entries for longer.
1043
+ # written by the request. Supported values are `30m` (the default) and `12h`. The
1044
+ # backend may retain cache entries for longer.
989
1045
  attr_reader ttl: OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::PromptCacheOptions::ttl?
990
1046
 
991
1047
  # The minimum lifetime applied to every implicit and explicit cache breakpoint
992
- # written by the request. Defaults to `30m`, which is currently the only supported
993
- # value. The backend may retain cache entries for longer.
1048
+ # written by the request. Supported values are `30m` (the default) and `12h`. The
1049
+ # backend may retain cache entries for longer.
994
1050
  def ttl=: (
995
1051
  OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::PromptCacheOptions::ttl
996
1052
  ) -> OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::PromptCacheOptions::ttl
@@ -1010,8 +1066,8 @@ module OpenAI
1010
1066
  # set to `true`, overrides the `generate` field to `false`.
1011
1067
  # @param ttl
1012
1068
  # The minimum lifetime applied to every implicit and explicit cache breakpoint
1013
- # written by the request. Defaults to `30m`, which is currently the only supported
1014
- # value. The backend may retain cache entries for longer.
1069
+ # written by the request. Supported values are `30m` (the default) and `12h`. The
1070
+ # backend may retain cache entries for longer.
1015
1071
  def initialize: (
1016
1072
  ?comparison_response_id: String?,
1017
1073
  ?mode: OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::PromptCacheOptions::mode,
@@ -1037,12 +1093,13 @@ module OpenAI
1037
1093
  def self?.values: -> ::Array[OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::PromptCacheOptions::mode]
1038
1094
  end
1039
1095
 
1040
- type ttl = :"30m"
1096
+ type ttl = :"30m" | :"12h"
1041
1097
 
1042
1098
  module Ttl
1043
1099
  extend OpenAI::Internal::Type::Enum
1044
1100
 
1045
1101
  TTL_30M: :"30m"
1102
+ TTL_12H: :"12h"
1046
1103
 
1047
1104
  def self?.values: -> ::Array[OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::PromptCacheOptions::ttl]
1048
1105
  end