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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +23 -0
- data/README.md +1 -1
- data/lib/openai/client.rb +1 -1
- data/lib/openai/helpers/data_residency.rb +4 -1
- data/lib/openai/models/admin/organization/projects/project_optional_service_tier.rb +24 -0
- data/lib/openai/models/admin/organization/projects/project_service_tier_settings.rb +88 -0
- data/lib/openai/models/admin/organization/projects/service_tier_setting_retrieve_params.rb +29 -0
- data/lib/openai/models/admin/organization/projects/service_tier_setting_update_params.rb +92 -0
- data/lib/openai/models/all_models.rb +1 -0
- data/lib/openai/models/beta/beta_compacted_response.rb +34 -1
- data/lib/openai/models/beta/beta_response.rb +35 -1
- data/lib/openai/models/beta/beta_response_input_item.rb +45 -1
- data/lib/openai/models/beta/beta_response_item.rb +45 -1
- data/lib/openai/models/beta/beta_response_output_item.rb +45 -1
- data/lib/openai/models/beta/beta_response_tool_search_output_item_param.rb +186 -13
- data/lib/openai/models/beta/beta_response_usage.rb +33 -1
- data/lib/openai/models/beta/beta_responses_client_event.rb +58 -10
- data/lib/openai/models/beta/beta_tool.rb +164 -13
- data/lib/openai/models/beta/response_compact_params.rb +47 -4
- data/lib/openai/models/beta/response_create_params.rb +54 -10
- data/lib/openai/models/beta/session_turn_error.rb +3 -0
- data/lib/openai/models/chat/completion_create_params.rb +3 -3
- data/lib/openai/models/conversations/conversation_item.rb +45 -1
- data/lib/openai/models/image_edit_params.rb +72 -16
- data/lib/openai/models/image_generate_params.rb +160 -8
- data/lib/openai/models/image_model.rb +2 -0
- data/lib/openai/models/images_response.rb +55 -4
- data/lib/openai/models/realtime/realtime_audio_config_input.rb +14 -1
- data/lib/openai/models/realtime/realtime_session_create_response.rb +14 -1
- data/lib/openai/models/realtime/realtime_transcription_session_audio_input.rb +14 -1
- data/lib/openai/models/realtime/realtime_transcription_session_create_response.rb +14 -1
- data/lib/openai/models/realtime/realtime_translation_session.rb +14 -1
- data/lib/openai/models/realtime/realtime_translation_session_create_request.rb +14 -1
- data/lib/openai/models/realtime/realtime_translation_session_update_request.rb +14 -1
- data/lib/openai/models/responses/compacted_response.rb +37 -1
- data/lib/openai/models/responses/response.rb +35 -1
- data/lib/openai/models/responses/response_compact_params.rb +53 -4
- data/lib/openai/models/responses/response_create_params.rb +57 -10
- data/lib/openai/models/responses/response_input_item.rb +45 -1
- data/lib/openai/models/responses/response_item.rb +45 -1
- data/lib/openai/models/responses/response_output_item.rb +45 -1
- data/lib/openai/models/responses/response_tool_search_output_item_param.rb +186 -13
- data/lib/openai/models/responses/response_usage.rb +33 -1
- data/lib/openai/models/responses/responses_client_event.rb +58 -10
- data/lib/openai/models/responses/tool.rb +164 -13
- data/lib/openai/models/responses_model.rb +1 -0
- data/lib/openai/resources/admin/organization/projects/service_tier_settings.rb +77 -0
- data/lib/openai/resources/admin/organization/projects.rb +6 -0
- data/lib/openai/resources/admin/organization.rb +6 -6
- data/lib/openai/resources/beta/responses.rb +18 -9
- data/lib/openai/resources/chat/completions.rb +2 -2
- data/lib/openai/resources/images.rb +102 -18
- data/lib/openai/resources/responses.rb +15 -6
- data/lib/openai/version.rb +1 -1
- data/lib/openai.rb +5 -0
- data/rbi/openai/models/admin/organization/projects/project_optional_service_tier.rbi +45 -0
- data/rbi/openai/models/admin/organization/projects/project_service_tier_settings.rbi +143 -0
- data/rbi/openai/models/admin/organization/projects/service_tier_setting_retrieve_params.rbi +63 -0
- data/rbi/openai/models/admin/organization/projects/service_tier_setting_update_params.rbi +183 -0
- data/rbi/openai/models/all_models.rbi +1 -0
- data/rbi/openai/models/beta/beta_compacted_response.rbi +67 -1
- data/rbi/openai/models/beta/beta_response.rbi +63 -0
- data/rbi/openai/models/beta/beta_response_input_item.rbi +82 -1
- data/rbi/openai/models/beta/beta_response_item.rbi +82 -1
- data/rbi/openai/models/beta/beta_response_output_item.rbi +82 -1
- data/rbi/openai/models/beta/beta_response_tool_search_output_item_param.rbi +338 -13
- data/rbi/openai/models/beta/beta_response_usage.rbi +66 -3
- data/rbi/openai/models/beta/beta_responses_client_event.rbi +118 -9
- data/rbi/openai/models/beta/beta_tool.rbi +245 -13
- data/rbi/openai/models/beta/response_compact_params.rbi +84 -3
- data/rbi/openai/models/beta/response_create_params.rbi +91 -9
- data/rbi/openai/models/beta/session_turn_error.rbi +3 -0
- data/rbi/openai/models/chat/completion_create_params.rbi +3 -3
- data/rbi/openai/models/conversations/conversation_item.rbi +84 -1
- data/rbi/openai/models/image_edit_params.rbi +76 -14
- data/rbi/openai/models/image_generate_params.rbi +218 -6
- data/rbi/openai/models/image_model.rbi +2 -0
- data/rbi/openai/models/images_response.rbi +90 -3
- data/rbi/openai/models/realtime/realtime_audio_config_input.rbi +17 -1
- data/rbi/openai/models/realtime/realtime_session_create_response.rbi +17 -1
- data/rbi/openai/models/realtime/realtime_transcription_session_audio_input.rbi +17 -1
- data/rbi/openai/models/realtime/realtime_transcription_session_create_response.rbi +17 -1
- data/rbi/openai/models/realtime/realtime_translation_session.rbi +19 -3
- data/rbi/openai/models/realtime/realtime_translation_session_create_request.rbi +19 -3
- data/rbi/openai/models/realtime/realtime_translation_session_update_request.rbi +19 -3
- data/rbi/openai/models/responses/compacted_response.rbi +67 -1
- data/rbi/openai/models/responses/response.rbi +63 -0
- data/rbi/openai/models/responses/response_compact_params.rbi +91 -3
- data/rbi/openai/models/responses/response_create_params.rbi +97 -9
- data/rbi/openai/models/responses/response_input_item.rbi +82 -1
- data/rbi/openai/models/responses/response_item.rbi +82 -1
- data/rbi/openai/models/responses/response_output_item.rbi +82 -1
- data/rbi/openai/models/responses/response_tool_search_output_item_param.rbi +340 -13
- data/rbi/openai/models/responses/response_usage.rbi +66 -3
- data/rbi/openai/models/responses/responses_client_event.rbi +118 -9
- data/rbi/openai/models/responses/tool.rbi +248 -13
- data/rbi/openai/models/responses_model.rbi +1 -0
- data/rbi/openai/resources/admin/organization/projects/service_tier_settings.rbi +67 -0
- data/rbi/openai/resources/admin/organization/projects.rbi +3 -0
- data/rbi/openai/resources/admin/organization.rbi +3 -3
- data/rbi/openai/resources/beta/responses.rbi +15 -6
- data/rbi/openai/resources/chat/completions.rbi +2 -2
- data/rbi/openai/resources/images.rbi +98 -14
- data/rbi/openai/resources/responses.rbi +14 -3
- data/sig/openai/models/admin/organization/projects/project_optional_service_tier.rbs +23 -0
- data/sig/openai/models/admin/organization/projects/project_service_tier_settings.rbs +72 -0
- data/sig/openai/models/admin/organization/projects/service_tier_setting_retrieve_params.rbs +32 -0
- data/sig/openai/models/admin/organization/projects/service_tier_setting_update_params.rbs +91 -0
- data/sig/openai/models/all_models.rbs +2 -0
- data/sig/openai/models/beta/beta_compacted_response.rbs +42 -2
- data/sig/openai/models/beta/beta_response.rbs +42 -1
- data/sig/openai/models/beta/beta_response_input_item.rbs +51 -3
- data/sig/openai/models/beta/beta_response_item.rbs +51 -3
- data/sig/openai/models/beta/beta_response_output_item.rbs +51 -3
- data/sig/openai/models/beta/beta_response_tool_search_output_item_param.rbs +188 -15
- data/sig/openai/models/beta/beta_response_usage.rbs +40 -3
- data/sig/openai/models/beta/beta_responses_client_event.rbs +67 -10
- data/sig/openai/models/beta/beta_tool.rbs +188 -15
- data/sig/openai/models/beta/response_compact_params.rbs +58 -2
- data/sig/openai/models/beta/response_create_params.rbs +67 -10
- data/sig/openai/models/beta/session_turn_error.rbs +4 -0
- data/sig/openai/models/chat/completion_create_params.rbs +3 -3
- data/sig/openai/models/conversations/conversation_item.rbs +51 -3
- data/sig/openai/models/image_edit_params.rbs +63 -12
- data/sig/openai/models/image_generate_params.rbs +150 -5
- data/sig/openai/models/image_model.rbs +4 -0
- data/sig/openai/models/images_response.rbs +59 -4
- data/sig/openai/models/realtime/realtime_audio_config_input.rbs +20 -1
- data/sig/openai/models/realtime/realtime_session_create_response.rbs +20 -1
- data/sig/openai/models/realtime/realtime_transcription_session_audio_input.rbs +20 -1
- data/sig/openai/models/realtime/realtime_transcription_session_create_response.rbs +20 -1
- data/sig/openai/models/realtime/realtime_translation_session.rbs +22 -3
- data/sig/openai/models/realtime/realtime_translation_session_create_request.rbs +22 -3
- data/sig/openai/models/realtime/realtime_translation_session_update_request.rbs +22 -3
- data/sig/openai/models/responses/compacted_response.rbs +42 -2
- data/sig/openai/models/responses/response.rbs +42 -1
- data/sig/openai/models/responses/response_compact_params.rbs +60 -2
- data/sig/openai/models/responses/response_create_params.rbs +67 -10
- data/sig/openai/models/responses/response_input_item.rbs +51 -3
- data/sig/openai/models/responses/response_item.rbs +51 -3
- data/sig/openai/models/responses/response_output_item.rbs +51 -3
- data/sig/openai/models/responses/response_tool_search_output_item_param.rbs +188 -15
- data/sig/openai/models/responses/response_usage.rbs +40 -3
- data/sig/openai/models/responses/responses_client_event.rbs +67 -10
- data/sig/openai/models/responses/tool.rbs +188 -15
- data/sig/openai/models/responses_model.rbs +2 -0
- data/sig/openai/resources/admin/organization/projects/service_tier_settings.rbs +25 -0
- data/sig/openai/resources/admin/organization/projects.rbs +2 -0
- data/sig/openai/resources/admin/organization.rbs +2 -2
- data/sig/openai/resources/beta/responses.rbs +3 -0
- data/sig/openai/resources/images.rbs +14 -0
- data/sig/openai/resources/responses.rbs +4 -0
- metadata +16 -1
|
@@ -1483,6 +1483,12 @@ module OpenAI
|
|
|
1483
1483
|
sig { returns(T.nilable(OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Size::Variants)) }
|
|
1484
1484
|
attr_accessor :size
|
|
1485
1485
|
|
|
1486
|
+
sig { returns(T.nilable(OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::SvgUsage)) }
|
|
1487
|
+
attr_reader :svg_usage
|
|
1488
|
+
|
|
1489
|
+
sig { params(svg_usage: OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::SvgUsage::OrHash).void }
|
|
1490
|
+
attr_writer :svg_usage
|
|
1491
|
+
|
|
1486
1492
|
# An image generation request made by the model.
|
|
1487
1493
|
sig do
|
|
1488
1494
|
params(
|
|
@@ -1511,6 +1517,8 @@ module OpenAI
|
|
|
1511
1517
|
|
|
1512
1518
|
size: T.nilable(T.any(String, OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Size::OrSymbol)),
|
|
1513
1519
|
|
|
1520
|
+
svg_usage: OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::SvgUsage::OrHash,
|
|
1521
|
+
|
|
1514
1522
|
type: Symbol
|
|
1515
1523
|
)
|
|
1516
1524
|
.returns(T.attached_class)
|
|
@@ -1551,6 +1559,8 @@ module OpenAI
|
|
|
1551
1559
|
# The image dimensions as a `WIDTHxHEIGHT` string, for example `1536x864`.
|
|
1552
1560
|
size: nil,
|
|
1553
1561
|
|
|
1562
|
+
svg_usage: nil,
|
|
1563
|
+
|
|
1554
1564
|
# The type of the image generation call. Always `image_generation_call`.
|
|
1555
1565
|
|
|
1556
1566
|
type: :image_generation_call
|
|
@@ -1575,7 +1585,8 @@ module OpenAI
|
|
|
1575
1585
|
),
|
|
1576
1586
|
quality: T.nilable(OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Quality::TaggedSymbol),
|
|
1577
1587
|
revised_prompt: T.nilable(String),
|
|
1578
|
-
size: T.nilable(OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Size::Variants)
|
|
1588
|
+
size: T.nilable(OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Size::Variants),
|
|
1589
|
+
svg_usage: OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::SvgUsage
|
|
1579
1590
|
}
|
|
1580
1591
|
)
|
|
1581
1592
|
end
|
|
@@ -1889,6 +1900,8 @@ module OpenAI
|
|
|
1889
1900
|
PNG = T.let(:png, OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::OutputFormat::TaggedSymbol)
|
|
1890
1901
|
WEBP = T.let(:webp, OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::OutputFormat::TaggedSymbol)
|
|
1891
1902
|
JPEG = T.let(:jpeg, OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::OutputFormat::TaggedSymbol)
|
|
1903
|
+
GIF = T.let(:gif, OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::OutputFormat::TaggedSymbol)
|
|
1904
|
+
SVG = T.let(:svg, OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::OutputFormat::TaggedSymbol)
|
|
1892
1905
|
|
|
1893
1906
|
sig {
|
|
1894
1907
|
override.returns(
|
|
@@ -1959,6 +1972,74 @@ module OpenAI
|
|
|
1959
1972
|
)
|
|
1960
1973
|
|
|
1961
1974
|
end
|
|
1975
|
+
|
|
1976
|
+
class SvgUsage < OpenAI::Internal::Type::BaseModel
|
|
1977
|
+
OrHash = T.type_alias do
|
|
1978
|
+
T.any(
|
|
1979
|
+
OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::SvgUsage,
|
|
1980
|
+
OpenAI::Internal::AnyHash
|
|
1981
|
+
)
|
|
1982
|
+
end
|
|
1983
|
+
|
|
1984
|
+
sig { returns(Integer) }
|
|
1985
|
+
attr_accessor :input_tokens
|
|
1986
|
+
|
|
1987
|
+
sig { returns(String) }
|
|
1988
|
+
attr_accessor :model
|
|
1989
|
+
|
|
1990
|
+
sig { returns(Integer) }
|
|
1991
|
+
attr_accessor :output_tokens
|
|
1992
|
+
|
|
1993
|
+
sig { returns(Integer) }
|
|
1994
|
+
attr_accessor :reasoning_tokens
|
|
1995
|
+
|
|
1996
|
+
sig { returns(Integer) }
|
|
1997
|
+
attr_accessor :total_tokens
|
|
1998
|
+
|
|
1999
|
+
sig do
|
|
2000
|
+
params(
|
|
2001
|
+
|
|
2002
|
+
input_tokens: Integer,
|
|
2003
|
+
|
|
2004
|
+
model: String,
|
|
2005
|
+
|
|
2006
|
+
output_tokens: Integer,
|
|
2007
|
+
|
|
2008
|
+
reasoning_tokens: Integer,
|
|
2009
|
+
|
|
2010
|
+
total_tokens: Integer
|
|
2011
|
+
)
|
|
2012
|
+
.returns(T.attached_class)
|
|
2013
|
+
end
|
|
2014
|
+
def self.new(
|
|
2015
|
+
|
|
2016
|
+
input_tokens:,
|
|
2017
|
+
|
|
2018
|
+
model:,
|
|
2019
|
+
|
|
2020
|
+
output_tokens:,
|
|
2021
|
+
|
|
2022
|
+
reasoning_tokens:,
|
|
2023
|
+
|
|
2024
|
+
total_tokens:
|
|
2025
|
+
)
|
|
2026
|
+
end
|
|
2027
|
+
|
|
2028
|
+
sig do
|
|
2029
|
+
override.returns(
|
|
2030
|
+
{
|
|
2031
|
+
input_tokens: Integer,
|
|
2032
|
+
model: String,
|
|
2033
|
+
output_tokens: Integer,
|
|
2034
|
+
reasoning_tokens: Integer,
|
|
2035
|
+
total_tokens: Integer
|
|
2036
|
+
}
|
|
2037
|
+
)
|
|
2038
|
+
end
|
|
2039
|
+
def to_hash
|
|
2040
|
+
end
|
|
2041
|
+
|
|
2042
|
+
end
|
|
1962
2043
|
end
|
|
1963
2044
|
|
|
1964
2045
|
class LocalShellCall < OpenAI::Internal::Type::BaseModel
|
|
@@ -1306,6 +1306,43 @@ module OpenAI
|
|
|
1306
1306
|
}
|
|
1307
1307
|
attr_writer :background
|
|
1308
1308
|
|
|
1309
|
+
# Computation spent planning the image, independently of rendering quality.
|
|
1310
|
+
# Overrides the outer response's `reasoning.effort` for image generation. When
|
|
1311
|
+
# omitted, inherits a supported outer reasoning effort or uses the image model's
|
|
1312
|
+
# configured default. For SVG output, controls the reference image, not the SVG
|
|
1313
|
+
# author's reasoning.
|
|
1314
|
+
sig {
|
|
1315
|
+
returns(
|
|
1316
|
+
T.nilable(
|
|
1317
|
+
OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Complexity::OrSymbol
|
|
1318
|
+
)
|
|
1319
|
+
)
|
|
1320
|
+
}
|
|
1321
|
+
attr_reader :complexity
|
|
1322
|
+
|
|
1323
|
+
sig {
|
|
1324
|
+
params(
|
|
1325
|
+
complexity: OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Complexity::OrSymbol
|
|
1326
|
+
)
|
|
1327
|
+
.void
|
|
1328
|
+
}
|
|
1329
|
+
attr_writer :complexity
|
|
1330
|
+
|
|
1331
|
+
# Number of GIF frames. Requires `output_format` to be `gif`. Default: 9.
|
|
1332
|
+
sig { returns(T.nilable(Integer)) }
|
|
1333
|
+
attr_reader :frame_count
|
|
1334
|
+
|
|
1335
|
+
sig { params(frame_count: Integer).void }
|
|
1336
|
+
attr_writer :frame_count
|
|
1337
|
+
|
|
1338
|
+
# Duration of each GIF frame in milliseconds, rounded to 10 ms. Requires
|
|
1339
|
+
# `output_format` to be `gif`. Default: 200.
|
|
1340
|
+
sig { returns(T.nilable(Integer)) }
|
|
1341
|
+
attr_reader :frame_duration_ms
|
|
1342
|
+
|
|
1343
|
+
sig { params(frame_duration_ms: Integer).void }
|
|
1344
|
+
attr_writer :frame_duration_ms
|
|
1345
|
+
|
|
1309
1346
|
# Control how much effort the model will exert to match the style and features,
|
|
1310
1347
|
# especially facial features, of input images. Supports `high` and `low` on
|
|
1311
1348
|
# `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For `gpt-image-2`, omit
|
|
@@ -1339,8 +1376,8 @@ module OpenAI
|
|
|
1339
1376
|
# The image generation model to use. One of `gpt-image-1-mini`, `gpt-image-1.5`,
|
|
1340
1377
|
# `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
|
|
1341
1378
|
# `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
|
|
1342
|
-
# `gpt-image-2.5-flare-2026-09-08`,
|
|
1343
|
-
# `gpt-image-2`.
|
|
1379
|
+
# `gpt-image-2.5-flare-2026-09-08`, `gpt-image-2.6-sunburst`,
|
|
1380
|
+
# `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default: `gpt-image-2`.
|
|
1344
1381
|
#
|
|
1345
1382
|
# `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
|
|
1346
1383
|
# `gpt-image-2.5-flare` instead.
|
|
@@ -1392,8 +1429,12 @@ module OpenAI
|
|
|
1392
1429
|
sig { params(output_compression: Integer).void }
|
|
1393
1430
|
attr_writer :output_compression
|
|
1394
1431
|
|
|
1395
|
-
# The output format of the generated image. One of `png`, `webp`,
|
|
1396
|
-
# Default: `png`.
|
|
1432
|
+
# The output format of the generated image. One of `png`, `webp`, `jpeg`, `gif`,
|
|
1433
|
+
# or `svg`. Default: `png`. GIF and SVG output require a model that supports the
|
|
1434
|
+
# selected format. GIF output does not support partial image streaming
|
|
1435
|
+
# (`partial_images` greater than `0`), `input_image_mask`, or custom
|
|
1436
|
+
# `output_compression`. Responses lifecycle events can still be streamed for GIF
|
|
1437
|
+
# output.
|
|
1397
1438
|
sig {
|
|
1398
1439
|
returns(
|
|
1399
1440
|
T.nilable(
|
|
@@ -1471,6 +1512,18 @@ module OpenAI
|
|
|
1471
1512
|
}
|
|
1472
1513
|
attr_writer :size
|
|
1473
1514
|
|
|
1515
|
+
# SVG author model settings. Requires `output_format` to be `svg`. When SVG model
|
|
1516
|
+
# selection is enabled, omitting this object uses the outer response model.
|
|
1517
|
+
# Otherwise, the default SVG author is used and explicit model overrides are
|
|
1518
|
+
# unavailable.
|
|
1519
|
+
sig { returns(T.nilable(OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg)) }
|
|
1520
|
+
attr_reader :svg
|
|
1521
|
+
|
|
1522
|
+
sig {
|
|
1523
|
+
params(svg: OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg::OrHash).void
|
|
1524
|
+
}
|
|
1525
|
+
attr_writer :svg
|
|
1526
|
+
|
|
1474
1527
|
# A tool that generates images using the GPT image models.
|
|
1475
1528
|
sig do
|
|
1476
1529
|
params(
|
|
@@ -1479,6 +1532,12 @@ module OpenAI
|
|
|
1479
1532
|
|
|
1480
1533
|
background: OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Background::OrSymbol,
|
|
1481
1534
|
|
|
1535
|
+
complexity: OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Complexity::OrSymbol,
|
|
1536
|
+
|
|
1537
|
+
frame_count: Integer,
|
|
1538
|
+
|
|
1539
|
+
frame_duration_ms: Integer,
|
|
1540
|
+
|
|
1482
1541
|
input_fidelity: T.nilable(
|
|
1483
1542
|
OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::InputFidelity::OrSymbol
|
|
1484
1543
|
),
|
|
@@ -1505,6 +1564,8 @@ module OpenAI
|
|
|
1505
1564
|
OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Size::OrSymbol
|
|
1506
1565
|
),
|
|
1507
1566
|
|
|
1567
|
+
svg: OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg::OrHash,
|
|
1568
|
+
|
|
1508
1569
|
type: Symbol
|
|
1509
1570
|
)
|
|
1510
1571
|
.returns(T.attached_class)
|
|
@@ -1525,6 +1586,20 @@ module OpenAI
|
|
|
1525
1586
|
# set the output format to `png` or `webp`.
|
|
1526
1587
|
background: nil,
|
|
1527
1588
|
|
|
1589
|
+
# Computation spent planning the image, independently of rendering quality.
|
|
1590
|
+
# Overrides the outer response's `reasoning.effort` for image generation. When
|
|
1591
|
+
# omitted, inherits a supported outer reasoning effort or uses the image model's
|
|
1592
|
+
# configured default. For SVG output, controls the reference image, not the SVG
|
|
1593
|
+
# author's reasoning.
|
|
1594
|
+
complexity: nil,
|
|
1595
|
+
|
|
1596
|
+
# Number of GIF frames. Requires `output_format` to be `gif`. Default: 9.
|
|
1597
|
+
frame_count: nil,
|
|
1598
|
+
|
|
1599
|
+
# Duration of each GIF frame in milliseconds, rounded to 10 ms. Requires
|
|
1600
|
+
# `output_format` to be `gif`. Default: 200.
|
|
1601
|
+
frame_duration_ms: nil,
|
|
1602
|
+
|
|
1528
1603
|
# Control how much effort the model will exert to match the style and features,
|
|
1529
1604
|
# especially facial features, of input images. Supports `high` and `low` on
|
|
1530
1605
|
# `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For `gpt-image-2`, omit
|
|
@@ -1538,8 +1613,8 @@ module OpenAI
|
|
|
1538
1613
|
# The image generation model to use. One of `gpt-image-1-mini`, `gpt-image-1.5`,
|
|
1539
1614
|
# `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
|
|
1540
1615
|
# `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
|
|
1541
|
-
# `gpt-image-2.5-flare-2026-09-08`,
|
|
1542
|
-
# `gpt-image-2`.
|
|
1616
|
+
# `gpt-image-2.5-flare-2026-09-08`, `gpt-image-2.6-sunburst`,
|
|
1617
|
+
# `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default: `gpt-image-2`.
|
|
1543
1618
|
#
|
|
1544
1619
|
# `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
|
|
1545
1620
|
# `gpt-image-2.5-flare` instead.
|
|
@@ -1551,8 +1626,12 @@ module OpenAI
|
|
|
1551
1626
|
# Compression level for the output image. Default: 100.
|
|
1552
1627
|
output_compression: nil,
|
|
1553
1628
|
|
|
1554
|
-
# The output format of the generated image. One of `png`, `webp`,
|
|
1555
|
-
# Default: `png`.
|
|
1629
|
+
# The output format of the generated image. One of `png`, `webp`, `jpeg`, `gif`,
|
|
1630
|
+
# or `svg`. Default: `png`. GIF and SVG output require a model that supports the
|
|
1631
|
+
# selected format. GIF output does not support partial image streaming
|
|
1632
|
+
# (`partial_images` greater than `0`), `input_image_mask`, or custom
|
|
1633
|
+
# `output_compression`. Responses lifecycle events can still be streamed for GIF
|
|
1634
|
+
# output.
|
|
1556
1635
|
output_format: nil,
|
|
1557
1636
|
|
|
1558
1637
|
# Number of partial images to generate in streaming mode, from 0 (default value)
|
|
@@ -1577,6 +1656,12 @@ module OpenAI
|
|
|
1577
1656
|
# `auto` is supported for models that allow automatic sizing.
|
|
1578
1657
|
size: nil,
|
|
1579
1658
|
|
|
1659
|
+
# SVG author model settings. Requires `output_format` to be `svg`. When SVG model
|
|
1660
|
+
# selection is enabled, omitting this object uses the outer response model.
|
|
1661
|
+
# Otherwise, the default SVG author is used and explicit model overrides are
|
|
1662
|
+
# unavailable.
|
|
1663
|
+
svg: nil,
|
|
1664
|
+
|
|
1580
1665
|
# The type of the image generation tool. Always `image_generation`.
|
|
1581
1666
|
|
|
1582
1667
|
type: :image_generation
|
|
@@ -1589,6 +1674,9 @@ module OpenAI
|
|
|
1589
1674
|
type: Symbol,
|
|
1590
1675
|
action: OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Action::OrSymbol,
|
|
1591
1676
|
background: OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Background::OrSymbol,
|
|
1677
|
+
complexity: OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Complexity::OrSymbol,
|
|
1678
|
+
frame_count: Integer,
|
|
1679
|
+
frame_duration_ms: Integer,
|
|
1592
1680
|
input_fidelity: T.nilable(
|
|
1593
1681
|
OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::InputFidelity::OrSymbol
|
|
1594
1682
|
),
|
|
@@ -1605,7 +1693,8 @@ module OpenAI
|
|
|
1605
1693
|
size: T.any(
|
|
1606
1694
|
String,
|
|
1607
1695
|
OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Size::OrSymbol
|
|
1608
|
-
)
|
|
1696
|
+
),
|
|
1697
|
+
svg: OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg
|
|
1609
1698
|
}
|
|
1610
1699
|
)
|
|
1611
1700
|
end
|
|
@@ -1686,6 +1775,43 @@ module OpenAI
|
|
|
1686
1775
|
end
|
|
1687
1776
|
end
|
|
1688
1777
|
|
|
1778
|
+
# Computation spent planning the image, independently of rendering quality.
|
|
1779
|
+
# Overrides the outer response's `reasoning.effort` for image generation. When
|
|
1780
|
+
# omitted, inherits a supported outer reasoning effort or uses the image model's
|
|
1781
|
+
# configured default. For SVG output, controls the reference image, not the SVG
|
|
1782
|
+
# author's reasoning.
|
|
1783
|
+
module Complexity
|
|
1784
|
+
extend OpenAI::Internal::Type::Enum
|
|
1785
|
+
|
|
1786
|
+
TaggedSymbol = T.type_alias {
|
|
1787
|
+
T.all(Symbol, OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Complexity)
|
|
1788
|
+
}
|
|
1789
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
1790
|
+
|
|
1791
|
+
LOW = T.let(
|
|
1792
|
+
:low,
|
|
1793
|
+
OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Complexity::TaggedSymbol
|
|
1794
|
+
)
|
|
1795
|
+
MEDIUM = T.let(
|
|
1796
|
+
:medium,
|
|
1797
|
+
OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Complexity::TaggedSymbol
|
|
1798
|
+
)
|
|
1799
|
+
HIGH = T.let(
|
|
1800
|
+
:high,
|
|
1801
|
+
OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Complexity::TaggedSymbol
|
|
1802
|
+
)
|
|
1803
|
+
|
|
1804
|
+
sig {
|
|
1805
|
+
override.returns(
|
|
1806
|
+
T::Array[
|
|
1807
|
+
OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Complexity::TaggedSymbol
|
|
1808
|
+
]
|
|
1809
|
+
)
|
|
1810
|
+
}
|
|
1811
|
+
def self.values
|
|
1812
|
+
end
|
|
1813
|
+
end
|
|
1814
|
+
|
|
1689
1815
|
# Control how much effort the model will exert to match the style and features,
|
|
1690
1816
|
# especially facial features, of input images. Supports `high` and `low` on
|
|
1691
1817
|
# `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For `gpt-image-2`, omit
|
|
@@ -1775,8 +1901,8 @@ module OpenAI
|
|
|
1775
1901
|
# The image generation model to use. One of `gpt-image-1-mini`, `gpt-image-1.5`,
|
|
1776
1902
|
# `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
|
|
1777
1903
|
# `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
|
|
1778
|
-
# `gpt-image-2.5-flare-2026-09-08`,
|
|
1779
|
-
# `gpt-image-2`.
|
|
1904
|
+
# `gpt-image-2.5-flare-2026-09-08`, `gpt-image-2.6-sunburst`,
|
|
1905
|
+
# `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default: `gpt-image-2`.
|
|
1780
1906
|
#
|
|
1781
1907
|
# `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
|
|
1782
1908
|
# `gpt-image-2.5-flare` instead.
|
|
@@ -1836,6 +1962,14 @@ module OpenAI
|
|
|
1836
1962
|
:"gpt-image-2.5-flare-2026-09-08",
|
|
1837
1963
|
OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Model::TaggedSymbol
|
|
1838
1964
|
)
|
|
1965
|
+
GPT_IMAGE_2_6_SUNBURST = T.let(
|
|
1966
|
+
:"gpt-image-2.6-sunburst",
|
|
1967
|
+
OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Model::TaggedSymbol
|
|
1968
|
+
)
|
|
1969
|
+
GPT_IMAGE_2_6_FLARE = T.let(
|
|
1970
|
+
:"gpt-image-2.6-flare",
|
|
1971
|
+
OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Model::TaggedSymbol
|
|
1972
|
+
)
|
|
1839
1973
|
GPT_IMAGE_1_5 = T.let(
|
|
1840
1974
|
:"gpt-image-1.5",
|
|
1841
1975
|
OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Model::TaggedSymbol
|
|
@@ -1876,8 +2010,12 @@ module OpenAI
|
|
|
1876
2010
|
end
|
|
1877
2011
|
end
|
|
1878
2012
|
|
|
1879
|
-
# The output format of the generated image. One of `png`, `webp`,
|
|
1880
|
-
# Default: `png`.
|
|
2013
|
+
# The output format of the generated image. One of `png`, `webp`, `jpeg`, `gif`,
|
|
2014
|
+
# or `svg`. Default: `png`. GIF and SVG output require a model that supports the
|
|
2015
|
+
# selected format. GIF output does not support partial image streaming
|
|
2016
|
+
# (`partial_images` greater than `0`), `input_image_mask`, or custom
|
|
2017
|
+
# `output_compression`. Responses lifecycle events can still be streamed for GIF
|
|
2018
|
+
# output.
|
|
1881
2019
|
module OutputFormat
|
|
1882
2020
|
extend OpenAI::Internal::Type::Enum
|
|
1883
2021
|
|
|
@@ -1898,6 +2036,14 @@ module OpenAI
|
|
|
1898
2036
|
:jpeg,
|
|
1899
2037
|
OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::OutputFormat::TaggedSymbol
|
|
1900
2038
|
)
|
|
2039
|
+
GIF = T.let(
|
|
2040
|
+
:gif,
|
|
2041
|
+
OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::OutputFormat::TaggedSymbol
|
|
2042
|
+
)
|
|
2043
|
+
SVG = T.let(
|
|
2044
|
+
:svg,
|
|
2045
|
+
OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::OutputFormat::TaggedSymbol
|
|
2046
|
+
)
|
|
1901
2047
|
|
|
1902
2048
|
sig {
|
|
1903
2049
|
override.returns(
|
|
@@ -2010,6 +2156,185 @@ module OpenAI
|
|
|
2010
2156
|
)
|
|
2011
2157
|
|
|
2012
2158
|
end
|
|
2159
|
+
|
|
2160
|
+
class Svg < OpenAI::Internal::Type::BaseModel
|
|
2161
|
+
OrHash = T.type_alias do
|
|
2162
|
+
T.any(
|
|
2163
|
+
OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg,
|
|
2164
|
+
OpenAI::Internal::AnyHash
|
|
2165
|
+
)
|
|
2166
|
+
end
|
|
2167
|
+
|
|
2168
|
+
sig { returns(T.nilable(String)) }
|
|
2169
|
+
attr_reader :model
|
|
2170
|
+
|
|
2171
|
+
sig { params(model: String).void }
|
|
2172
|
+
attr_writer :model
|
|
2173
|
+
|
|
2174
|
+
# Reasoning effort for SVG authoring. When omitted, uses the author model's
|
|
2175
|
+
# default in both Images and Responses.
|
|
2176
|
+
sig {
|
|
2177
|
+
returns(
|
|
2178
|
+
T.nilable(OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg::Reasoning)
|
|
2179
|
+
)
|
|
2180
|
+
}
|
|
2181
|
+
attr_reader :reasoning
|
|
2182
|
+
|
|
2183
|
+
sig {
|
|
2184
|
+
params(
|
|
2185
|
+
reasoning: T.nilable(
|
|
2186
|
+
OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg::Reasoning::OrHash
|
|
2187
|
+
)
|
|
2188
|
+
)
|
|
2189
|
+
.void
|
|
2190
|
+
}
|
|
2191
|
+
attr_writer :reasoning
|
|
2192
|
+
|
|
2193
|
+
# SVG author model settings. Requires `output_format` to be `svg`. When SVG model
|
|
2194
|
+
# selection is enabled, omitting this object uses the outer response model.
|
|
2195
|
+
# Otherwise, the default SVG author is used and explicit model overrides are
|
|
2196
|
+
# unavailable.
|
|
2197
|
+
sig do
|
|
2198
|
+
params(
|
|
2199
|
+
|
|
2200
|
+
model: String,
|
|
2201
|
+
|
|
2202
|
+
reasoning: T.nilable(
|
|
2203
|
+
OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg::Reasoning::OrHash
|
|
2204
|
+
)
|
|
2205
|
+
)
|
|
2206
|
+
.returns(T.attached_class)
|
|
2207
|
+
end
|
|
2208
|
+
def self.new(
|
|
2209
|
+
|
|
2210
|
+
model: nil,
|
|
2211
|
+
|
|
2212
|
+
# Reasoning effort for SVG authoring. When omitted, uses the author model's
|
|
2213
|
+
# default in both Images and Responses.
|
|
2214
|
+
|
|
2215
|
+
reasoning: nil
|
|
2216
|
+
)
|
|
2217
|
+
end
|
|
2218
|
+
|
|
2219
|
+
sig do
|
|
2220
|
+
override.returns(
|
|
2221
|
+
{
|
|
2222
|
+
model: String,
|
|
2223
|
+
reasoning: T.nilable(
|
|
2224
|
+
OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg::Reasoning
|
|
2225
|
+
)
|
|
2226
|
+
}
|
|
2227
|
+
)
|
|
2228
|
+
end
|
|
2229
|
+
def to_hash
|
|
2230
|
+
end
|
|
2231
|
+
|
|
2232
|
+
class Reasoning < OpenAI::Internal::Type::BaseModel
|
|
2233
|
+
OrHash = T.type_alias do
|
|
2234
|
+
T.any(
|
|
2235
|
+
OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg::Reasoning,
|
|
2236
|
+
OpenAI::Internal::AnyHash
|
|
2237
|
+
)
|
|
2238
|
+
end
|
|
2239
|
+
|
|
2240
|
+
# Controls how much effort the model should spend on reasoning for this request.
|
|
2241
|
+
sig {
|
|
2242
|
+
returns(
|
|
2243
|
+
T.nilable(
|
|
2244
|
+
OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg::Reasoning::Effort::OrSymbol
|
|
2245
|
+
)
|
|
2246
|
+
)
|
|
2247
|
+
}
|
|
2248
|
+
attr_reader :effort
|
|
2249
|
+
|
|
2250
|
+
sig {
|
|
2251
|
+
params(
|
|
2252
|
+
effort: OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg::Reasoning::Effort::OrSymbol
|
|
2253
|
+
)
|
|
2254
|
+
.void
|
|
2255
|
+
}
|
|
2256
|
+
attr_writer :effort
|
|
2257
|
+
|
|
2258
|
+
# Reasoning effort for SVG authoring. When omitted, uses the author model's
|
|
2259
|
+
# default in both Images and Responses.
|
|
2260
|
+
sig do
|
|
2261
|
+
params(
|
|
2262
|
+
|
|
2263
|
+
effort: OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg::Reasoning::Effort::OrSymbol
|
|
2264
|
+
)
|
|
2265
|
+
.returns(T.attached_class)
|
|
2266
|
+
end
|
|
2267
|
+
def self.new(
|
|
2268
|
+
|
|
2269
|
+
# Controls how much effort the model should spend on reasoning for this request.
|
|
2270
|
+
|
|
2271
|
+
effort: nil
|
|
2272
|
+
)
|
|
2273
|
+
end
|
|
2274
|
+
|
|
2275
|
+
sig do
|
|
2276
|
+
override.returns(
|
|
2277
|
+
{
|
|
2278
|
+
effort: OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg::Reasoning::Effort::OrSymbol
|
|
2279
|
+
}
|
|
2280
|
+
)
|
|
2281
|
+
end
|
|
2282
|
+
def to_hash
|
|
2283
|
+
end
|
|
2284
|
+
|
|
2285
|
+
# Controls how much effort the model should spend on reasoning for this request.
|
|
2286
|
+
module Effort
|
|
2287
|
+
extend OpenAI::Internal::Type::Enum
|
|
2288
|
+
|
|
2289
|
+
TaggedSymbol = T.type_alias {
|
|
2290
|
+
T.all(
|
|
2291
|
+
Symbol,
|
|
2292
|
+
OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg::Reasoning::Effort
|
|
2293
|
+
)
|
|
2294
|
+
}
|
|
2295
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
2296
|
+
|
|
2297
|
+
NONE = T.let(
|
|
2298
|
+
:none,
|
|
2299
|
+
OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg::Reasoning::Effort::TaggedSymbol
|
|
2300
|
+
)
|
|
2301
|
+
MINIMAL = T.let(
|
|
2302
|
+
:minimal,
|
|
2303
|
+
OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg::Reasoning::Effort::TaggedSymbol
|
|
2304
|
+
)
|
|
2305
|
+
LOW = T.let(
|
|
2306
|
+
:low,
|
|
2307
|
+
OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg::Reasoning::Effort::TaggedSymbol
|
|
2308
|
+
)
|
|
2309
|
+
MEDIUM = T.let(
|
|
2310
|
+
:medium,
|
|
2311
|
+
OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg::Reasoning::Effort::TaggedSymbol
|
|
2312
|
+
)
|
|
2313
|
+
HIGH = T.let(
|
|
2314
|
+
:high,
|
|
2315
|
+
OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg::Reasoning::Effort::TaggedSymbol
|
|
2316
|
+
)
|
|
2317
|
+
XHIGH = T.let(
|
|
2318
|
+
:xhigh,
|
|
2319
|
+
OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg::Reasoning::Effort::TaggedSymbol
|
|
2320
|
+
)
|
|
2321
|
+
MAX = T.let(
|
|
2322
|
+
:max,
|
|
2323
|
+
OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg::Reasoning::Effort::TaggedSymbol
|
|
2324
|
+
)
|
|
2325
|
+
|
|
2326
|
+
sig {
|
|
2327
|
+
override.returns(
|
|
2328
|
+
T::Array[
|
|
2329
|
+
OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::Svg::Reasoning::Effort::TaggedSymbol
|
|
2330
|
+
]
|
|
2331
|
+
)
|
|
2332
|
+
}
|
|
2333
|
+
def self.values
|
|
2334
|
+
end
|
|
2335
|
+
end
|
|
2336
|
+
end
|
|
2337
|
+
end
|
|
2013
2338
|
end
|
|
2014
2339
|
|
|
2015
2340
|
class LocalShell < OpenAI::Internal::Type::BaseModel
|
|
@@ -110,13 +110,26 @@ module OpenAI
|
|
|
110
110
|
sig { returns(Integer) }
|
|
111
111
|
attr_accessor :cached_tokens
|
|
112
112
|
|
|
113
|
+
sig { returns(T.nilable(OpenAI::Beta::BetaResponseUsage::InputTokensDetails::CacheWriteTokensDetails)) }
|
|
114
|
+
attr_reader :cache_write_tokens_details
|
|
115
|
+
|
|
116
|
+
sig {
|
|
117
|
+
params(
|
|
118
|
+
cache_write_tokens_details: OpenAI::Beta::BetaResponseUsage::InputTokensDetails::CacheWriteTokensDetails::OrHash
|
|
119
|
+
)
|
|
120
|
+
.void
|
|
121
|
+
}
|
|
122
|
+
attr_writer :cache_write_tokens_details
|
|
123
|
+
|
|
113
124
|
# A detailed breakdown of the input tokens.
|
|
114
125
|
sig do
|
|
115
126
|
params(
|
|
116
127
|
|
|
117
128
|
cache_write_tokens: Integer,
|
|
118
129
|
|
|
119
|
-
cached_tokens: Integer
|
|
130
|
+
cached_tokens: Integer,
|
|
131
|
+
|
|
132
|
+
cache_write_tokens_details: OpenAI::Beta::BetaResponseUsage::InputTokensDetails::CacheWriteTokensDetails::OrHash
|
|
120
133
|
)
|
|
121
134
|
.returns(T.attached_class)
|
|
122
135
|
end
|
|
@@ -127,19 +140,69 @@ module OpenAI
|
|
|
127
140
|
|
|
128
141
|
# The number of tokens that were retrieved from the cache.
|
|
129
142
|
# [More on prompt caching](https://developers.openai.com/api/docs/guides/prompt-caching).
|
|
143
|
+
cached_tokens:,
|
|
130
144
|
|
|
131
|
-
|
|
145
|
+
cache_write_tokens_details: nil
|
|
132
146
|
)
|
|
133
147
|
end
|
|
134
148
|
|
|
135
149
|
sig do
|
|
136
150
|
override.returns(
|
|
137
|
-
{
|
|
151
|
+
{
|
|
152
|
+
cache_write_tokens: Integer,
|
|
153
|
+
cached_tokens: Integer,
|
|
154
|
+
cache_write_tokens_details: OpenAI::Beta::BetaResponseUsage::InputTokensDetails::CacheWriteTokensDetails
|
|
155
|
+
}
|
|
138
156
|
)
|
|
139
157
|
end
|
|
140
158
|
def to_hash
|
|
141
159
|
end
|
|
142
160
|
|
|
161
|
+
class CacheWriteTokensDetails < OpenAI::Internal::Type::BaseModel
|
|
162
|
+
OrHash = T.type_alias do
|
|
163
|
+
T.any(
|
|
164
|
+
OpenAI::Beta::BetaResponseUsage::InputTokensDetails::CacheWriteTokensDetails,
|
|
165
|
+
OpenAI::Internal::AnyHash
|
|
166
|
+
)
|
|
167
|
+
end
|
|
168
|
+
|
|
169
|
+
# The number of input tokens written with 12-hour retention.
|
|
170
|
+
sig { returns(Integer) }
|
|
171
|
+
attr_accessor :ttl_12h_tokens
|
|
172
|
+
|
|
173
|
+
# The number of input tokens written with 30-minute retention.
|
|
174
|
+
sig { returns(Integer) }
|
|
175
|
+
attr_accessor :ttl_30m_tokens
|
|
176
|
+
|
|
177
|
+
sig do
|
|
178
|
+
params(
|
|
179
|
+
|
|
180
|
+
ttl_12h_tokens: Integer,
|
|
181
|
+
|
|
182
|
+
ttl_30m_tokens: Integer
|
|
183
|
+
)
|
|
184
|
+
.returns(T.attached_class)
|
|
185
|
+
end
|
|
186
|
+
def self.new(
|
|
187
|
+
|
|
188
|
+
# The number of input tokens written with 12-hour retention.
|
|
189
|
+
ttl_12h_tokens:,
|
|
190
|
+
|
|
191
|
+
# The number of input tokens written with 30-minute retention.
|
|
192
|
+
|
|
193
|
+
ttl_30m_tokens:
|
|
194
|
+
)
|
|
195
|
+
end
|
|
196
|
+
|
|
197
|
+
sig do
|
|
198
|
+
override.returns(
|
|
199
|
+
{ttl_12h_tokens: Integer, ttl_30m_tokens: Integer}
|
|
200
|
+
)
|
|
201
|
+
end
|
|
202
|
+
def to_hash
|
|
203
|
+
end
|
|
204
|
+
|
|
205
|
+
end
|
|
143
206
|
end
|
|
144
207
|
|
|
145
208
|
class OutputTokensDetails < OpenAI::Internal::Type::BaseModel
|