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
@@ -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
  #
@@ -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:
@@ -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
@@ -594,6 +594,9 @@ module OpenAI
594
594
  ?type: :image_generation,
595
595
  ?action: OpenAI::Models::Responses::Tool::ImageGeneration::action,
596
596
  ?background: OpenAI::Models::Responses::Tool::ImageGeneration::background,
597
+ ?complexity: OpenAI::Models::Responses::Tool::ImageGeneration::complexity,
598
+ ?frame_count: Integer,
599
+ ?frame_duration_ms: Integer,
597
600
  ?input_fidelity: OpenAI::Models::Responses::Tool::ImageGeneration::input_fidelity?,
598
601
  ?input_image_mask: OpenAI::Responses::Tool::ImageGeneration::InputImageMask,
599
602
  ?model: OpenAI::Models::Responses::Tool::ImageGeneration::model,
@@ -602,7 +605,8 @@ module OpenAI
602
605
  ?output_format: OpenAI::Models::Responses::Tool::ImageGeneration::output_format,
603
606
  ?partial_images: Integer,
604
607
  ?quality: OpenAI::Models::Responses::Tool::ImageGeneration::quality,
605
- ?size: OpenAI::Models::Responses::Tool::ImageGeneration::size
608
+ ?size: OpenAI::Models::Responses::Tool::ImageGeneration::size,
609
+ ?svg: OpenAI::Responses::Tool::ImageGeneration::Svg
606
610
  }
607
611
 
608
612
  class ImageGeneration < OpenAI::Internal::Type::BaseModel
@@ -641,6 +645,36 @@ module OpenAI
641
645
  OpenAI::Models::Responses::Tool::ImageGeneration::background
642
646
  ) -> OpenAI::Models::Responses::Tool::ImageGeneration::background
643
647
 
648
+ # Computation spent planning the image, independently of rendering quality.
649
+ # Overrides the outer response's `reasoning.effort` for image generation. When
650
+ # omitted, inherits a supported outer reasoning effort or uses the image model's
651
+ # configured default. For SVG output, controls the reference image, not the SVG
652
+ # author's reasoning.
653
+ attr_reader complexity: OpenAI::Models::Responses::Tool::ImageGeneration::complexity?
654
+
655
+ # Computation spent planning the image, independently of rendering quality.
656
+ # Overrides the outer response's `reasoning.effort` for image generation. When
657
+ # omitted, inherits a supported outer reasoning effort or uses the image model's
658
+ # configured default. For SVG output, controls the reference image, not the SVG
659
+ # author's reasoning.
660
+ def complexity=: (
661
+ OpenAI::Models::Responses::Tool::ImageGeneration::complexity
662
+ ) -> OpenAI::Models::Responses::Tool::ImageGeneration::complexity
663
+
664
+ # Number of GIF frames. Requires `output_format` to be `gif`. Default: 9.
665
+ attr_reader frame_count: Integer?
666
+
667
+ # Number of GIF frames. Requires `output_format` to be `gif`. Default: 9.
668
+ def frame_count=: (Integer) -> Integer
669
+
670
+ # Duration of each GIF frame in milliseconds, rounded to 10 ms. Requires
671
+ # `output_format` to be `gif`. Default: 200.
672
+ attr_reader frame_duration_ms: Integer?
673
+
674
+ # Duration of each GIF frame in milliseconds, rounded to 10 ms. Requires
675
+ # `output_format` to be `gif`. Default: 200.
676
+ def frame_duration_ms=: (Integer) -> Integer
677
+
644
678
  # Control how much effort the model will exert to match the style and features,
645
679
  # especially facial features, of input images. Supports `high` and `low` on
646
680
  # `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For `gpt-image-2`, omit
@@ -660,8 +694,8 @@ module OpenAI
660
694
  # The image generation model to use. One of `gpt-image-1-mini`, `gpt-image-1.5`,
661
695
  # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
662
696
  # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
663
- # `gpt-image-2.5-flare-2026-09-08`, or `chatgpt-image-latest`. Default:
664
- # `gpt-image-2`.
697
+ # `gpt-image-2.5-flare-2026-09-08`, `gpt-image-2.6-sunburst`,
698
+ # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default: `gpt-image-2`.
665
699
  #
666
700
  # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
667
701
  # `gpt-image-2.5-flare` instead.
@@ -670,8 +704,8 @@ module OpenAI
670
704
  # The image generation model to use. One of `gpt-image-1-mini`, `gpt-image-1.5`,
671
705
  # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
672
706
  # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
673
- # `gpt-image-2.5-flare-2026-09-08`, or `chatgpt-image-latest`. Default:
674
- # `gpt-image-2`.
707
+ # `gpt-image-2.5-flare-2026-09-08`, `gpt-image-2.6-sunburst`,
708
+ # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default: `gpt-image-2`.
675
709
  #
676
710
  # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
677
711
  # `gpt-image-2.5-flare` instead.
@@ -693,12 +727,20 @@ module OpenAI
693
727
  # Compression level for the output image. Default: 100.
694
728
  def output_compression=: (Integer) -> Integer
695
729
 
696
- # The output format of the generated image. One of `png`, `webp`, or `jpeg`.
697
- # Default: `png`.
730
+ # The output format of the generated image. One of `png`, `webp`, `jpeg`, `gif`,
731
+ # or `svg`. Default: `png`. GIF and SVG output require a model that supports the
732
+ # selected format. GIF output does not support partial image streaming
733
+ # (`partial_images` greater than `0`), `input_image_mask`, or custom
734
+ # `output_compression`. Responses lifecycle events can still be streamed for GIF
735
+ # output.
698
736
  attr_reader output_format: OpenAI::Models::Responses::Tool::ImageGeneration::output_format?
699
737
 
700
- # The output format of the generated image. One of `png`, `webp`, or `jpeg`.
701
- # Default: `png`.
738
+ # The output format of the generated image. One of `png`, `webp`, `jpeg`, `gif`,
739
+ # or `svg`. Default: `png`. GIF and SVG output require a model that supports the
740
+ # selected format. GIF output does not support partial image streaming
741
+ # (`partial_images` greater than `0`), `input_image_mask`, or custom
742
+ # `output_compression`. Responses lifecycle events can still be streamed for GIF
743
+ # output.
702
744
  def output_format=: (
703
745
  OpenAI::Models::Responses::Tool::ImageGeneration::output_format
704
746
  ) -> OpenAI::Models::Responses::Tool::ImageGeneration::output_format
@@ -751,6 +793,20 @@ module OpenAI
751
793
  OpenAI::Models::Responses::Tool::ImageGeneration::size
752
794
  ) -> OpenAI::Models::Responses::Tool::ImageGeneration::size
753
795
 
796
+ # SVG author model settings. Requires `output_format` to be `svg`. When SVG model
797
+ # selection is enabled, omitting this object uses the outer response model.
798
+ # Otherwise, the default SVG author is used and explicit model overrides are
799
+ # unavailable.
800
+ attr_reader svg: OpenAI::Responses::Tool::ImageGeneration::Svg?
801
+
802
+ # SVG author model settings. Requires `output_format` to be `svg`. When SVG model
803
+ # selection is enabled, omitting this object uses the outer response model.
804
+ # Otherwise, the default SVG author is used and explicit model overrides are
805
+ # unavailable.
806
+ def svg=: (
807
+ OpenAI::Responses::Tool::ImageGeneration::Svg
808
+ ) -> OpenAI::Responses::Tool::ImageGeneration::Svg
809
+
754
810
  # @param action
755
811
  # Whether to generate a new image or edit an existing image. Default: `auto`.
756
812
  # @param background
@@ -763,6 +819,17 @@ module OpenAI
763
819
  # backgrounds are available for supported GPT Image models. For `gpt-image-2` and
764
820
  # `gpt-image-2-2026-04-21`, this support is in preview. When using `transparent`,
765
821
  # set the output format to `png` or `webp`.
822
+ # @param complexity
823
+ # Computation spent planning the image, independently of rendering quality.
824
+ # Overrides the outer response's `reasoning.effort` for image generation. When
825
+ # omitted, inherits a supported outer reasoning effort or uses the image model's
826
+ # configured default. For SVG output, controls the reference image, not the SVG
827
+ # author's reasoning.
828
+ # @param frame_count
829
+ # Number of GIF frames. Requires `output_format` to be `gif`. Default: 9.
830
+ # @param frame_duration_ms
831
+ # Duration of each GIF frame in milliseconds, rounded to 10 ms. Requires
832
+ # `output_format` to be `gif`. Default: 200.
766
833
  # @param input_fidelity
767
834
  # Control how much effort the model will exert to match the style and features,
768
835
  # especially facial features, of input images. Supports `high` and `low` on
@@ -775,8 +842,8 @@ module OpenAI
775
842
  # The image generation model to use. One of `gpt-image-1-mini`, `gpt-image-1.5`,
776
843
  # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
777
844
  # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
778
- # `gpt-image-2.5-flare-2026-09-08`, or `chatgpt-image-latest`. Default:
779
- # `gpt-image-2`.
845
+ # `gpt-image-2.5-flare-2026-09-08`, `gpt-image-2.6-sunburst`,
846
+ # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default: `gpt-image-2`.
780
847
  #
781
848
  # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
782
849
  # `gpt-image-2.5-flare` instead.
@@ -785,8 +852,12 @@ module OpenAI
785
852
  # @param output_compression
786
853
  # Compression level for the output image. Default: 100.
787
854
  # @param output_format
788
- # The output format of the generated image. One of `png`, `webp`, or `jpeg`.
789
- # Default: `png`.
855
+ # The output format of the generated image. One of `png`, `webp`, `jpeg`, `gif`,
856
+ # or `svg`. Default: `png`. GIF and SVG output require a model that supports the
857
+ # selected format. GIF output does not support partial image streaming
858
+ # (`partial_images` greater than `0`), `input_image_mask`, or custom
859
+ # `output_compression`. Responses lifecycle events can still be streamed for GIF
860
+ # output.
790
861
  # @param partial_images
791
862
  # Number of partial images to generate in streaming mode, from 0 (default value)
792
863
  # to 3.
@@ -806,11 +877,19 @@ module OpenAI
806
877
  # satisfy the model's current pixel and edge limits. The standard sizes
807
878
  # `1024x1024`, `1536x1024`, and `1024x1536` are supported by the GPT image models;
808
879
  # `auto` is supported for models that allow automatic sizing.
880
+ # @param svg
881
+ # SVG author model settings. Requires `output_format` to be `svg`. When SVG model
882
+ # selection is enabled, omitting this object uses the outer response model.
883
+ # Otherwise, the default SVG author is used and explicit model overrides are
884
+ # unavailable.
809
885
  # @param type
810
886
  # The type of the image generation tool. Always `image_generation`.
811
887
  def initialize: (
812
888
  ?action: OpenAI::Models::Responses::Tool::ImageGeneration::action,
813
889
  ?background: OpenAI::Models::Responses::Tool::ImageGeneration::background,
890
+ ?complexity: OpenAI::Models::Responses::Tool::ImageGeneration::complexity,
891
+ ?frame_count: Integer,
892
+ ?frame_duration_ms: Integer,
814
893
  ?input_fidelity: OpenAI::Models::Responses::Tool::ImageGeneration::input_fidelity?,
815
894
  ?input_image_mask: OpenAI::Responses::Tool::ImageGeneration::InputImageMask,
816
895
  ?model: OpenAI::Models::Responses::Tool::ImageGeneration::model,
@@ -820,6 +899,7 @@ module OpenAI
820
899
  ?partial_images: Integer,
821
900
  ?quality: OpenAI::Models::Responses::Tool::ImageGeneration::quality,
822
901
  ?size: OpenAI::Models::Responses::Tool::ImageGeneration::size,
902
+ ?svg: OpenAI::Responses::Tool::ImageGeneration::Svg,
823
903
  ?type: :image_generation
824
904
  ) -> void
825
905
 
@@ -827,6 +907,9 @@ module OpenAI
827
907
  ?type: :image_generation,
828
908
  ?action: OpenAI::Models::Responses::Tool::ImageGeneration::action,
829
909
  ?background: OpenAI::Models::Responses::Tool::ImageGeneration::background,
910
+ ?complexity: OpenAI::Models::Responses::Tool::ImageGeneration::complexity,
911
+ ?frame_count: Integer,
912
+ ?frame_duration_ms: Integer,
830
913
  ?input_fidelity: OpenAI::Models::Responses::Tool::ImageGeneration::input_fidelity?,
831
914
  ?input_image_mask: OpenAI::Responses::Tool::ImageGeneration::InputImageMask,
832
915
  ?model: OpenAI::Models::Responses::Tool::ImageGeneration::model,
@@ -835,7 +918,8 @@ module OpenAI
835
918
  ?output_format: OpenAI::Models::Responses::Tool::ImageGeneration::output_format,
836
919
  ?partial_images: Integer,
837
920
  ?quality: OpenAI::Models::Responses::Tool::ImageGeneration::quality,
838
- ?size: OpenAI::Models::Responses::Tool::ImageGeneration::size
921
+ ?size: OpenAI::Models::Responses::Tool::ImageGeneration::size,
922
+ ?svg: OpenAI::Responses::Tool::ImageGeneration::Svg
839
923
  }
840
924
 
841
925
  type action = :generate | :edit | :auto
@@ -862,6 +946,18 @@ module OpenAI
862
946
  def self?.values: -> ::Array[OpenAI::Models::Responses::Tool::ImageGeneration::background]
863
947
  end
864
948
 
949
+ type complexity = :low | :medium | :high
950
+
951
+ module Complexity
952
+ extend OpenAI::Internal::Type::Enum
953
+
954
+ LOW: :low
955
+ MEDIUM: :medium
956
+ HIGH: :high
957
+
958
+ def self?.values: -> ::Array[OpenAI::Models::Responses::Tool::ImageGeneration::complexity]
959
+ end
960
+
865
961
  type input_fidelity = :high | :low
866
962
 
867
963
  module InputFidelity
@@ -907,6 +1003,8 @@ module OpenAI
907
1003
  | :"gpt-image-2.5-sunburst-2026-09-08"
908
1004
  | :"gpt-image-2.5-flare"
909
1005
  | :"gpt-image-2.5-flare-2026-09-08"
1006
+ | :"gpt-image-2.6-sunburst"
1007
+ | :"gpt-image-2.6-flare"
910
1008
  | :"gpt-image-1.5"
911
1009
  | :"chatgpt-image-latest"
912
1010
 
@@ -923,6 +1021,8 @@ module OpenAI
923
1021
  GPT_IMAGE_2_5_SUNBURST_2026_09_08: :"gpt-image-2.5-sunburst-2026-09-08"
924
1022
  GPT_IMAGE_2_5_FLARE: :"gpt-image-2.5-flare"
925
1023
  GPT_IMAGE_2_5_FLARE_2026_09_08: :"gpt-image-2.5-flare-2026-09-08"
1024
+ GPT_IMAGE_2_6_SUNBURST: :"gpt-image-2.6-sunburst"
1025
+ GPT_IMAGE_2_6_FLARE: :"gpt-image-2.6-flare"
926
1026
  GPT_IMAGE_1_5: :"gpt-image-1.5"
927
1027
  CHATGPT_IMAGE_LATEST: :"chatgpt-image-latest"
928
1028
  end
@@ -938,7 +1038,7 @@ module OpenAI
938
1038
  def self?.values: -> ::Array[OpenAI::Models::Responses::Tool::ImageGeneration::moderation]
939
1039
  end
940
1040
 
941
- type output_format = :png | :webp | :jpeg
1041
+ type output_format = :png | :webp | :jpeg | :gif | :svg
942
1042
 
943
1043
  module OutputFormat
944
1044
  extend OpenAI::Internal::Type::Enum
@@ -946,6 +1046,8 @@ module OpenAI
946
1046
  PNG: :png
947
1047
  WEBP: :webp
948
1048
  JPEG: :jpeg
1049
+ GIF: :gif
1050
+ SVG: :svg
949
1051
 
950
1052
  def self?.values: -> ::Array[OpenAI::Models::Responses::Tool::ImageGeneration::output_format]
951
1053
  end
@@ -978,6 +1080,77 @@ module OpenAI
978
1080
  SIZE_1536X1024: :"1536x1024"
979
1081
  AUTO: :auto
980
1082
  end
1083
+
1084
+ type svg =
1085
+ {
1086
+ ?model: String,
1087
+ ?reasoning: OpenAI::Responses::Tool::ImageGeneration::Svg::Reasoning?
1088
+ }
1089
+
1090
+ class Svg < OpenAI::Internal::Type::BaseModel
1091
+ attr_reader model: String?
1092
+
1093
+ def model=: (String) -> String
1094
+
1095
+ # Reasoning effort for SVG authoring. When omitted, uses the author model's
1096
+ # default in both Images and Responses.
1097
+ attr_accessor reasoning: OpenAI::Responses::Tool::ImageGeneration::Svg::Reasoning?
1098
+
1099
+ # @param reasoning
1100
+ # Reasoning effort for SVG authoring. When omitted, uses the author model's
1101
+ # default in both Images and Responses.
1102
+ def initialize: (
1103
+ ?model: String,
1104
+ ?reasoning: OpenAI::Responses::Tool::ImageGeneration::Svg::Reasoning?
1105
+ ) -> void
1106
+
1107
+ def to_hash: -> {
1108
+ ?model: String,
1109
+ ?reasoning: OpenAI::Responses::Tool::ImageGeneration::Svg::Reasoning?
1110
+ }
1111
+
1112
+ type reasoning =
1113
+ {
1114
+ ?effort: OpenAI::Models::Responses::Tool::ImageGeneration::Svg::Reasoning::effort
1115
+ }
1116
+
1117
+ class Reasoning < OpenAI::Internal::Type::BaseModel
1118
+ # Controls how much effort the model should spend on reasoning for this request.
1119
+ attr_reader effort: OpenAI::Models::Responses::Tool::ImageGeneration::Svg::Reasoning::effort?
1120
+
1121
+ # Controls how much effort the model should spend on reasoning for this request.
1122
+ def effort=: (
1123
+ OpenAI::Models::Responses::Tool::ImageGeneration::Svg::Reasoning::effort
1124
+ ) -> OpenAI::Models::Responses::Tool::ImageGeneration::Svg::Reasoning::effort
1125
+
1126
+ # @param effort
1127
+ # Controls how much effort the model should spend on reasoning for this request.
1128
+ def initialize: (
1129
+ ?effort: OpenAI::Models::Responses::Tool::ImageGeneration::Svg::Reasoning::effort
1130
+ ) -> void
1131
+
1132
+ def to_hash: -> {
1133
+ ?effort: OpenAI::Models::Responses::Tool::ImageGeneration::Svg::Reasoning::effort
1134
+ }
1135
+
1136
+ type effort =
1137
+ :none | :minimal | :low | :medium | :high | :xhigh | :max
1138
+
1139
+ module Effort
1140
+ extend OpenAI::Internal::Type::Enum
1141
+
1142
+ NONE: :none
1143
+ MINIMAL: :minimal
1144
+ LOW: :low
1145
+ MEDIUM: :medium
1146
+ HIGH: :high
1147
+ XHIGH: :xhigh
1148
+ MAX: :max
1149
+
1150
+ def self?.values: -> ::Array[OpenAI::Models::Responses::Tool::ImageGeneration::Svg::Reasoning::effort]
1151
+ end
1152
+ end
1153
+ end
981
1154
  end
982
1155
 
983
1156
  type local_shell = { ?type: :local_shell }
@@ -29,6 +29,7 @@ module OpenAI
29
29
  | :"gpt-daybreak-red-latest"
30
30
  | :"gpt-5.6-cyber"
31
31
  | :"gpt-rosalind-research"
32
+ | :"gpt-6-rosalind"
32
33
 
33
34
  module ResponsesOnlyModel
34
35
  extend OpenAI::Internal::Type::Enum
@@ -53,6 +54,7 @@ module OpenAI
53
54
  GPT_DAYBREAK_RED_LATEST: :"gpt-daybreak-red-latest"
54
55
  GPT_5_6_CYBER: :"gpt-5.6-cyber"
55
56
  GPT_ROSALIND_RESEARCH: :"gpt-rosalind-research"
57
+ GPT_6_ROSALIND: :"gpt-6-rosalind"
56
58
 
57
59
  def self?.values: -> ::Array[OpenAI::Models::ResponsesModel::responses_only_model]
58
60
  end
@@ -13,6 +13,8 @@ module OpenAI
13
13
 
14
14
  attr_reader model_permissions: OpenAI::Resources::Admin::Organization::Projects::ModelPermissions
15
15
 
16
+ attr_reader service_tier_settings: OpenAI::Resources::Admin::Organization::Projects::ServiceTierSettings
17
+
16
18
  attr_reader hosted_tool_permissions: OpenAI::Resources::Admin::Organization::Projects::HostedToolPermissions
17
19
 
18
20
  attr_reader groups: OpenAI::Resources::Admin::Organization::Projects::Groups
@@ -27,8 +29,6 @@ module OpenAI
27
29
 
28
30
  attr_reader certificates: OpenAI::Resources::Admin::Organization::Projects::Certificates
29
31
 
30
- attr_reader service_tier_settings: OpenAI::Resources::Admin::Organization::Projects::ServiceTierSettings
31
-
32
32
  def create: (
33
33
  name: String,
34
34
  ?external_key_id: String?,
@@ -20,6 +20,8 @@ module OpenAI
20
20
 
21
21
  attr_reader external_keys: OpenAI::Resources::Admin::Organization::ExternalKeys
22
22
 
23
+ attr_reader workload_identity_providers: OpenAI::Resources::Admin::Organization::WorkloadIdentityProviders
24
+
23
25
  attr_reader external_storage: OpenAI::Resources::Admin::Organization::ExternalStorage
24
26
 
25
27
  attr_reader spend_limit: OpenAI::Resources::Admin::Organization::SpendLimit
@@ -30,8 +32,6 @@ module OpenAI
30
32
 
31
33
  attr_reader projects: OpenAI::Resources::Admin::Organization::Projects
32
34
 
33
- attr_reader workload_identity_providers: OpenAI::Resources::Admin::Organization::WorkloadIdentityProviders
34
-
35
35
  def initialize: (client: OpenAI::Client) -> void
36
36
  end
37
37
  end
@@ -19,6 +19,7 @@ module OpenAI
19
19
  ?background: bool?,
20
20
  ?context_management: ::Array[OpenAI::Beta::ResponseCreateParams::ContextManagement]?,
21
21
  ?conversation: OpenAI::Models::Beta::ResponseCreateParams::conversation?,
22
+ ?image: OpenAI::Beta::ResponseCreateParams::Image,
22
23
  ?include: ::Array[OpenAI::Models::Beta::beta_response_includable]?,
23
24
  ?input: OpenAI::Models::Beta::ResponseCreateParams::input,
24
25
  ?instructions: String?,
@@ -57,6 +58,7 @@ module OpenAI
57
58
  ?background: bool?,
58
59
  ?context_management: ::Array[OpenAI::Beta::ResponseCreateParams::ContextManagement]?,
59
60
  ?conversation: OpenAI::Models::Beta::ResponseCreateParams::conversation?,
61
+ ?image: OpenAI::Beta::ResponseCreateParams::Image,
60
62
  ?include: ::Array[OpenAI::Models::Beta::beta_response_includable]?,
61
63
  ?input: OpenAI::Models::Beta::ResponseCreateParams::input,
62
64
  ?instructions: String?,
@@ -124,6 +126,7 @@ module OpenAI
124
126
 
125
127
  def compact: (
126
128
  model: OpenAI::Models::Beta::ResponseCompactParams::model?,
129
+ ?image: OpenAI::Beta::ResponseCompactParams::Image,
127
130
  ?input: OpenAI::Models::Beta::ResponseCompactParams::input?,
128
131
  ?instructions: String?,
129
132
  ?previous_response_id: String?,
@@ -15,6 +15,9 @@ module OpenAI
15
15
  image: OpenAI::Models::ImageEditParams::image,
16
16
  prompt: String,
17
17
  ?background: OpenAI::Models::ImageEditParams::background?,
18
+ ?complexity: OpenAI::Models::ImageEditParams::complexity?,
19
+ ?frame_count: Integer?,
20
+ ?frame_duration_ms: Integer?,
18
21
  ?input_fidelity: OpenAI::Models::ImageEditParams::input_fidelity?,
19
22
  ?markup: OpenAI::Internal::file_input,
20
23
  ?mask: OpenAI::Internal::file_input,
@@ -35,6 +38,9 @@ module OpenAI
35
38
  image: OpenAI::Models::ImageEditParams::image,
36
39
  prompt: String,
37
40
  ?background: OpenAI::Models::ImageEditParams::background?,
41
+ ?complexity: OpenAI::Models::ImageEditParams::complexity?,
42
+ ?frame_count: Integer?,
43
+ ?frame_duration_ms: Integer?,
38
44
  ?input_fidelity: OpenAI::Models::ImageEditParams::input_fidelity?,
39
45
  ?markup: OpenAI::Internal::file_input,
40
46
  ?mask: OpenAI::Internal::file_input,
@@ -54,6 +60,9 @@ module OpenAI
54
60
  def generate: (
55
61
  prompt: String,
56
62
  ?background: OpenAI::Models::ImageGenerateParams::background?,
63
+ ?complexity: OpenAI::Models::ImageGenerateParams::complexity?,
64
+ ?frame_count: Integer?,
65
+ ?frame_duration_ms: Integer?,
57
66
  ?model: OpenAI::Models::ImageGenerateParams::model?,
58
67
  ?moderation: OpenAI::Models::ImageGenerateParams::moderation?,
59
68
  ?n: Integer?,
@@ -65,6 +74,7 @@ module OpenAI
65
74
  ?safety_identifier: String?,
66
75
  ?size: OpenAI::Models::ImageGenerateParams::size?,
67
76
  ?style: OpenAI::Models::ImageGenerateParams::style?,
77
+ ?svg: OpenAI::ImageGenerateParams::Svg?,
68
78
  ?user: String,
69
79
  ?request_options: OpenAI::request_opts
70
80
  ) -> OpenAI::ImagesResponse
@@ -72,6 +82,9 @@ module OpenAI
72
82
  def generate_stream_raw: (
73
83
  prompt: String,
74
84
  ?background: OpenAI::Models::ImageGenerateParams::background?,
85
+ ?complexity: OpenAI::Models::ImageGenerateParams::complexity?,
86
+ ?frame_count: Integer?,
87
+ ?frame_duration_ms: Integer?,
75
88
  ?model: OpenAI::Models::ImageGenerateParams::model?,
76
89
  ?moderation: OpenAI::Models::ImageGenerateParams::moderation?,
77
90
  ?n: Integer?,
@@ -83,6 +96,7 @@ module OpenAI
83
96
  ?safety_identifier: String?,
84
97
  ?size: OpenAI::Models::ImageGenerateParams::size?,
85
98
  ?style: OpenAI::Models::ImageGenerateParams::style?,
99
+ ?svg: OpenAI::ImageGenerateParams::Svg?,
86
100
  ?user: String,
87
101
  ?request_options: OpenAI::request_opts
88
102
  ) -> OpenAI::Internal::Stream[OpenAI::Models::image_gen_stream_event]
@@ -18,6 +18,7 @@ module OpenAI
18
18
  ?background: bool?,
19
19
  ?context_management: ::Array[OpenAI::Responses::ResponseCreateParams::ContextManagement]?,
20
20
  ?conversation: OpenAI::Models::Responses::ResponseCreateParams::conversation?,
21
+ ?image: OpenAI::Responses::ResponseCreateParams::Image,
21
22
  ?include: ::Array[OpenAI::Models::Responses::response_includable]?,
22
23
  ?input: OpenAI::Models::Responses::ResponseCreateParams::input,
23
24
  ?instructions: String?,
@@ -54,6 +55,7 @@ module OpenAI
54
55
  ?background: bool?,
55
56
  ?context_management: ::Array[OpenAI::Responses::ResponseCreateParams::ContextManagement]?,
56
57
  ?conversation: OpenAI::Models::Responses::ResponseCreateParams::conversation?,
58
+ ?image: OpenAI::Responses::ResponseCreateParams::Image,
57
59
  ?include: ::Array[OpenAI::Models::Responses::response_includable]?,
58
60
  ?input: OpenAI::Models::Responses::ResponseCreateParams::input,
59
61
  ?instructions: String?,
@@ -117,6 +119,7 @@ module OpenAI
117
119
 
118
120
  def compact: (
119
121
  model: OpenAI::Models::Responses::ResponseCompactParams::model?,
122
+ ?image: OpenAI::Responses::ResponseCompactParams::Image,
120
123
  ?input: OpenAI::Models::Responses::ResponseCompactParams::input?,
121
124
  ?instructions: String?,
122
125
  ?previous_response_id: String?,
@@ -143,6 +146,7 @@ module OpenAI
143
146
  ?context_management: ::Array[OpenAI::Responses::ResponsesClientEvent::ResponseCreate::ContextManagement]?,
144
147
  ?conversation: OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::conversation?,
145
148
  ?generate: bool,
149
+ ?image: OpenAI::Responses::ResponsesClientEvent::ResponseCreate::Image,
146
150
  ?include: ::Array[OpenAI::Models::Responses::response_includable]?,
147
151
  ?input: OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::input,
148
152
  ?instructions: String?,
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openai
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.118.0
4
+ version: 0.119.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenAI