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
@@ -0,0 +1,91 @@
1
+ module OpenAI
2
+ module Models
3
+ module Admin
4
+ module Organization
5
+ module Projects
6
+ type service_tier_setting_update_params =
7
+ {
8
+ project_id: String,
9
+ ?default: OpenAI::Models::Admin::Organization::Projects::ServiceTierSettingUpdateParams::default,
10
+ ?enabled_tiers: OpenAI::Models::Admin::Organization::Projects::ServiceTierSettingUpdateParams::enabled_tiers,
11
+ ?request_options: OpenAI::request_opts
12
+ }
13
+
14
+ class ServiceTierSettingUpdateParams < OpenAI::Internal::Type::BaseModel
15
+ extend OpenAI::Internal::Type::RequestParameters::Converter
16
+ include OpenAI::Internal::Type::RequestParameters
17
+
18
+ # The ID of the project
19
+ attr_accessor project_id: String
20
+
21
+ # Default tier for requests that omit service_tier or use auto.
22
+ attr_reader default: OpenAI::Models::Admin::Organization::Projects::ServiceTierSettingUpdateParams::default?
23
+
24
+ # Default tier for requests that omit service_tier or use auto.
25
+ def default=: (
26
+ OpenAI::Models::Admin::Organization::Projects::ServiceTierSettingUpdateParams::default
27
+ ) -> OpenAI::Models::Admin::Organization::Projects::ServiceTierSettingUpdateParams::default
28
+
29
+ # Additional service tiers enabled for this project. "all" includes future tiers.
30
+ # An empty array allows only Standard. Organization policy and eligibility still
31
+ # apply.
32
+ attr_reader enabled_tiers: OpenAI::Models::Admin::Organization::Projects::ServiceTierSettingUpdateParams::enabled_tiers?
33
+
34
+ # Additional service tiers enabled for this project. "all" includes future tiers.
35
+ # An empty array allows only Standard. Organization policy and eligibility still
36
+ # apply.
37
+ def enabled_tiers=: (
38
+ OpenAI::Models::Admin::Organization::Projects::ServiceTierSettingUpdateParams::enabled_tiers
39
+ ) -> OpenAI::Models::Admin::Organization::Projects::ServiceTierSettingUpdateParams::enabled_tiers
40
+
41
+ # @param project_id
42
+ # The ID of the project
43
+ # @param default
44
+ # Default tier for requests that omit service_tier or use auto.
45
+ # @param enabled_tiers
46
+ # Additional service tiers enabled for this project. "all" includes future tiers.
47
+ # An empty array allows only Standard. Organization policy and eligibility still
48
+ # apply.
49
+ def initialize: (
50
+ project_id: String,
51
+ ?default: OpenAI::Models::Admin::Organization::Projects::ServiceTierSettingUpdateParams::default,
52
+ ?enabled_tiers: OpenAI::Models::Admin::Organization::Projects::ServiceTierSettingUpdateParams::enabled_tiers,
53
+ ?request_options: OpenAI::request_opts
54
+ ) -> void
55
+
56
+ def to_hash: -> {
57
+ project_id: String,
58
+ ?default: OpenAI::Models::Admin::Organization::Projects::ServiceTierSettingUpdateParams::default,
59
+ ?enabled_tiers: OpenAI::Models::Admin::Organization::Projects::ServiceTierSettingUpdateParams::enabled_tiers,
60
+ ?request_options: OpenAI::RequestOptions
61
+ }
62
+
63
+ type default = :standard | :fast | :scale
64
+
65
+ module Default
66
+ extend OpenAI::Internal::Type::Enum
67
+
68
+ STANDARD: :standard
69
+ FAST: :fast
70
+ SCALE: :scale
71
+
72
+ def self?.values: -> ::Array[OpenAI::Models::Admin::Organization::Projects::ServiceTierSettingUpdateParams::default]
73
+ end
74
+
75
+ type enabled_tiers =
76
+ :all
77
+ | ::Array[OpenAI::Models::Admin::Organization::Projects::project_optional_service_tier]
78
+
79
+ module EnabledTiers
80
+ extend OpenAI::Internal::Type::Union
81
+
82
+ def self?.variants: -> ::Array[OpenAI::Models::Admin::Organization::Projects::ServiceTierSettingUpdateParams::enabled_tiers]
83
+
84
+ ProjectOptionalServiceTierArray: OpenAI::Internal::Type::Converter
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end
90
+ end
91
+ end
@@ -29,6 +29,7 @@ module OpenAI
29
29
  | :"gpt-daybreak-red-latest"
30
30
  | :"gpt-5.6-cyber"
31
31
  | :"gpt-rosalind-research"
32
+ | :"gpt-6-rosalind"
32
33
 
33
34
  module ResponsesOnlyModel
34
35
  extend OpenAI::Internal::Type::Enum
@@ -53,6 +54,7 @@ module OpenAI
53
54
  GPT_DAYBREAK_RED_LATEST: :"gpt-daybreak-red-latest"
54
55
  GPT_5_6_CYBER: :"gpt-5.6-cyber"
55
56
  GPT_ROSALIND_RESEARCH: :"gpt-rosalind-research"
57
+ GPT_6_ROSALIND: :"gpt-6-rosalind"
56
58
 
57
59
  def self?.values: -> ::Array[OpenAI::Models::AllModels::responses_only_model]
58
60
  end
@@ -9,7 +9,8 @@ module OpenAI
9
9
  created_at: Integer,
10
10
  ?object: :"response.compaction",
11
11
  output: ::Array[OpenAI::Models::Beta::beta_response_output_item],
12
- usage: OpenAI::Beta::BetaResponseUsage
12
+ usage: OpenAI::Beta::BetaResponseUsage,
13
+ ?image: OpenAI::Beta::BetaCompactedResponse::Image
13
14
  }
14
15
 
15
16
  class BetaCompactedResponse < OpenAI::Internal::Type::BaseModel
@@ -30,6 +31,12 @@ module OpenAI
30
31
  # tokens.
31
32
  attr_accessor usage: OpenAI::Beta::BetaResponseUsage
32
33
 
34
+ attr_reader image: OpenAI::Beta::BetaCompactedResponse::Image?
35
+
36
+ def image=: (
37
+ OpenAI::Beta::BetaCompactedResponse::Image
38
+ ) -> OpenAI::Beta::BetaCompactedResponse::Image
39
+
33
40
  # @param id
34
41
  # The unique identifier for the compacted response.
35
42
  # @param created_at
@@ -47,6 +54,7 @@ module OpenAI
47
54
  created_at: Integer,
48
55
  output: ::Array[OpenAI::Models::Beta::beta_response_output_item],
49
56
  usage: OpenAI::Beta::BetaResponseUsage,
57
+ ?image: OpenAI::Beta::BetaCompactedResponse::Image,
50
58
  ?object: :"response.compaction"
51
59
  ) -> void
52
60
 
@@ -55,8 +63,40 @@ module OpenAI
55
63
  created_at: Integer,
56
64
  ?object: :"response.compaction",
57
65
  output: ::Array[OpenAI::Models::Beta::beta_response_output_item],
58
- usage: OpenAI::Beta::BetaResponseUsage
66
+ usage: OpenAI::Beta::BetaResponseUsage,
67
+ ?image: OpenAI::Beta::BetaCompactedResponse::Image
59
68
  }
69
+
70
+ type image =
71
+ {
72
+ context_compression: OpenAI::Models::Beta::BetaCompactedResponse::Image::context_compression
73
+ }
74
+
75
+ class Image < OpenAI::Internal::Type::BaseModel
76
+ # Effective image context optimization policy.
77
+ attr_accessor context_compression: OpenAI::Models::Beta::BetaCompactedResponse::Image::context_compression
78
+
79
+ # @param context_compression
80
+ # Effective image context optimization policy.
81
+ def initialize: (
82
+ context_compression: OpenAI::Models::Beta::BetaCompactedResponse::Image::context_compression
83
+ ) -> void
84
+
85
+ def to_hash: -> {
86
+ context_compression: OpenAI::Models::Beta::BetaCompactedResponse::Image::context_compression
87
+ }
88
+
89
+ type context_compression = :enabled | :disabled
90
+
91
+ module ContextCompression
92
+ extend OpenAI::Internal::Type::Enum
93
+
94
+ ENABLED: :enabled
95
+ DISABLED: :disabled
96
+
97
+ def self?.values: -> ::Array[OpenAI::Models::Beta::BetaCompactedResponse::Image::context_compression]
98
+ end
99
+ end
60
100
  end
61
101
  end
62
102
  end
@@ -23,6 +23,7 @@ module OpenAI
23
23
  ?background: bool?,
24
24
  ?completed_at: Float?,
25
25
  ?conversation: OpenAI::Beta::BetaResponse::Conversation?,
26
+ ?image: OpenAI::Beta::BetaResponse::Image,
26
27
  ?max_output_tokens: Integer?,
27
28
  ?max_tool_calls: Integer?,
28
29
  ?moderation: OpenAI::Beta::BetaResponse::Moderation?,
@@ -148,6 +149,12 @@ module OpenAI
148
149
  # from this response were automatically added to this conversation.
149
150
  attr_accessor conversation: OpenAI::Beta::BetaResponse::Conversation?
150
151
 
152
+ attr_reader image: OpenAI::Beta::BetaResponse::Image?
153
+
154
+ def image=: (
155
+ OpenAI::Beta::BetaResponse::Image
156
+ ) -> OpenAI::Beta::BetaResponse::Image
157
+
151
158
  # An upper bound for the number of tokens that can be generated for a response,
152
159
  # including visible output tokens and
153
160
  # [reasoning tokens](https://developers.openai.com/api/docs/guides/reasoning).
@@ -578,6 +585,7 @@ module OpenAI
578
585
  ?background: bool?,
579
586
  ?completed_at: Float?,
580
587
  ?conversation: OpenAI::Beta::BetaResponse::Conversation?,
588
+ ?image: OpenAI::Beta::BetaResponse::Image,
581
589
  ?max_output_tokens: Integer?,
582
590
  ?max_tool_calls: Integer?,
583
591
  ?moderation: OpenAI::Beta::BetaResponse::Moderation?,
@@ -619,6 +627,7 @@ module OpenAI
619
627
  ?background: bool?,
620
628
  ?completed_at: Float?,
621
629
  ?conversation: OpenAI::Beta::BetaResponse::Conversation?,
630
+ ?image: OpenAI::Beta::BetaResponse::Image,
622
631
  ?max_output_tokens: Integer?,
623
632
  ?max_tool_calls: Integer?,
624
633
  ?moderation: OpenAI::Beta::BetaResponse::Moderation?,
@@ -1000,6 +1009,37 @@ module OpenAI
1000
1009
  def to_hash: -> { id: String }
1001
1010
  end
1002
1011
 
1012
+ type image =
1013
+ {
1014
+ context_compression: OpenAI::Models::Beta::BetaResponse::Image::context_compression
1015
+ }
1016
+
1017
+ class Image < OpenAI::Internal::Type::BaseModel
1018
+ # Effective image context optimization policy.
1019
+ attr_accessor context_compression: OpenAI::Models::Beta::BetaResponse::Image::context_compression
1020
+
1021
+ # @param context_compression
1022
+ # Effective image context optimization policy.
1023
+ def initialize: (
1024
+ context_compression: OpenAI::Models::Beta::BetaResponse::Image::context_compression
1025
+ ) -> void
1026
+
1027
+ def to_hash: -> {
1028
+ context_compression: OpenAI::Models::Beta::BetaResponse::Image::context_compression
1029
+ }
1030
+
1031
+ type context_compression = :enabled | :disabled
1032
+
1033
+ module ContextCompression
1034
+ extend OpenAI::Internal::Type::Enum
1035
+
1036
+ ENABLED: :enabled
1037
+ DISABLED: :disabled
1038
+
1039
+ def self?.values: -> ::Array[OpenAI::Models::Beta::BetaResponse::Image::context_compression]
1040
+ end
1041
+ end
1042
+
1003
1043
  type moderation =
1004
1044
  {
1005
1045
  input: OpenAI::Models::Beta::BetaResponse::Moderation::input,
@@ -1414,12 +1454,13 @@ module OpenAI
1414
1454
  def self?.values: -> ::Array[OpenAI::Models::Beta::BetaResponse::PromptCacheOptions::mode]
1415
1455
  end
1416
1456
 
1417
- type ttl = :"30m"
1457
+ type ttl = :"30m" | :"12h"
1418
1458
 
1419
1459
  module Ttl
1420
1460
  extend OpenAI::Internal::Type::Enum
1421
1461
 
1422
1462
  TTL_30M: :"30m"
1463
+ TTL_12H: :"12h"
1423
1464
 
1424
1465
  def self?.values: -> ::Array[OpenAI::Models::Beta::BetaResponse::PromptCacheOptions::ttl]
1425
1466
  end
@@ -1139,7 +1139,8 @@ module OpenAI
1139
1139
  ?output_format: OpenAI::Models::Beta::BetaResponseInputItem::ImageGenerationCall::output_format?,
1140
1140
  ?quality: OpenAI::Models::Beta::BetaResponseInputItem::ImageGenerationCall::quality?,
1141
1141
  ?revised_prompt: String?,
1142
- ?size: OpenAI::Models::Beta::BetaResponseInputItem::ImageGenerationCall::size?
1142
+ ?size: OpenAI::Models::Beta::BetaResponseInputItem::ImageGenerationCall::size?,
1143
+ ?svg_usage: OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall::SvgUsage
1143
1144
  }
1144
1145
 
1145
1146
  class ImageGenerationCall < OpenAI::Internal::Type::BaseModel
@@ -1185,6 +1186,12 @@ module OpenAI
1185
1186
  # The image dimensions as a `WIDTHxHEIGHT` string, for example `1536x864`.
1186
1187
  attr_accessor size: OpenAI::Models::Beta::BetaResponseInputItem::ImageGenerationCall::size?
1187
1188
 
1189
+ attr_reader svg_usage: OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall::SvgUsage?
1190
+
1191
+ def svg_usage=: (
1192
+ OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall::SvgUsage
1193
+ ) -> OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall::SvgUsage
1194
+
1188
1195
  # @param id
1189
1196
  # The unique ID of the image generation call.
1190
1197
  # @param result
@@ -1222,6 +1229,7 @@ module OpenAI
1222
1229
  ?quality: OpenAI::Models::Beta::BetaResponseInputItem::ImageGenerationCall::quality?,
1223
1230
  ?revised_prompt: String?,
1224
1231
  ?size: OpenAI::Models::Beta::BetaResponseInputItem::ImageGenerationCall::size?,
1232
+ ?svg_usage: OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall::SvgUsage,
1225
1233
  ?type: :image_generation_call
1226
1234
  ) -> void
1227
1235
 
@@ -1237,7 +1245,8 @@ module OpenAI
1237
1245
  ?output_format: OpenAI::Models::Beta::BetaResponseInputItem::ImageGenerationCall::output_format?,
1238
1246
  ?quality: OpenAI::Models::Beta::BetaResponseInputItem::ImageGenerationCall::quality?,
1239
1247
  ?revised_prompt: String?,
1240
- ?size: OpenAI::Models::Beta::BetaResponseInputItem::ImageGenerationCall::size?
1248
+ ?size: OpenAI::Models::Beta::BetaResponseInputItem::ImageGenerationCall::size?,
1249
+ ?svg_usage: OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall::SvgUsage
1241
1250
  }
1242
1251
 
1243
1252
  type status = :in_progress | :completed | :generating | :failed
@@ -1387,7 +1396,7 @@ module OpenAI
1387
1396
  end
1388
1397
  end
1389
1398
 
1390
- type output_format = :png | :webp | :jpeg
1399
+ type output_format = :png | :webp | :jpeg | :gif | :svg
1391
1400
 
1392
1401
  module OutputFormat
1393
1402
  extend OpenAI::Internal::Type::Enum
@@ -1395,6 +1404,8 @@ module OpenAI
1395
1404
  PNG: :png
1396
1405
  WEBP: :webp
1397
1406
  JPEG: :jpeg
1407
+ GIF: :gif
1408
+ SVG: :svg
1398
1409
 
1399
1410
  def self?.values: -> ::Array[OpenAI::Models::Beta::BetaResponseInputItem::ImageGenerationCall::output_format]
1400
1411
  end
@@ -1425,6 +1436,43 @@ module OpenAI
1425
1436
  SIZE_1024X1536: :"1024x1536"
1426
1437
  SIZE_1536X1024: :"1536x1024"
1427
1438
  end
1439
+
1440
+ type svg_usage =
1441
+ {
1442
+ input_tokens: Integer,
1443
+ model: String,
1444
+ output_tokens: Integer,
1445
+ reasoning_tokens: Integer,
1446
+ total_tokens: Integer
1447
+ }
1448
+
1449
+ class SvgUsage < OpenAI::Internal::Type::BaseModel
1450
+ attr_accessor input_tokens: Integer
1451
+
1452
+ attr_accessor model: String
1453
+
1454
+ attr_accessor output_tokens: Integer
1455
+
1456
+ attr_accessor reasoning_tokens: Integer
1457
+
1458
+ attr_accessor total_tokens: Integer
1459
+
1460
+ def initialize: (
1461
+ input_tokens: Integer,
1462
+ model: String,
1463
+ output_tokens: Integer,
1464
+ reasoning_tokens: Integer,
1465
+ total_tokens: Integer
1466
+ ) -> void
1467
+
1468
+ def to_hash: -> {
1469
+ input_tokens: Integer,
1470
+ model: String,
1471
+ output_tokens: Integer,
1472
+ reasoning_tokens: Integer,
1473
+ total_tokens: Integer
1474
+ }
1475
+ end
1428
1476
  end
1429
1477
 
1430
1478
  type local_shell_call =
@@ -807,7 +807,8 @@ module OpenAI
807
807
  ?output_format: OpenAI::Models::Beta::BetaResponseItem::ImageGenerationCall::output_format?,
808
808
  ?quality: OpenAI::Models::Beta::BetaResponseItem::ImageGenerationCall::quality?,
809
809
  ?revised_prompt: String?,
810
- ?size: OpenAI::Models::Beta::BetaResponseItem::ImageGenerationCall::size?
810
+ ?size: OpenAI::Models::Beta::BetaResponseItem::ImageGenerationCall::size?,
811
+ ?svg_usage: OpenAI::Beta::BetaResponseItem::ImageGenerationCall::SvgUsage
811
812
  }
812
813
 
813
814
  class ImageGenerationCall < OpenAI::Internal::Type::BaseModel
@@ -853,6 +854,12 @@ module OpenAI
853
854
  # The image dimensions as a `WIDTHxHEIGHT` string, for example `1536x864`.
854
855
  attr_accessor size: OpenAI::Models::Beta::BetaResponseItem::ImageGenerationCall::size?
855
856
 
857
+ attr_reader svg_usage: OpenAI::Beta::BetaResponseItem::ImageGenerationCall::SvgUsage?
858
+
859
+ def svg_usage=: (
860
+ OpenAI::Beta::BetaResponseItem::ImageGenerationCall::SvgUsage
861
+ ) -> OpenAI::Beta::BetaResponseItem::ImageGenerationCall::SvgUsage
862
+
856
863
  # @param id
857
864
  # The unique ID of the image generation call.
858
865
  # @param result
@@ -890,6 +897,7 @@ module OpenAI
890
897
  ?quality: OpenAI::Models::Beta::BetaResponseItem::ImageGenerationCall::quality?,
891
898
  ?revised_prompt: String?,
892
899
  ?size: OpenAI::Models::Beta::BetaResponseItem::ImageGenerationCall::size?,
900
+ ?svg_usage: OpenAI::Beta::BetaResponseItem::ImageGenerationCall::SvgUsage,
893
901
  ?type: :image_generation_call
894
902
  ) -> void
895
903
 
@@ -905,7 +913,8 @@ module OpenAI
905
913
  ?output_format: OpenAI::Models::Beta::BetaResponseItem::ImageGenerationCall::output_format?,
906
914
  ?quality: OpenAI::Models::Beta::BetaResponseItem::ImageGenerationCall::quality?,
907
915
  ?revised_prompt: String?,
908
- ?size: OpenAI::Models::Beta::BetaResponseItem::ImageGenerationCall::size?
916
+ ?size: OpenAI::Models::Beta::BetaResponseItem::ImageGenerationCall::size?,
917
+ ?svg_usage: OpenAI::Beta::BetaResponseItem::ImageGenerationCall::SvgUsage
909
918
  }
910
919
 
911
920
  type status = :in_progress | :completed | :generating | :failed
@@ -1055,7 +1064,7 @@ module OpenAI
1055
1064
  end
1056
1065
  end
1057
1066
 
1058
- type output_format = :png | :webp | :jpeg
1067
+ type output_format = :png | :webp | :jpeg | :gif | :svg
1059
1068
 
1060
1069
  module OutputFormat
1061
1070
  extend OpenAI::Internal::Type::Enum
@@ -1063,6 +1072,8 @@ module OpenAI
1063
1072
  PNG: :png
1064
1073
  WEBP: :webp
1065
1074
  JPEG: :jpeg
1075
+ GIF: :gif
1076
+ SVG: :svg
1066
1077
 
1067
1078
  def self?.values: -> ::Array[OpenAI::Models::Beta::BetaResponseItem::ImageGenerationCall::output_format]
1068
1079
  end
@@ -1093,6 +1104,43 @@ module OpenAI
1093
1104
  SIZE_1024X1536: :"1024x1536"
1094
1105
  SIZE_1536X1024: :"1536x1024"
1095
1106
  end
1107
+
1108
+ type svg_usage =
1109
+ {
1110
+ input_tokens: Integer,
1111
+ model: String,
1112
+ output_tokens: Integer,
1113
+ reasoning_tokens: Integer,
1114
+ total_tokens: Integer
1115
+ }
1116
+
1117
+ class SvgUsage < OpenAI::Internal::Type::BaseModel
1118
+ attr_accessor input_tokens: Integer
1119
+
1120
+ attr_accessor model: String
1121
+
1122
+ attr_accessor output_tokens: Integer
1123
+
1124
+ attr_accessor reasoning_tokens: Integer
1125
+
1126
+ attr_accessor total_tokens: Integer
1127
+
1128
+ def initialize: (
1129
+ input_tokens: Integer,
1130
+ model: String,
1131
+ output_tokens: Integer,
1132
+ reasoning_tokens: Integer,
1133
+ total_tokens: Integer
1134
+ ) -> void
1135
+
1136
+ def to_hash: -> {
1137
+ input_tokens: Integer,
1138
+ model: String,
1139
+ output_tokens: Integer,
1140
+ reasoning_tokens: Integer,
1141
+ total_tokens: Integer
1142
+ }
1143
+ end
1096
1144
  end
1097
1145
 
1098
1146
  type local_shell_call =
@@ -805,7 +805,8 @@ module OpenAI
805
805
  ?output_format: OpenAI::Models::Beta::BetaResponseOutputItem::ImageGenerationCall::output_format?,
806
806
  ?quality: OpenAI::Models::Beta::BetaResponseOutputItem::ImageGenerationCall::quality?,
807
807
  ?revised_prompt: String?,
808
- ?size: OpenAI::Models::Beta::BetaResponseOutputItem::ImageGenerationCall::size?
808
+ ?size: OpenAI::Models::Beta::BetaResponseOutputItem::ImageGenerationCall::size?,
809
+ ?svg_usage: OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::SvgUsage
809
810
  }
810
811
 
811
812
  class ImageGenerationCall < OpenAI::Internal::Type::BaseModel
@@ -851,6 +852,12 @@ module OpenAI
851
852
  # The image dimensions as a `WIDTHxHEIGHT` string, for example `1536x864`.
852
853
  attr_accessor size: OpenAI::Models::Beta::BetaResponseOutputItem::ImageGenerationCall::size?
853
854
 
855
+ attr_reader svg_usage: OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::SvgUsage?
856
+
857
+ def svg_usage=: (
858
+ OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::SvgUsage
859
+ ) -> OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::SvgUsage
860
+
854
861
  # @param id
855
862
  # The unique ID of the image generation call.
856
863
  # @param result
@@ -888,6 +895,7 @@ module OpenAI
888
895
  ?quality: OpenAI::Models::Beta::BetaResponseOutputItem::ImageGenerationCall::quality?,
889
896
  ?revised_prompt: String?,
890
897
  ?size: OpenAI::Models::Beta::BetaResponseOutputItem::ImageGenerationCall::size?,
898
+ ?svg_usage: OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::SvgUsage,
891
899
  ?type: :image_generation_call
892
900
  ) -> void
893
901
 
@@ -903,7 +911,8 @@ module OpenAI
903
911
  ?output_format: OpenAI::Models::Beta::BetaResponseOutputItem::ImageGenerationCall::output_format?,
904
912
  ?quality: OpenAI::Models::Beta::BetaResponseOutputItem::ImageGenerationCall::quality?,
905
913
  ?revised_prompt: String?,
906
- ?size: OpenAI::Models::Beta::BetaResponseOutputItem::ImageGenerationCall::size?
914
+ ?size: OpenAI::Models::Beta::BetaResponseOutputItem::ImageGenerationCall::size?,
915
+ ?svg_usage: OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::SvgUsage
907
916
  }
908
917
 
909
918
  type status = :in_progress | :completed | :generating | :failed
@@ -1053,7 +1062,7 @@ module OpenAI
1053
1062
  end
1054
1063
  end
1055
1064
 
1056
- type output_format = :png | :webp | :jpeg
1065
+ type output_format = :png | :webp | :jpeg | :gif | :svg
1057
1066
 
1058
1067
  module OutputFormat
1059
1068
  extend OpenAI::Internal::Type::Enum
@@ -1061,6 +1070,8 @@ module OpenAI
1061
1070
  PNG: :png
1062
1071
  WEBP: :webp
1063
1072
  JPEG: :jpeg
1073
+ GIF: :gif
1074
+ SVG: :svg
1064
1075
 
1065
1076
  def self?.values: -> ::Array[OpenAI::Models::Beta::BetaResponseOutputItem::ImageGenerationCall::output_format]
1066
1077
  end
@@ -1091,6 +1102,43 @@ module OpenAI
1091
1102
  SIZE_1024X1536: :"1024x1536"
1092
1103
  SIZE_1536X1024: :"1536x1024"
1093
1104
  end
1105
+
1106
+ type svg_usage =
1107
+ {
1108
+ input_tokens: Integer,
1109
+ model: String,
1110
+ output_tokens: Integer,
1111
+ reasoning_tokens: Integer,
1112
+ total_tokens: Integer
1113
+ }
1114
+
1115
+ class SvgUsage < OpenAI::Internal::Type::BaseModel
1116
+ attr_accessor input_tokens: Integer
1117
+
1118
+ attr_accessor model: String
1119
+
1120
+ attr_accessor output_tokens: Integer
1121
+
1122
+ attr_accessor reasoning_tokens: Integer
1123
+
1124
+ attr_accessor total_tokens: Integer
1125
+
1126
+ def initialize: (
1127
+ input_tokens: Integer,
1128
+ model: String,
1129
+ output_tokens: Integer,
1130
+ reasoning_tokens: Integer,
1131
+ total_tokens: Integer
1132
+ ) -> void
1133
+
1134
+ def to_hash: -> {
1135
+ input_tokens: Integer,
1136
+ model: String,
1137
+ output_tokens: Integer,
1138
+ reasoning_tokens: Integer,
1139
+ total_tokens: Integer
1140
+ }
1141
+ end
1094
1142
  end
1095
1143
 
1096
1144
  type local_shell_call =