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
@@ -633,6 +633,29 @@ module OpenAI
633
633
  # @return [Symbol, OpenAI::Models::Responses::Tool::ImageGeneration::Background, nil]
634
634
  optional :background, enum: -> { OpenAI::Responses::Tool::ImageGeneration::Background }
635
635
 
636
+ # @!attribute complexity
637
+ # Computation spent planning the image, independently of rendering quality.
638
+ # Overrides the outer response's `reasoning.effort` for image generation. When
639
+ # omitted, inherits a supported outer reasoning effort or uses the image model's
640
+ # configured default. For SVG output, controls the reference image, not the SVG
641
+ # author's reasoning.
642
+ #
643
+ # @return [Symbol, OpenAI::Models::Responses::Tool::ImageGeneration::Complexity, nil]
644
+ optional :complexity, enum: -> { OpenAI::Responses::Tool::ImageGeneration::Complexity }
645
+
646
+ # @!attribute frame_count
647
+ # Number of GIF frames. Requires `output_format` to be `gif`. Default: 9.
648
+ #
649
+ # @return [Integer, nil]
650
+ optional :frame_count, Integer
651
+
652
+ # @!attribute frame_duration_ms
653
+ # Duration of each GIF frame in milliseconds, rounded to 10 ms. Requires
654
+ # `output_format` to be `gif`. Default: 200.
655
+ #
656
+ # @return [Integer, nil]
657
+ optional :frame_duration_ms, Integer
658
+
636
659
  # @!attribute input_fidelity
637
660
  # Control how much effort the model will exert to match the style and features,
638
661
  # especially facial features, of input images. Supports `high` and `low` on
@@ -659,8 +682,8 @@ module OpenAI
659
682
  # The image generation model to use. One of `gpt-image-1-mini`, `gpt-image-1.5`,
660
683
  # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
661
684
  # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
662
- # `gpt-image-2.5-flare-2026-09-08`, or `chatgpt-image-latest`. Default:
663
- # `gpt-image-2`.
685
+ # `gpt-image-2.5-flare-2026-09-08`, `gpt-image-2.6-sunburst`,
686
+ # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default: `gpt-image-2`.
664
687
  #
665
688
  # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
666
689
  # `gpt-image-2.5-flare` instead.
@@ -681,8 +704,12 @@ module OpenAI
681
704
  optional :output_compression, Integer
682
705
 
683
706
  # @!attribute output_format
684
- # The output format of the generated image. One of `png`, `webp`, or `jpeg`.
685
- # Default: `png`.
707
+ # The output format of the generated image. One of `png`, `webp`, `jpeg`, `gif`,
708
+ # or `svg`. Default: `png`. GIF and SVG output require a model that supports the
709
+ # selected format. GIF output does not support partial image streaming
710
+ # (`partial_images` greater than `0`), `input_image_mask`, or custom
711
+ # `output_compression`. Responses lifecycle events can still be streamed for GIF
712
+ # output.
686
713
  #
687
714
  # @return [Symbol, OpenAI::Models::Responses::Tool::ImageGeneration::OutputFormat, nil]
688
715
  optional :output_format, enum: -> { OpenAI::Responses::Tool::ImageGeneration::OutputFormat }
@@ -718,7 +745,16 @@ module OpenAI
718
745
  # @return [String, Symbol, OpenAI::Models::Responses::Tool::ImageGeneration::Size, nil]
719
746
  optional :size, union: -> { OpenAI::Responses::Tool::ImageGeneration::Size }
720
747
 
721
- # @!method initialize(action: nil, background: nil, input_fidelity: nil, input_image_mask: nil, model: nil, moderation: nil, output_compression: nil, output_format: nil, partial_images: nil, quality: nil, size: nil, type: :image_generation)
748
+ # @!attribute svg
749
+ # SVG author model settings. Requires `output_format` to be `svg`. When SVG model
750
+ # selection is enabled, omitting this object uses the outer response model.
751
+ # Otherwise, the default SVG author is used and explicit model overrides are
752
+ # unavailable.
753
+ #
754
+ # @return [OpenAI::Models::Responses::Tool::ImageGeneration::Svg, nil]
755
+ optional :svg, -> { OpenAI::Responses::Tool::ImageGeneration::Svg }
756
+
757
+ # @!method initialize(action: nil, background: nil, complexity: nil, frame_count: nil, frame_duration_ms: nil, input_fidelity: nil, input_image_mask: nil, model: nil, moderation: nil, output_compression: nil, output_format: nil, partial_images: nil, quality: nil, size: nil, svg: nil, type: :image_generation)
722
758
  # A tool that generates images using the GPT image models.
723
759
  #
724
760
  # @param action [Symbol, OpenAI::Models::Responses::Tool::ImageGeneration::Action]
@@ -735,6 +771,20 @@ module OpenAI
735
771
  # `gpt-image-2-2026-04-21`, this support is in preview. When using `transparent`,
736
772
  # set the output format to `png` or `webp`.
737
773
  #
774
+ # @param complexity [Symbol, OpenAI::Models::Responses::Tool::ImageGeneration::Complexity]
775
+ # Computation spent planning the image, independently of rendering quality.
776
+ # Overrides the outer response's `reasoning.effort` for image generation. When
777
+ # omitted, inherits a supported outer reasoning effort or uses the image model's
778
+ # configured default. For SVG output, controls the reference image, not the SVG
779
+ # author's reasoning.
780
+ #
781
+ # @param frame_count [Integer]
782
+ # Number of GIF frames. Requires `output_format` to be `gif`. Default: 9.
783
+ #
784
+ # @param frame_duration_ms [Integer]
785
+ # Duration of each GIF frame in milliseconds, rounded to 10 ms. Requires
786
+ # `output_format` to be `gif`. Default: 200.
787
+ #
738
788
  # @param input_fidelity [Symbol, OpenAI::Models::Responses::Tool::ImageGeneration::InputFidelity, nil]
739
789
  # Control how much effort the model will exert to match the style and features,
740
790
  # especially facial features, of input images. Supports `high` and `low` on
@@ -749,8 +799,8 @@ module OpenAI
749
799
  # The image generation model to use. One of `gpt-image-1-mini`, `gpt-image-1.5`,
750
800
  # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
751
801
  # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
752
- # `gpt-image-2.5-flare-2026-09-08`, or `chatgpt-image-latest`. Default:
753
- # `gpt-image-2`.
802
+ # `gpt-image-2.5-flare-2026-09-08`, `gpt-image-2.6-sunburst`,
803
+ # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default: `gpt-image-2`.
754
804
  #
755
805
  # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
756
806
  # `gpt-image-2.5-flare` instead.
@@ -762,8 +812,12 @@ module OpenAI
762
812
  # Compression level for the output image. Default: 100.
763
813
  #
764
814
  # @param output_format [Symbol, OpenAI::Models::Responses::Tool::ImageGeneration::OutputFormat]
765
- # The output format of the generated image. One of `png`, `webp`, or `jpeg`.
766
- # Default: `png`.
815
+ # The output format of the generated image. One of `png`, `webp`, `jpeg`, `gif`,
816
+ # or `svg`. Default: `png`. GIF and SVG output require a model that supports the
817
+ # selected format. GIF output does not support partial image streaming
818
+ # (`partial_images` greater than `0`), `input_image_mask`, or custom
819
+ # `output_compression`. Responses lifecycle events can still be streamed for GIF
820
+ # output.
767
821
  #
768
822
  # @param partial_images [Integer]
769
823
  # Number of partial images to generate in streaming mode, from 0 (default value)
@@ -787,6 +841,12 @@ module OpenAI
787
841
  # `1024x1024`, `1536x1024`, and `1024x1536` are supported by the GPT image models;
788
842
  # `auto` is supported for models that allow automatic sizing.
789
843
  #
844
+ # @param svg [OpenAI::Models::Responses::Tool::ImageGeneration::Svg]
845
+ # SVG author model settings. Requires `output_format` to be `svg`. When SVG model
846
+ # selection is enabled, omitting this object uses the outer response model.
847
+ # Otherwise, the default SVG author is used and explicit model overrides are
848
+ # unavailable.
849
+ #
790
850
  # @param type [Symbol, :image_generation]
791
851
  # The type of the image generation tool. Always `image_generation`.
792
852
 
@@ -826,6 +886,24 @@ module OpenAI
826
886
  # @return [Array<Symbol>]
827
887
  end
828
888
 
889
+ # Computation spent planning the image, independently of rendering quality.
890
+ # Overrides the outer response's `reasoning.effort` for image generation. When
891
+ # omitted, inherits a supported outer reasoning effort or uses the image model's
892
+ # configured default. For SVG output, controls the reference image, not the SVG
893
+ # author's reasoning.
894
+ #
895
+ # @see OpenAI::Models::Responses::Tool::ImageGeneration#complexity
896
+ module Complexity
897
+ extend OpenAI::Internal::Type::Enum
898
+
899
+ LOW = :low
900
+ MEDIUM = :medium
901
+ HIGH = :high
902
+
903
+ # @!method self.values
904
+ # @return [Array<Symbol>]
905
+ end
906
+
829
907
  # Control how much effort the model will exert to match the style and features,
830
908
  # especially facial features, of input images. Supports `high` and `low` on
831
909
  # `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For `gpt-image-2`, omit
@@ -870,8 +948,8 @@ module OpenAI
870
948
  # The image generation model to use. One of `gpt-image-1-mini`, `gpt-image-1.5`,
871
949
  # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
872
950
  # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
873
- # `gpt-image-2.5-flare-2026-09-08`, or `chatgpt-image-latest`. Default:
874
- # `gpt-image-2`.
951
+ # `gpt-image-2.5-flare-2026-09-08`, `gpt-image-2.6-sunburst`,
952
+ # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default: `gpt-image-2`.
875
953
  #
876
954
  # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
877
955
  # `gpt-image-2.5-flare` instead.
@@ -902,6 +980,10 @@ module OpenAI
902
980
  const: -> { OpenAI::Models::Responses::Tool::ImageGeneration::Model::GPT_IMAGE_2_5_FLARE_2026_09_08 }
903
981
  )
904
982
 
983
+ variant const: -> { OpenAI::Models::Responses::Tool::ImageGeneration::Model::GPT_IMAGE_2_6_SUNBURST }
984
+
985
+ variant const: -> { OpenAI::Models::Responses::Tool::ImageGeneration::Model::GPT_IMAGE_2_6_FLARE }
986
+
905
987
  variant const: -> { OpenAI::Models::Responses::Tool::ImageGeneration::Model::GPT_IMAGE_1_5 }
906
988
 
907
989
  variant const: -> { OpenAI::Models::Responses::Tool::ImageGeneration::Model::CHATGPT_IMAGE_LATEST }
@@ -925,6 +1007,8 @@ module OpenAI
925
1007
  GPT_IMAGE_2_5_SUNBURST_2026_09_08 = :"gpt-image-2.5-sunburst-2026-09-08"
926
1008
  GPT_IMAGE_2_5_FLARE = :"gpt-image-2.5-flare"
927
1009
  GPT_IMAGE_2_5_FLARE_2026_09_08 = :"gpt-image-2.5-flare-2026-09-08"
1010
+ GPT_IMAGE_2_6_SUNBURST = :"gpt-image-2.6-sunburst"
1011
+ GPT_IMAGE_2_6_FLARE = :"gpt-image-2.6-flare"
928
1012
  GPT_IMAGE_1_5 = :"gpt-image-1.5"
929
1013
  CHATGPT_IMAGE_LATEST = :"chatgpt-image-latest"
930
1014
 
@@ -944,8 +1028,12 @@ module OpenAI
944
1028
  # @return [Array<Symbol>]
945
1029
  end
946
1030
 
947
- # The output format of the generated image. One of `png`, `webp`, or `jpeg`.
948
- # Default: `png`.
1031
+ # The output format of the generated image. One of `png`, `webp`, `jpeg`, `gif`,
1032
+ # or `svg`. Default: `png`. GIF and SVG output require a model that supports the
1033
+ # selected format. GIF output does not support partial image streaming
1034
+ # (`partial_images` greater than `0`), `input_image_mask`, or custom
1035
+ # `output_compression`. Responses lifecycle events can still be streamed for GIF
1036
+ # output.
949
1037
  #
950
1038
  # @see OpenAI::Models::Responses::Tool::ImageGeneration#output_format
951
1039
  module OutputFormat
@@ -954,6 +1042,8 @@ module OpenAI
954
1042
  PNG = :png
955
1043
  WEBP = :webp
956
1044
  JPEG = :jpeg
1045
+ GIF = :gif
1046
+ SVG = :svg
957
1047
 
958
1048
  # @!method self.values
959
1049
  # @return [Array<Symbol>]
@@ -1020,6 +1110,67 @@ module OpenAI
1020
1110
 
1021
1111
  # @!endgroup
1022
1112
  end
1113
+
1114
+ # @see OpenAI::Models::Responses::Tool::ImageGeneration#svg
1115
+ class Svg < OpenAI::Internal::Type::BaseModel
1116
+ # @!attribute model
1117
+ #
1118
+ # @return [String, nil]
1119
+ optional :model, String
1120
+
1121
+ # @!attribute reasoning
1122
+ # Reasoning effort for SVG authoring. When omitted, uses the author model's
1123
+ # default in both Images and Responses.
1124
+ #
1125
+ # @return [OpenAI::Models::Responses::Tool::ImageGeneration::Svg::Reasoning, nil]
1126
+ optional :reasoning, -> { OpenAI::Responses::Tool::ImageGeneration::Svg::Reasoning }, nil?: true
1127
+
1128
+ # @!method initialize(model: nil, reasoning: nil)
1129
+ # SVG author model settings. Requires `output_format` to be `svg`. When SVG model
1130
+ # selection is enabled, omitting this object uses the outer response model.
1131
+ # Otherwise, the default SVG author is used and explicit model overrides are
1132
+ # unavailable.
1133
+ #
1134
+ # @param model [String]
1135
+ #
1136
+ # @param reasoning [OpenAI::Models::Responses::Tool::ImageGeneration::Svg::Reasoning, nil]
1137
+ # Reasoning effort for SVG authoring. When omitted, uses the author model's
1138
+ # default in both Images and Responses.
1139
+
1140
+ # @see OpenAI::Models::Responses::Tool::ImageGeneration::Svg#reasoning
1141
+ class Reasoning < OpenAI::Internal::Type::BaseModel
1142
+ # @!attribute effort
1143
+ # Controls how much effort the model should spend on reasoning for this request.
1144
+ #
1145
+ # @return [Symbol, OpenAI::Models::Responses::Tool::ImageGeneration::Svg::Reasoning::Effort, nil]
1146
+ optional :effort, enum: -> { OpenAI::Responses::Tool::ImageGeneration::Svg::Reasoning::Effort }
1147
+
1148
+ # @!method initialize(effort: nil)
1149
+ # Reasoning effort for SVG authoring. When omitted, uses the author model's
1150
+ # default in both Images and Responses.
1151
+ #
1152
+ # @param effort [Symbol, OpenAI::Models::Responses::Tool::ImageGeneration::Svg::Reasoning::Effort]
1153
+ # Controls how much effort the model should spend on reasoning for this request.
1154
+
1155
+ # Controls how much effort the model should spend on reasoning for this request.
1156
+ #
1157
+ # @see OpenAI::Models::Responses::Tool::ImageGeneration::Svg::Reasoning#effort
1158
+ module Effort
1159
+ extend OpenAI::Internal::Type::Enum
1160
+
1161
+ NONE = :none
1162
+ MINIMAL = :minimal
1163
+ LOW = :low
1164
+ MEDIUM = :medium
1165
+ HIGH = :high
1166
+ XHIGH = :xhigh
1167
+ MAX = :max
1168
+
1169
+ # @!method self.values
1170
+ # @return [Array<Symbol>]
1171
+ end
1172
+ end
1173
+ end
1023
1174
  end
1024
1175
 
1025
1176
  class LocalShell < OpenAI::Internal::Type::BaseModel
@@ -76,6 +76,7 @@ module OpenAI
76
76
  GPT_DAYBREAK_RED_LATEST = :"gpt-daybreak-red-latest"
77
77
  GPT_5_6_CYBER = :"gpt-5.6-cyber"
78
78
  GPT_ROSALIND_RESEARCH = :"gpt-rosalind-research"
79
+ GPT_6_ROSALIND = :"gpt-6-rosalind"
79
80
 
80
81
  # @!method self.values
81
82
  # @return [Array<Symbol>]
@@ -0,0 +1,77 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Resources
5
+ class Admin
6
+ class Organization
7
+ class Projects
8
+ class ServiceTierSettings
9
+ # Retrieve the configured default and enabled service tiers for a project.
10
+ #
11
+ # @overload retrieve(project_id, request_options: {})
12
+ #
13
+ # @param project_id [String]
14
+ # The ID of the project
15
+ #
16
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
17
+ #
18
+ # @return [OpenAI::Models::Admin::Organization::Projects::ProjectServiceTierSettings]
19
+ #
20
+ # @see OpenAI::Models::Admin::Organization::Projects::ServiceTierSettingRetrieveParams
21
+ def retrieve(project_id, params = {})
22
+ @client.request(
23
+ method: :get,
24
+ path: ["organization/projects/%1$s/service_tier_settings", project_id],
25
+ model: OpenAI::Admin::Organization::Projects::ProjectServiceTierSettings,
26
+ security: {admin_api_key_auth: true},
27
+ options: params[:request_options]
28
+ )
29
+ end
30
+
31
+ # Update the default or enabled service tiers atomically. Supply at least one
32
+ # field. Omitted fields keep their current values.
33
+ #
34
+ # @overload update(project_id, default: nil, enabled_tiers: nil, request_options: {})
35
+ #
36
+ # @param project_id [String]
37
+ # The ID of the project
38
+ #
39
+ # @param default [Symbol, OpenAI::Models::Admin::Organization::Projects::ServiceTierSettingUpdateParams::Default]
40
+ # Default tier for requests that omit service_tier or use auto.
41
+ #
42
+ # @param enabled_tiers [Symbol, :all, Array<Symbol, OpenAI::Models::Admin::Organization::Projects::ProjectOptionalServiceTier>]
43
+ # Additional service tiers enabled for this project. "all" includes future tiers.
44
+ # An empty array allows only Standard. Organization policy and eligibility still
45
+ # apply.
46
+ #
47
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
48
+ #
49
+ # @return [OpenAI::Models::Admin::Organization::Projects::ProjectServiceTierSettings]
50
+ #
51
+ # @see OpenAI::Models::Admin::Organization::Projects::ServiceTierSettingUpdateParams
52
+ def update(project_id, params = {})
53
+ parsed, options = OpenAI::Admin::Organization::Projects::ServiceTierSettingUpdateParams.dump_request(
54
+ params
55
+ )
56
+ @client.request(
57
+ method: :post,
58
+ path: ["organization/projects/%1$s/service_tier_settings", project_id],
59
+ body: parsed,
60
+ model: OpenAI::Admin::Organization::Projects::ProjectServiceTierSettings,
61
+ security: {admin_api_key_auth: true},
62
+ options: options
63
+ )
64
+ end
65
+
66
+ # @api private
67
+ #
68
+ # @param client [OpenAI::Client]
69
+ def initialize(client:)
70
+ @client = client
71
+ end
72
+ end
73
+ end
74
+ end
75
+ end
76
+ end
77
+ end
@@ -20,6 +20,9 @@ module OpenAI
20
20
  # @return [OpenAI::Resources::Admin::Organization::Projects::ModelPermissions]
21
21
  attr_reader :model_permissions
22
22
 
23
+ # @return [OpenAI::Resources::Admin::Organization::Projects::ServiceTierSettings]
24
+ attr_reader :service_tier_settings
25
+
23
26
  # @return [OpenAI::Resources::Admin::Organization::Projects::HostedToolPermissions]
24
27
  attr_reader :hosted_tool_permissions
25
28
 
@@ -209,6 +212,9 @@ module OpenAI
209
212
  @api_keys = OpenAI::Resources::Admin::Organization::Projects::APIKeys.new(client: client)
210
213
  @rate_limits = OpenAI::Resources::Admin::Organization::Projects::RateLimits.new(client: client)
211
214
  @model_permissions = OpenAI::Resources::Admin::Organization::Projects::ModelPermissions.new(client: client)
215
+ @service_tier_settings = OpenAI::Resources::Admin::Organization::Projects::ServiceTierSettings.new(
216
+ client: client
217
+ )
212
218
  @hosted_tool_permissions = OpenAI::Resources::Admin::Organization::Projects::HostedToolPermissions.new(
213
219
  client: client
214
220
  )
@@ -32,6 +32,9 @@ module OpenAI
32
32
  # @return [OpenAI::Resources::Admin::Organization::ExternalKeys]
33
33
  attr_reader :external_keys
34
34
 
35
+ # @return [OpenAI::Resources::Admin::Organization::WorkloadIdentityProviders]
36
+ attr_reader :workload_identity_providers
37
+
35
38
  # @return [OpenAI::Resources::Admin::Organization::ExternalStorage]
36
39
  attr_reader :external_storage
37
40
 
@@ -47,9 +50,6 @@ module OpenAI
47
50
  # @return [OpenAI::Resources::Admin::Organization::Projects]
48
51
  attr_reader :projects
49
52
 
50
- # @return [OpenAI::Resources::Admin::Organization::WorkloadIdentityProviders]
51
- attr_reader :workload_identity_providers
52
-
53
53
  # @api private
54
54
  #
55
55
  # @param client [OpenAI::Client]
@@ -64,14 +64,14 @@ module OpenAI
64
64
  @roles = OpenAI::Resources::Admin::Organization::Roles.new(client: client)
65
65
  @data_retention = OpenAI::Resources::Admin::Organization::DataRetention.new(client: client)
66
66
  @external_keys = OpenAI::Resources::Admin::Organization::ExternalKeys.new(client: client)
67
+ @workload_identity_providers = OpenAI::Resources::Admin::Organization::WorkloadIdentityProviders.new(
68
+ client: client
69
+ )
67
70
  @external_storage = OpenAI::Resources::Admin::Organization::ExternalStorage.new(client: client)
68
71
  @spend_limit = OpenAI::Resources::Admin::Organization::SpendLimit.new(client: client)
69
72
  @spend_alerts = OpenAI::Resources::Admin::Organization::SpendAlerts.new(client: client)
70
73
  @certificates = OpenAI::Resources::Admin::Organization::Certificates.new(client: client)
71
74
  @projects = OpenAI::Resources::Admin::Organization::Projects.new(client: client)
72
- @workload_identity_providers = OpenAI::Resources::Admin::Organization::WorkloadIdentityProviders.new(
73
- client: client
74
- )
75
75
  end
76
76
  end
77
77
  end
@@ -46,7 +46,7 @@ module OpenAI
46
46
  # [file search](https://developers.openai.com/api/docs/guides/tools-file-search)
47
47
  # to use your own data as input for the model's response.
48
48
  #
49
- # @overload create(access_programs: nil, background: nil, context_management: nil, conversation: nil, include: nil, input: nil, instructions: nil, max_output_tokens: nil, max_tool_calls: nil, metadata: nil, model: nil, moderation: nil, multi_agent: nil, parallel_tool_calls: nil, previous_response_id: nil, prompt: nil, prompt_cache_key: nil, prompt_cache_options: nil, prompt_cache_retention: nil, reasoning: nil, safety_identifier: nil, service_tier: nil, store: nil, stream_options: nil, temperature: nil, text: nil, tool_choice: nil, tools: nil, top_logprobs: nil, top_p: nil, truncation: nil, user: nil, betas: nil, request_options: {})
49
+ # @overload create(access_programs: nil, background: nil, context_management: nil, conversation: nil, image: nil, include: nil, input: nil, instructions: nil, max_output_tokens: nil, max_tool_calls: nil, metadata: nil, model: nil, moderation: nil, multi_agent: nil, parallel_tool_calls: nil, previous_response_id: nil, prompt: nil, prompt_cache_key: nil, prompt_cache_options: nil, prompt_cache_retention: nil, reasoning: nil, safety_identifier: nil, service_tier: nil, store: nil, stream_options: nil, temperature: nil, text: nil, tool_choice: nil, tools: nil, top_logprobs: nil, top_p: nil, truncation: nil, user: nil, betas: nil, request_options: {})
50
50
  #
51
51
  # @param access_programs [OpenAI::Models::Beta::ResponseCreateParams::AccessPrograms]
52
52
  # Body param: Domain-specific access programs to use for this request.
@@ -64,6 +64,9 @@ module OpenAI
64
64
  # items and output items from this response are automatically added to this
65
65
  # conversation after this response completes.
66
66
  #
67
+ # @param image [OpenAI::Models::Beta::ResponseCreateParams::Image]
68
+ # Body param: Request level image options.
69
+ #
67
70
  # @param include [Array<Symbol, OpenAI::Models::Beta::BetaResponseIncludable>, nil]
68
71
  # Body param: Specify additional output data to include in the model response.
69
72
  # Currently supported values are:
@@ -161,8 +164,8 @@ module OpenAI
161
164
  # `prompt_cache_breakpoint`. Each request can write up to four breakpoints. For
162
165
  # cache matching, OpenAI considers up to the latest 80 breakpoints in the
163
166
  # conversation, without a content-block lookback limit. Set `mode` to `explicit`
164
- # to disable the implicit breakpoint. The `ttl` defaults to `30m`, which is
165
- # currently the only supported value. See the
167
+ # to disable the implicit breakpoint. The `ttl` defaults to `30m`. Supported
168
+ # lifetimes depend on the API. See the
166
169
  # [prompt caching guide](https://developers.openai.com/api/docs/guides/prompt-caching)
167
170
  # for current details.
168
171
  #
@@ -347,7 +350,7 @@ module OpenAI
347
350
  # [file search](https://developers.openai.com/api/docs/guides/tools-file-search)
348
351
  # to use your own data as input for the model's response.
349
352
  #
350
- # @overload stream_raw(access_programs: nil, background: nil, context_management: nil, conversation: nil, include: nil, input: nil, instructions: nil, max_output_tokens: nil, max_tool_calls: nil, metadata: nil, model: nil, moderation: nil, multi_agent: nil, parallel_tool_calls: nil, previous_response_id: nil, prompt: nil, prompt_cache_key: nil, prompt_cache_options: nil, prompt_cache_retention: nil, reasoning: nil, safety_identifier: nil, service_tier: nil, store: nil, stream_options: nil, temperature: nil, text: nil, tool_choice: nil, tools: nil, top_logprobs: nil, top_p: nil, truncation: nil, user: nil, betas: nil, request_options: {})
353
+ # @overload stream_raw(access_programs: nil, background: nil, context_management: nil, conversation: nil, image: nil, include: nil, input: nil, instructions: nil, max_output_tokens: nil, max_tool_calls: nil, metadata: nil, model: nil, moderation: nil, multi_agent: nil, parallel_tool_calls: nil, previous_response_id: nil, prompt: nil, prompt_cache_key: nil, prompt_cache_options: nil, prompt_cache_retention: nil, reasoning: nil, safety_identifier: nil, service_tier: nil, store: nil, stream_options: nil, temperature: nil, text: nil, tool_choice: nil, tools: nil, top_logprobs: nil, top_p: nil, truncation: nil, user: nil, betas: nil, request_options: {})
351
354
  #
352
355
  # @param access_programs [OpenAI::Models::Beta::ResponseCreateParams::AccessPrograms]
353
356
  # Body param: Domain-specific access programs to use for this request.
@@ -365,6 +368,9 @@ module OpenAI
365
368
  # items and output items from this response are automatically added to this
366
369
  # conversation after this response completes.
367
370
  #
371
+ # @param image [OpenAI::Models::Beta::ResponseCreateParams::Image]
372
+ # Body param: Request level image options.
373
+ #
368
374
  # @param include [Array<Symbol, OpenAI::Models::Beta::BetaResponseIncludable>, nil]
369
375
  # Body param: Specify additional output data to include in the model response.
370
376
  # Currently supported values are:
@@ -462,8 +468,8 @@ module OpenAI
462
468
  # `prompt_cache_breakpoint`. Each request can write up to four breakpoints. For
463
469
  # cache matching, OpenAI considers up to the latest 80 breakpoints in the
464
470
  # conversation, without a content-block lookback limit. Set `mode` to `explicit`
465
- # to disable the implicit breakpoint. The `ttl` defaults to `30m`, which is
466
- # currently the only supported value. See the
471
+ # to disable the implicit breakpoint. The `ttl` defaults to `30m`. Supported
472
+ # lifetimes depend on the API. See the
467
473
  # [prompt caching guide](https://developers.openai.com/api/docs/guides/prompt-caching)
468
474
  # for current details.
469
475
  #
@@ -820,7 +826,7 @@ module OpenAI
820
826
  # For ZDR-compatible compaction details, see
821
827
  # [Compaction (advanced)](https://developers.openai.com/api/docs/guides/conversation-state#compaction-advanced).
822
828
  #
823
- # @overload compact(model:, input: nil, instructions: nil, previous_response_id: nil, prompt_cache_key: nil, prompt_cache_options: nil, prompt_cache_retention: nil, service_tier: nil, betas: nil, request_options: {})
829
+ # @overload compact(model:, image: nil, input: nil, instructions: nil, previous_response_id: nil, prompt_cache_key: nil, prompt_cache_options: nil, prompt_cache_retention: nil, service_tier: nil, betas: nil, request_options: {})
824
830
  #
825
831
  # @param model [Symbol, String, OpenAI::Models::Beta::ResponseCompactParams::Model, nil]
826
832
  # Body param: Model ID used to generate the response, like `gpt-6-astra`. OpenAI
@@ -829,6 +835,9 @@ module OpenAI
829
835
  # [model guide](https://developers.openai.com/api/docs/models) to browse and
830
836
  # compare available models.
831
837
  #
838
+ # @param image [OpenAI::Models::Beta::ResponseCompactParams::Image]
839
+ # Body param: Request level image options.
840
+ #
832
841
  # @param input [String, Array<OpenAI::Models::Beta::BetaEasyInputMessage, OpenAI::Models::Beta::BetaResponseInputItem::Message, OpenAI::Models::Beta::BetaResponseOutputMessage, OpenAI::Models::Beta::BetaResponseFileSearchToolCall, OpenAI::Models::Beta::BetaResponseComputerToolCall, OpenAI::Models::Beta::BetaResponseInputItem::ComputerCallOutput, OpenAI::Models::Beta::BetaResponseFunctionWebSearch, OpenAI::Models::Beta::BetaResponseFunctionToolCall, OpenAI::Models::Beta::BetaResponseInputItem::FunctionCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::AgentMessage, OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCall, OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::ToolSearchCall, OpenAI::Models::Beta::BetaResponseToolSearchOutputItemParam, OpenAI::Models::Beta::BetaResponseInputItem::AdditionalTools, OpenAI::Models::Beta::BetaResponseConfigurationUpdateItemParam, OpenAI::Models::Beta::BetaResponseReasoningItem, OpenAI::Models::Beta::BetaResponseCompactionItemParam, OpenAI::Models::Beta::BetaResponseInputItem::ImageGenerationCall, OpenAI::Models::Beta::BetaResponseCodeInterpreterToolCall, OpenAI::Models::Beta::BetaResponseInputItem::LocalShellCall, OpenAI::Models::Beta::BetaResponseInputItem::LocalShellCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::ShellCall, OpenAI::Models::Beta::BetaResponseInputItem::ShellCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::ApplyPatchCall, OpenAI::Models::Beta::BetaResponseInputItem::ApplyPatchCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::McpListTools, OpenAI::Models::Beta::BetaResponseInputItem::McpApprovalRequest, OpenAI::Models::Beta::BetaResponseInputItem::McpApprovalResponse, OpenAI::Models::Beta::BetaResponseInputItem::McpCall, OpenAI::Models::Beta::BetaResponseCustomToolCallOutput, OpenAI::Models::Beta::BetaResponseCustomToolCall, OpenAI::Models::Beta::BetaResponseInputItem::CompactionTrigger, OpenAI::Models::Beta::BetaResponseInputItem::ItemReference, OpenAI::Models::Beta::BetaResponseInputItem::Program, OpenAI::Models::Beta::BetaResponseInputItem::ProgramOutput>, nil]
833
842
  # Body param: Text, image, or file inputs to the model, used to generate a
834
843
  # response
@@ -855,8 +864,8 @@ module OpenAI
855
864
  # `prompt_cache_breakpoint`. Each request can write up to four breakpoints. For
856
865
  # cache matching, OpenAI considers up to the latest 80 breakpoints in the
857
866
  # conversation, without a content-block lookback limit. Set `mode` to `explicit`
858
- # to disable the implicit breakpoint. The `ttl` defaults to `30m`, which is
859
- # currently the only supported value. See the
867
+ # to disable the implicit breakpoint. The `ttl` defaults to `30m`. Supported
868
+ # lifetimes depend on the API. See the
860
869
  # [prompt caching guide](https://developers.openai.com/api/docs/guides/prompt-caching)
861
870
  # for current details.
862
871
  #
@@ -171,7 +171,7 @@ module OpenAI
171
171
  # request can write up to four breakpoints. For cache matching, OpenAI considers
172
172
  # up to the latest 80 breakpoints in the conversation, without a content-block
173
173
  # lookback limit. Set `mode` to `explicit` to disable the implicit breakpoint. The
174
- # `ttl` defaults to `30m`, which is currently the only supported value. See the
174
+ # `ttl` defaults to `30m`. Supported lifetimes depend on the API. See the
175
175
  # [prompt caching guide](https://developers.openai.com/api/docs/guides/prompt-caching)
176
176
  # for current details.
177
177
  #
@@ -508,7 +508,7 @@ module OpenAI
508
508
  # request can write up to four breakpoints. For cache matching, OpenAI considers
509
509
  # up to the latest 80 breakpoints in the conversation, without a content-block
510
510
  # lookback limit. Set `mode` to `explicit` to disable the implicit breakpoint. The
511
- # `ttl` defaults to `30m`, which is currently the only supported value. See the
511
+ # `ttl` defaults to `30m`. Supported lifetimes depend on the API. See the
512
512
  # [prompt caching guide](https://developers.openai.com/api/docs/guides/prompt-caching)
513
513
  # for current details.
514
514
  #