openai 0.74.0 → 0.76.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 (33) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +21 -0
  3. data/README.md +8 -7
  4. data/VERSIONING.md +77 -0
  5. data/lib/openai/client.rb +4 -0
  6. data/lib/openai/internal/type/base_stream.rb +1 -1
  7. data/lib/openai/models/beta/response_compact_params.rb +32 -3
  8. data/lib/openai/models/content_provenance_check.rb +221 -0
  9. data/lib/openai/models/content_provenance_check_create_params.rb +22 -0
  10. data/lib/openai/models/responses/response_compact_params.rb +32 -3
  11. data/lib/openai/models.rb +4 -0
  12. data/lib/openai/resources/beta/responses.rb +1 -1
  13. data/lib/openai/resources/content_provenance_checks.rb +46 -0
  14. data/lib/openai/resources/responses.rb +1 -1
  15. data/lib/openai/version.rb +1 -1
  16. data/lib/openai.rb +3 -0
  17. data/rbi/openai/client.rbi +3 -0
  18. data/rbi/openai/models/beta/response_compact_params.rbi +50 -3
  19. data/rbi/openai/models/content_provenance_check.rbi +413 -0
  20. data/rbi/openai/models/content_provenance_check_create_params.rbi +46 -0
  21. data/rbi/openai/models/responses/response_compact_params.rbi +50 -3
  22. data/rbi/openai/models.rbi +5 -0
  23. data/rbi/openai/resources/beta/responses.rbi +15 -1
  24. data/rbi/openai/resources/content_provenance_checks.rbi +34 -0
  25. data/rbi/openai/resources/responses.rbi +15 -1
  26. data/sig/openai/client.rbs +2 -0
  27. data/sig/openai/models/beta/response_compact_params.rbs +2 -1
  28. data/sig/openai/models/content_provenance_check.rbs +159 -0
  29. data/sig/openai/models/content_provenance_check_create_params.rbs +24 -0
  30. data/sig/openai/models/responses/response_compact_params.rbs +2 -1
  31. data/sig/openai/models.rbs +4 -0
  32. data/sig/openai/resources/content_provenance_checks.rbs +12 -0
  33. metadata +15 -8
@@ -0,0 +1,34 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Resources
5
+ class ContentProvenanceChecks
6
+ # Check whether an image or audio file contains known OpenAI provenance signals.
7
+ # [Learn more about content provenance](/api/docs/guides/content-provenance).
8
+ #
9
+ # If `not_detected`, it means the tool did not find supported signals in the
10
+ # uploaded file. The content could still have been generated by OpenAI if the
11
+ # metadata was stripped or has evidence of tampering, the watermark was degraded,
12
+ # it comes from a legacy generation model, or it was created before provenance
13
+ # signals were available. Content could also still be AI-generated by another
14
+ # company's model, which the tool currently does not detect.
15
+ sig do
16
+ params(
17
+ file: OpenAI::Internal::FileInput,
18
+ request_options: OpenAI::RequestOptions::OrHash
19
+ ).returns(OpenAI::ContentProvenanceCheck)
20
+ end
21
+ def create(
22
+ # The image or audio file to check for supported OpenAI provenance signals.
23
+ file:,
24
+ request_options: {}
25
+ )
26
+ end
27
+
28
+ # @api private
29
+ sig { params(client: OpenAI::Client).returns(T.attached_class) }
30
+ def self.new(client:)
31
+ end
32
+ end
33
+ end
34
+ end
@@ -1112,7 +1112,21 @@ module OpenAI
1112
1112
  prompt_cache_options: nil,
1113
1113
  # How long to retain a prompt cache entry created by this request.
1114
1114
  prompt_cache_retention: nil,
1115
- # The service tier to use for this request.
1115
+ # Specifies the processing type used for serving the request. - If set to 'auto',
1116
+ # then the request will be processed with the service tier configured in the
1117
+ # Project settings. Unless otherwise configured, the Project will use 'default'. -
1118
+ # If set to 'default', then the request will be processed with the standard
1119
+ # pricing and performance for the selected model. - If set to
1120
+ # '[flex](https://platform.openai.com/docs/guides/flex-processing)', then the
1121
+ # request will be processed with the Flex Processing service tier. - To opt-in to
1122
+ # [Fast mode](/api/docs/guides/fast-mode) at the request level, include the
1123
+ # `service_tier=fast` or `service_tier=priority` parameter for Responses or Chat
1124
+ # Completions. The response will show `service_tier=priority` regardless of if you
1125
+ # specify `service_tier=fast` or `priority` in your request. - When not set, the
1126
+ # default behavior is 'auto'. When the `service_tier` parameter is set, the
1127
+ # response body will include the `service_tier` value based on the processing mode
1128
+ # actually used to serve the request. This response value may be different from
1129
+ # the value set in the parameter.
1116
1130
  service_tier: nil,
1117
1131
  request_options: {}
1118
1132
  )
@@ -30,6 +30,8 @@ module OpenAI
30
30
 
31
31
  attr_reader images: OpenAI::Resources::Images
32
32
 
33
+ attr_reader content_provenance_checks: OpenAI::Resources::ContentProvenanceChecks
34
+
33
35
  attr_reader audio: OpenAI::Resources::Audio
34
36
 
35
37
  attr_reader moderations: OpenAI::Resources::Moderations
@@ -340,13 +340,14 @@ module OpenAI
340
340
  def self?.values: -> ::Array[OpenAI::Models::Beta::ResponseCompactParams::prompt_cache_retention]
341
341
  end
342
342
 
343
- type service_tier = :auto | :default | :flex | :priority
343
+ type service_tier = :auto | :default | :fast | :flex | :priority
344
344
 
345
345
  module ServiceTier
346
346
  extend OpenAI::Internal::Type::Enum
347
347
 
348
348
  AUTO: :auto
349
349
  DEFAULT: :default
350
+ FAST: :fast
350
351
  FLEX: :flex
351
352
  PRIORITY: :priority
352
353
 
@@ -0,0 +1,159 @@
1
+ module OpenAI
2
+ module Models
3
+ type content_provenance_check =
4
+ {
5
+ created_at: Integer,
6
+ object: OpenAI::Models::ContentProvenanceCheck::object,
7
+ results: ::Array[OpenAI::Models::ContentProvenanceCheck::result]
8
+ }
9
+
10
+ class ContentProvenanceCheck < OpenAI::Internal::Type::BaseModel
11
+ attr_accessor created_at: Integer
12
+
13
+ attr_accessor object: OpenAI::Models::ContentProvenanceCheck::object
14
+
15
+ attr_accessor results: ::Array[OpenAI::Models::ContentProvenanceCheck::result]
16
+
17
+ def initialize: (
18
+ created_at: Integer,
19
+ object: OpenAI::Models::ContentProvenanceCheck::object,
20
+ results: ::Array[OpenAI::Models::ContentProvenanceCheck::result]
21
+ ) -> void
22
+
23
+ def to_hash: -> {
24
+ created_at: Integer,
25
+ object: OpenAI::Models::ContentProvenanceCheck::object,
26
+ results: ::Array[OpenAI::Models::ContentProvenanceCheck::result]
27
+ }
28
+
29
+ type object = :content_provenance_check
30
+
31
+ module Object
32
+ extend OpenAI::Internal::Type::Enum
33
+
34
+ CONTENT_PROVENANCE_CHECK: :content_provenance_check
35
+
36
+ def self?.values: -> ::Array[OpenAI::Models::ContentProvenanceCheck::object]
37
+ end
38
+
39
+ type result =
40
+ OpenAI::ContentProvenanceCheck::Result::C2PA
41
+ | OpenAI::ContentProvenanceCheck::Result::SynthID
42
+
43
+ module Result
44
+ extend OpenAI::Internal::Type::Union
45
+
46
+ type c2pa =
47
+ {
48
+ generated_at: String?,
49
+ issuer: String?,
50
+ model: String?,
51
+ outcome: OpenAI::Models::ContentProvenanceCheck::Result::C2PA::outcome,
52
+ type: :c2pa,
53
+ validation_state: OpenAI::Models::ContentProvenanceCheck::Result::C2PA::validation_state
54
+ }
55
+
56
+ class C2PA < OpenAI::Internal::Type::BaseModel
57
+ attr_accessor generated_at: String?
58
+
59
+ attr_accessor issuer: String?
60
+
61
+ attr_accessor model: String?
62
+
63
+ attr_accessor outcome: OpenAI::Models::ContentProvenanceCheck::Result::C2PA::outcome
64
+
65
+ attr_accessor type: :c2pa
66
+
67
+ attr_accessor validation_state: OpenAI::Models::ContentProvenanceCheck::Result::C2PA::validation_state
68
+
69
+ def initialize: (
70
+ generated_at: String?,
71
+ issuer: String?,
72
+ model: String?,
73
+ outcome: OpenAI::Models::ContentProvenanceCheck::Result::C2PA::outcome,
74
+ validation_state: OpenAI::Models::ContentProvenanceCheck::Result::C2PA::validation_state,
75
+ ?type: :c2pa
76
+ ) -> void
77
+
78
+ def to_hash: -> {
79
+ generated_at: String?,
80
+ issuer: String?,
81
+ model: String?,
82
+ outcome: OpenAI::Models::ContentProvenanceCheck::Result::C2PA::outcome,
83
+ type: :c2pa,
84
+ validation_state: OpenAI::Models::ContentProvenanceCheck::Result::C2PA::validation_state
85
+ }
86
+
87
+ type outcome = :detected | :not_detected
88
+
89
+ module Outcome
90
+ extend OpenAI::Internal::Type::Enum
91
+
92
+ DETECTED: :detected
93
+ NOT_DETECTED: :not_detected
94
+
95
+ def self?.values: -> ::Array[OpenAI::Models::ContentProvenanceCheck::Result::C2PA::outcome]
96
+ end
97
+
98
+ type validation_state = :trusted | :valid | :invalid | :not_present
99
+
100
+ module ValidationState
101
+ extend OpenAI::Internal::Type::Enum
102
+
103
+ TRUSTED: :trusted
104
+ VALID: :valid
105
+ INVALID: :invalid
106
+ NOT_PRESENT: :not_present
107
+
108
+ def self?.values: -> ::Array[OpenAI::Models::ContentProvenanceCheck::Result::C2PA::validation_state]
109
+ end
110
+ end
111
+
112
+ type synthid =
113
+ {
114
+ generated_at: String?,
115
+ model: String?,
116
+ outcome: OpenAI::Models::ContentProvenanceCheck::Result::SynthID::outcome,
117
+ type: :synthid
118
+ }
119
+
120
+ class SynthID < OpenAI::Internal::Type::BaseModel
121
+ attr_accessor generated_at: String?
122
+
123
+ attr_accessor model: String?
124
+
125
+ attr_accessor outcome: OpenAI::Models::ContentProvenanceCheck::Result::SynthID::outcome
126
+
127
+ attr_accessor type: :synthid
128
+
129
+ def initialize: (
130
+ generated_at: String?,
131
+ model: String?,
132
+ outcome: OpenAI::Models::ContentProvenanceCheck::Result::SynthID::outcome,
133
+ ?type: :synthid
134
+ ) -> void
135
+
136
+ def to_hash: -> {
137
+ generated_at: String?,
138
+ model: String?,
139
+ outcome: OpenAI::Models::ContentProvenanceCheck::Result::SynthID::outcome,
140
+ type: :synthid
141
+ }
142
+
143
+ type outcome = :detected | :not_detected
144
+
145
+ module Outcome
146
+ extend OpenAI::Internal::Type::Enum
147
+
148
+ DETECTED: :detected
149
+ NOT_DETECTED: :not_detected
150
+
151
+ def self?.values: -> ::Array[OpenAI::Models::ContentProvenanceCheck::Result::SynthID::outcome]
152
+ end
153
+ end
154
+
155
+ def self?.variants: -> ::Array[OpenAI::Models::ContentProvenanceCheck::result]
156
+ end
157
+ end
158
+ end
159
+ end
@@ -0,0 +1,24 @@
1
+ module OpenAI
2
+ module Models
3
+ type content_provenance_check_create_params =
4
+ { file: OpenAI::Internal::file_input }
5
+ & OpenAI::Internal::Type::request_parameters
6
+
7
+ class ContentProvenanceCheckCreateParams < OpenAI::Internal::Type::BaseModel
8
+ extend OpenAI::Internal::Type::RequestParameters::Converter
9
+ include OpenAI::Internal::Type::RequestParameters
10
+
11
+ attr_accessor file: OpenAI::Internal::file_input
12
+
13
+ def initialize: (
14
+ file: OpenAI::Internal::file_input,
15
+ ?request_options: OpenAI::request_opts
16
+ ) -> void
17
+
18
+ def to_hash: -> {
19
+ file: OpenAI::Internal::file_input,
20
+ request_options: OpenAI::RequestOptions
21
+ }
22
+ end
23
+ end
24
+ end
@@ -331,13 +331,14 @@ module OpenAI
331
331
  def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseCompactParams::prompt_cache_retention]
332
332
  end
333
333
 
334
- type service_tier = :auto | :default | :flex | :priority
334
+ type service_tier = :auto | :default | :fast | :flex | :priority
335
335
 
336
336
  module ServiceTier
337
337
  extend OpenAI::Internal::Type::Enum
338
338
 
339
339
  AUTO: :auto
340
340
  DEFAULT: :default
341
+ FAST: :fast
341
342
  FLEX: :flex
342
343
  PRIORITY: :priority
343
344
 
@@ -55,6 +55,10 @@ module OpenAI
55
55
 
56
56
  module Containers = OpenAI::Models::Containers
57
57
 
58
+ class ContentProvenanceCheck = OpenAI::Models::ContentProvenanceCheck
59
+
60
+ class ContentProvenanceCheckCreateParams = OpenAI::Models::ContentProvenanceCheckCreateParams
61
+
58
62
  module Conversations = OpenAI::Models::Conversations
59
63
 
60
64
  class CreateEmbeddingResponse = OpenAI::Models::CreateEmbeddingResponse
@@ -0,0 +1,12 @@
1
+ module OpenAI
2
+ module Resources
3
+ class ContentProvenanceChecks
4
+ def create: (
5
+ file: OpenAI::Internal::file_input,
6
+ ?request_options: OpenAI::request_opts
7
+ ) -> OpenAI::ContentProvenanceCheck
8
+
9
+ def initialize: (client: OpenAI::Client) -> void
10
+ end
11
+ end
12
+ end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openai
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.74.0
4
+ version: 0.76.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenAI
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2026-07-30 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: base64
@@ -52,17 +51,18 @@ dependencies:
52
51
  - - ">="
53
52
  - !ruby/object:Gem::Version
54
53
  version: '0'
55
- description:
56
54
  email: support@openai.com
57
55
  executables: []
58
56
  extensions: []
59
57
  extra_rdoc_files:
60
58
  - README.md
59
+ - VERSIONING.md
61
60
  files:
62
61
  - ".ignore"
63
62
  - CHANGELOG.md
64
63
  - README.md
65
64
  - SECURITY.md
65
+ - VERSIONING.md
66
66
  - lib/openai.rb
67
67
  - lib/openai/auth/subject_token_provider.rb
68
68
  - lib/openai/auth/subject_token_providers/azure_managed_identity_token_provider.rb
@@ -679,6 +679,8 @@ files:
679
679
  - lib/openai/models/containers/file_retrieve_params.rb
680
680
  - lib/openai/models/containers/file_retrieve_response.rb
681
681
  - lib/openai/models/containers/files/content_retrieve_params.rb
682
+ - lib/openai/models/content_provenance_check.rb
683
+ - lib/openai/models/content_provenance_check_create_params.rb
682
684
  - lib/openai/models/conversations/computer_screenshot_content.rb
683
685
  - lib/openai/models/conversations/conversation.rb
684
686
  - lib/openai/models/conversations/conversation_create_params.rb
@@ -1253,6 +1255,7 @@ files:
1253
1255
  - lib/openai/resources/containers.rb
1254
1256
  - lib/openai/resources/containers/files.rb
1255
1257
  - lib/openai/resources/containers/files/content.rb
1258
+ - lib/openai/resources/content_provenance_checks.rb
1256
1259
  - lib/openai/resources/conversations.rb
1257
1260
  - lib/openai/resources/conversations/items.rb
1258
1261
  - lib/openai/resources/embeddings.rb
@@ -1898,6 +1901,8 @@ files:
1898
1901
  - rbi/openai/models/containers/file_retrieve_params.rbi
1899
1902
  - rbi/openai/models/containers/file_retrieve_response.rbi
1900
1903
  - rbi/openai/models/containers/files/content_retrieve_params.rbi
1904
+ - rbi/openai/models/content_provenance_check.rbi
1905
+ - rbi/openai/models/content_provenance_check_create_params.rbi
1901
1906
  - rbi/openai/models/conversations/computer_screenshot_content.rbi
1902
1907
  - rbi/openai/models/conversations/conversation.rbi
1903
1908
  - rbi/openai/models/conversations/conversation_create_params.rbi
@@ -2472,6 +2477,7 @@ files:
2472
2477
  - rbi/openai/resources/containers.rbi
2473
2478
  - rbi/openai/resources/containers/files.rbi
2474
2479
  - rbi/openai/resources/containers/files/content.rbi
2480
+ - rbi/openai/resources/content_provenance_checks.rbi
2475
2481
  - rbi/openai/resources/conversations.rbi
2476
2482
  - rbi/openai/resources/conversations/items.rbi
2477
2483
  - rbi/openai/resources/embeddings.rbi
@@ -3106,6 +3112,8 @@ files:
3106
3112
  - sig/openai/models/containers/file_retrieve_params.rbs
3107
3113
  - sig/openai/models/containers/file_retrieve_response.rbs
3108
3114
  - sig/openai/models/containers/files/content_retrieve_params.rbs
3115
+ - sig/openai/models/content_provenance_check.rbs
3116
+ - sig/openai/models/content_provenance_check_create_params.rbs
3109
3117
  - sig/openai/models/conversations/computer_screenshot_content.rbs
3110
3118
  - sig/openai/models/conversations/conversation.rbs
3111
3119
  - sig/openai/models/conversations/conversation_create_params.rbs
@@ -3680,6 +3688,7 @@ files:
3680
3688
  - sig/openai/resources/containers.rbs
3681
3689
  - sig/openai/resources/containers/files.rbs
3682
3690
  - sig/openai/resources/containers/files/content.rbs
3691
+ - sig/openai/resources/content_provenance_checks.rbs
3683
3692
  - sig/openai/resources/conversations.rbs
3684
3693
  - sig/openai/resources/conversations/items.rbs
3685
3694
  - sig/openai/resources/embeddings.rbs
@@ -3725,7 +3734,6 @@ metadata:
3725
3734
  homepage_uri: https://gemdocs.org/gems/openai
3726
3735
  source_code_uri: https://github.com/openai/openai-ruby
3727
3736
  rubygems_mfa_required: 'true'
3728
- post_install_message:
3729
3737
  rdoc_options: []
3730
3738
  require_paths:
3731
3739
  - lib
@@ -3733,15 +3741,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
3733
3741
  requirements:
3734
3742
  - - ">="
3735
3743
  - !ruby/object:Gem::Version
3736
- version: 3.2.0
3744
+ version: 3.3.0
3737
3745
  required_rubygems_version: !ruby/object:Gem::Requirement
3738
3746
  requirements:
3739
3747
  - - ">="
3740
3748
  - !ruby/object:Gem::Version
3741
3749
  version: '0'
3742
3750
  requirements: []
3743
- rubygems_version: 3.4.19
3744
- signing_key:
3751
+ rubygems_version: 4.0.16
3745
3752
  specification_version: 4
3746
3753
  summary: Ruby library to access the OpenAI API
3747
3754
  test_files: []