orq-ai-sdk 4.2.0rc49__py3-none-any.whl → 4.2.12__py3-none-any.whl

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 (103) hide show
  1. orq_ai_sdk/_hooks/globalhook.py +0 -1
  2. orq_ai_sdk/_version.py +3 -3
  3. orq_ai_sdk/audio.py +30 -0
  4. orq_ai_sdk/chat.py +22 -0
  5. orq_ai_sdk/completions.py +438 -0
  6. orq_ai_sdk/contacts.py +43 -886
  7. orq_ai_sdk/deployments.py +61 -0
  8. orq_ai_sdk/edits.py +364 -0
  9. orq_ai_sdk/embeddings.py +344 -0
  10. orq_ai_sdk/generations.py +370 -0
  11. orq_ai_sdk/images.py +28 -0
  12. orq_ai_sdk/models/__init__.py +3839 -424
  13. orq_ai_sdk/models/conversationresponse.py +1 -1
  14. orq_ai_sdk/models/conversationwithmessagesresponse.py +1 -1
  15. orq_ai_sdk/models/createagentrequestop.py +768 -12
  16. orq_ai_sdk/models/createagentresponse.py +68 -2
  17. orq_ai_sdk/models/createchatcompletionop.py +538 -313
  18. orq_ai_sdk/models/createcompletionop.py +2078 -0
  19. orq_ai_sdk/models/createcontactop.py +5 -10
  20. orq_ai_sdk/models/createconversationop.py +1 -1
  21. orq_ai_sdk/models/createconversationresponseop.py +2 -2
  22. orq_ai_sdk/models/createdatasetitemop.py +4 -4
  23. orq_ai_sdk/models/createdatasetop.py +1 -1
  24. orq_ai_sdk/models/createdatasourceop.py +1 -1
  25. orq_ai_sdk/models/createembeddingop.py +579 -0
  26. orq_ai_sdk/models/createevalop.py +14 -14
  27. orq_ai_sdk/models/createidentityop.py +1 -1
  28. orq_ai_sdk/models/createimageeditop.py +715 -0
  29. orq_ai_sdk/models/createimageop.py +228 -82
  30. orq_ai_sdk/models/createimagevariationop.py +706 -0
  31. orq_ai_sdk/models/creatememoryop.py +4 -2
  32. orq_ai_sdk/models/createmoderationop.py +521 -0
  33. orq_ai_sdk/models/createpromptop.py +375 -6
  34. orq_ai_sdk/models/creatererankop.py +608 -0
  35. orq_ai_sdk/models/createresponseop.py +2567 -0
  36. orq_ai_sdk/models/createspeechop.py +466 -0
  37. orq_ai_sdk/models/createtoolop.py +6 -6
  38. orq_ai_sdk/models/createtranscriptionop.py +732 -0
  39. orq_ai_sdk/models/createtranslationop.py +702 -0
  40. orq_ai_sdk/models/deploymentgetconfigop.py +17 -7
  41. orq_ai_sdk/models/deploymentsop.py +1 -0
  42. orq_ai_sdk/models/deploymentstreamop.py +7 -0
  43. orq_ai_sdk/models/filegetop.py +1 -1
  44. orq_ai_sdk/models/filelistop.py +1 -1
  45. orq_ai_sdk/models/fileuploadop.py +1 -1
  46. orq_ai_sdk/models/generateconversationnameop.py +1 -1
  47. orq_ai_sdk/models/getallmemoriesop.py +4 -2
  48. orq_ai_sdk/models/getallpromptsop.py +188 -3
  49. orq_ai_sdk/models/getalltoolsop.py +6 -6
  50. orq_ai_sdk/models/getevalsop.py +17 -17
  51. orq_ai_sdk/models/getonepromptop.py +188 -3
  52. orq_ai_sdk/models/getpromptversionop.py +188 -3
  53. orq_ai_sdk/models/invokedeploymentrequest.py +11 -4
  54. orq_ai_sdk/models/listagentsop.py +372 -0
  55. orq_ai_sdk/models/listdatasetdatapointsop.py +4 -4
  56. orq_ai_sdk/models/listdatasetsop.py +1 -1
  57. orq_ai_sdk/models/listdatasourcesop.py +1 -1
  58. orq_ai_sdk/models/listidentitiesop.py +1 -1
  59. orq_ai_sdk/models/listmodelsop.py +1 -0
  60. orq_ai_sdk/models/listpromptversionsop.py +188 -3
  61. orq_ai_sdk/models/partdoneevent.py +1 -1
  62. orq_ai_sdk/models/post_v2_router_ocrop.py +408 -0
  63. orq_ai_sdk/models/publiccontact.py +9 -3
  64. orq_ai_sdk/models/publicidentity.py +62 -0
  65. orq_ai_sdk/models/reasoningpart.py +1 -1
  66. orq_ai_sdk/models/responsedoneevent.py +14 -11
  67. orq_ai_sdk/models/retrieveagentrequestop.py +382 -0
  68. orq_ai_sdk/models/retrievedatapointop.py +4 -4
  69. orq_ai_sdk/models/retrievedatasetop.py +1 -1
  70. orq_ai_sdk/models/retrievedatasourceop.py +1 -1
  71. orq_ai_sdk/models/retrieveidentityop.py +1 -1
  72. orq_ai_sdk/models/retrievememoryop.py +4 -2
  73. orq_ai_sdk/models/retrievetoolop.py +6 -6
  74. orq_ai_sdk/models/runagentop.py +379 -9
  75. orq_ai_sdk/models/streamrunagentop.py +385 -9
  76. orq_ai_sdk/models/updateagentop.py +770 -12
  77. orq_ai_sdk/models/updateconversationop.py +1 -1
  78. orq_ai_sdk/models/updatedatapointop.py +4 -4
  79. orq_ai_sdk/models/updatedatasetop.py +1 -1
  80. orq_ai_sdk/models/updatedatasourceop.py +1 -1
  81. orq_ai_sdk/models/updateevalop.py +14 -14
  82. orq_ai_sdk/models/updateidentityop.py +1 -1
  83. orq_ai_sdk/models/updatememoryop.py +4 -2
  84. orq_ai_sdk/models/updatepromptop.py +375 -6
  85. orq_ai_sdk/models/updatetoolop.py +7 -7
  86. orq_ai_sdk/moderations.py +218 -0
  87. orq_ai_sdk/orq_completions.py +666 -0
  88. orq_ai_sdk/orq_responses.py +398 -0
  89. orq_ai_sdk/rerank.py +330 -0
  90. orq_ai_sdk/router.py +89 -641
  91. orq_ai_sdk/speech.py +333 -0
  92. orq_ai_sdk/transcriptions.py +416 -0
  93. orq_ai_sdk/translations.py +384 -0
  94. orq_ai_sdk/variations.py +364 -0
  95. orq_ai_sdk-4.2.12.dist-info/METADATA +888 -0
  96. {orq_ai_sdk-4.2.0rc49.dist-info → orq_ai_sdk-4.2.12.dist-info}/RECORD +98 -75
  97. {orq_ai_sdk-4.2.0rc49.dist-info → orq_ai_sdk-4.2.12.dist-info}/WHEEL +1 -1
  98. orq_ai_sdk/models/deletecontactop.py +0 -44
  99. orq_ai_sdk/models/listcontactsop.py +0 -265
  100. orq_ai_sdk/models/retrievecontactop.py +0 -142
  101. orq_ai_sdk/models/updatecontactop.py +0 -233
  102. orq_ai_sdk-4.2.0rc49.dist-info/METADATA +0 -788
  103. {orq_ai_sdk-4.2.0rc49.dist-info → orq_ai_sdk-4.2.12.dist-info}/top_level.txt +0 -0
@@ -2,6 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
  from .publiccontact import PublicContact, PublicContactTypedDict
5
+ from .publicidentity import PublicIdentity, PublicIdentityTypedDict
5
6
  from orq_ai_sdk.types import (
6
7
  BaseModel,
7
8
  Nullable,
@@ -9,9 +10,10 @@ from orq_ai_sdk.types import (
9
10
  UNSET,
10
11
  UNSET_SENTINEL,
11
12
  )
13
+ import pydantic
12
14
  from pydantic import model_serializer
13
- from typing import Any, Dict, List, Literal, Optional
14
- from typing_extensions import NotRequired, TypedDict, deprecated
15
+ from typing import List, Literal, Optional
16
+ from typing_extensions import Annotated, NotRequired, TypedDict
15
17
 
16
18
 
17
19
  Background = Literal[
@@ -62,6 +64,16 @@ Style = Literal[
62
64
  r"""The style of the generated images. This parameter is only supported for `openai/dall-e-3`. Must be one of `vivid` or `natural`."""
63
65
 
64
66
 
67
+ class CreateImageFallbacksTypedDict(TypedDict):
68
+ model: str
69
+ r"""Fallback model identifier"""
70
+
71
+
72
+ class CreateImageFallbacks(BaseModel):
73
+ model: str
74
+ r"""Fallback model identifier"""
75
+
76
+
65
77
  class CreateImageRetryTypedDict(TypedDict):
66
78
  r"""Retry configuration for the request"""
67
79
 
@@ -97,63 +109,28 @@ class CreateImageRetry(BaseModel):
97
109
  return m
98
110
 
99
111
 
100
- class CreateImageFallbacksTypedDict(TypedDict):
101
- model: str
102
- r"""Fallback model identifier"""
103
-
104
-
105
- class CreateImageFallbacks(BaseModel):
106
- model: str
107
- r"""Fallback model identifier"""
108
-
109
-
110
- @deprecated(
111
- "warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible."
112
- )
113
- class CreateImageContactTypedDict(TypedDict):
114
- r"""@deprecated Use identity instead. Information about the contact making the request."""
112
+ CreateImageType = Literal["exact_match",]
115
113
 
116
- id: str
117
- r"""Unique identifier for the contact"""
118
- display_name: NotRequired[str]
119
- r"""Display name of the contact"""
120
- email: NotRequired[str]
121
- r"""Email address of the contact"""
122
- metadata: NotRequired[List[Dict[str, Any]]]
123
- r"""A hash of key/value pairs containing any other data about the contact"""
124
- logo_url: NotRequired[str]
125
- r"""URL to the contact's avatar or logo"""
126
- tags: NotRequired[List[str]]
127
- r"""A list of tags associated with the contact"""
128
-
129
-
130
- @deprecated(
131
- "warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible."
132
- )
133
- class CreateImageContact(BaseModel):
134
- r"""@deprecated Use identity instead. Information about the contact making the request."""
135
114
 
136
- id: str
137
- r"""Unique identifier for the contact"""
115
+ class CreateImageCacheTypedDict(TypedDict):
116
+ r"""Cache configuration for the request."""
138
117
 
139
- display_name: Optional[str] = None
140
- r"""Display name of the contact"""
118
+ type: CreateImageType
119
+ ttl: NotRequired[float]
120
+ r"""Time to live for cached responses in seconds. Maximum 259200 seconds (3 days)."""
141
121
 
142
- email: Optional[str] = None
143
- r"""Email address of the contact"""
144
122
 
145
- metadata: Optional[List[Dict[str, Any]]] = None
146
- r"""A hash of key/value pairs containing any other data about the contact"""
123
+ class CreateImageCache(BaseModel):
124
+ r"""Cache configuration for the request."""
147
125
 
148
- logo_url: Optional[str] = None
149
- r"""URL to the contact's avatar or logo"""
126
+ type: CreateImageType
150
127
 
151
- tags: Optional[List[str]] = None
152
- r"""A list of tags associated with the contact"""
128
+ ttl: Optional[float] = 1800
129
+ r"""Time to live for cached responses in seconds. Maximum 259200 seconds (3 days)."""
153
130
 
154
131
  @model_serializer(mode="wrap")
155
132
  def serialize_model(self, handler):
156
- optional_fields = set(["display_name", "email", "metadata", "logo_url", "tags"])
133
+ optional_fields = set(["ttl"])
157
134
  serialized = handler(self)
158
135
  m = {}
159
136
 
@@ -168,28 +145,26 @@ class CreateImageContact(BaseModel):
168
145
  return m
169
146
 
170
147
 
171
- CreateImageType = Literal["exact_match",]
172
-
173
-
174
- class CreateImageCacheTypedDict(TypedDict):
175
- r"""Cache configuration for the request."""
148
+ CreateImageLoadBalancerType = Literal["weight_based",]
176
149
 
177
- type: CreateImageType
178
- ttl: NotRequired[float]
179
- r"""Time to live for cached responses in seconds. Maximum 259200 seconds (3 days)."""
180
150
 
151
+ class CreateImageLoadBalancerModelsTypedDict(TypedDict):
152
+ model: str
153
+ r"""Model identifier for load balancing"""
154
+ weight: NotRequired[float]
155
+ r"""Weight assigned to this model for load balancing"""
181
156
 
182
- class CreateImageCache(BaseModel):
183
- r"""Cache configuration for the request."""
184
157
 
185
- type: CreateImageType
158
+ class CreateImageLoadBalancerModels(BaseModel):
159
+ model: str
160
+ r"""Model identifier for load balancing"""
186
161
 
187
- ttl: Optional[float] = 1800
188
- r"""Time to live for cached responses in seconds. Maximum 259200 seconds (3 days)."""
162
+ weight: Optional[float] = 0.5
163
+ r"""Weight assigned to this model for load balancing"""
189
164
 
190
165
  @model_serializer(mode="wrap")
191
166
  def serialize_model(self, handler):
192
- optional_fields = set(["ttl"])
167
+ optional_fields = set(["weight"])
193
168
  serialized = handler(self)
194
169
  m = {}
195
170
 
@@ -204,20 +179,25 @@ class CreateImageCache(BaseModel):
204
179
  return m
205
180
 
206
181
 
207
- CreateImageLoadBalancerType = Literal["weight_based",]
182
+ class CreateImageLoadBalancer1TypedDict(TypedDict):
183
+ type: CreateImageLoadBalancerType
184
+ models: List[CreateImageLoadBalancerModelsTypedDict]
208
185
 
209
186
 
210
- class CreateImageLoadBalancer1TypedDict(TypedDict):
187
+ class CreateImageLoadBalancer1(BaseModel):
211
188
  type: CreateImageLoadBalancerType
189
+
190
+ models: List[CreateImageLoadBalancerModels]
191
+
192
+
193
+ class CreateImageLoadBalancerRouterImagesGenerationsModelsTypedDict(TypedDict):
212
194
  model: str
213
195
  r"""Model identifier for load balancing"""
214
196
  weight: NotRequired[float]
215
197
  r"""Weight assigned to this model for load balancing"""
216
198
 
217
199
 
218
- class CreateImageLoadBalancer1(BaseModel):
219
- type: CreateImageLoadBalancerType
220
-
200
+ class CreateImageLoadBalancerRouterImagesGenerationsModels(BaseModel):
221
201
  model: str
222
202
  r"""Model identifier for load balancing"""
223
203
 
@@ -241,10 +221,23 @@ class CreateImageLoadBalancer1(BaseModel):
241
221
  return m
242
222
 
243
223
 
224
+ class CreateImageLoadBalancerRouterImagesGenerations1TypedDict(TypedDict):
225
+ type: CreateImageLoadBalancerRouterImagesGenerationsType
226
+ models: List[CreateImageLoadBalancerRouterImagesGenerationsModelsTypedDict]
227
+
228
+
229
+ class CreateImageLoadBalancerRouterImagesGenerations1(BaseModel):
230
+ type: CreateImageLoadBalancerRouterImagesGenerationsType
231
+
232
+ models: List[CreateImageLoadBalancerRouterImagesGenerationsModels]
233
+
234
+
244
235
  CreateImageLoadBalancerTypedDict = CreateImageLoadBalancer1TypedDict
236
+ r"""Load balancer configuration for the request."""
245
237
 
246
238
 
247
239
  CreateImageLoadBalancer = CreateImageLoadBalancer1
240
+ r"""Load balancer configuration for the request."""
248
241
 
249
242
 
250
243
  class CreateImageTimeoutTypedDict(TypedDict):
@@ -261,21 +254,132 @@ class CreateImageTimeout(BaseModel):
261
254
  r"""Timeout value in milliseconds"""
262
255
 
263
256
 
257
+ class CreateImageRouterImagesGenerationsRetryTypedDict(TypedDict):
258
+ r"""Retry configuration for the request"""
259
+
260
+ count: NotRequired[float]
261
+ r"""Number of retry attempts (1-5)"""
262
+ on_codes: NotRequired[List[float]]
263
+ r"""HTTP status codes that trigger retry logic"""
264
+
265
+
266
+ class CreateImageRouterImagesGenerationsRetry(BaseModel):
267
+ r"""Retry configuration for the request"""
268
+
269
+ count: Optional[float] = 3
270
+ r"""Number of retry attempts (1-5)"""
271
+
272
+ on_codes: Optional[List[float]] = None
273
+ r"""HTTP status codes that trigger retry logic"""
274
+
275
+ @model_serializer(mode="wrap")
276
+ def serialize_model(self, handler):
277
+ optional_fields = set(["count", "on_codes"])
278
+ serialized = handler(self)
279
+ m = {}
280
+
281
+ for n, f in type(self).model_fields.items():
282
+ k = f.alias or n
283
+ val = serialized.get(k)
284
+
285
+ if val != UNSET_SENTINEL:
286
+ if val is not None or k not in optional_fields:
287
+ m[k] = val
288
+
289
+ return m
290
+
291
+
292
+ class CreateImageRouterImagesGenerationsFallbacksTypedDict(TypedDict):
293
+ model: str
294
+ r"""Fallback model identifier"""
295
+
296
+
297
+ class CreateImageRouterImagesGenerationsFallbacks(BaseModel):
298
+ model: str
299
+ r"""Fallback model identifier"""
300
+
301
+
302
+ CreateImageRouterImagesGenerationsType = Literal["exact_match",]
303
+
304
+
305
+ class CreateImageRouterImagesGenerationsCacheTypedDict(TypedDict):
306
+ r"""Cache configuration for the request."""
307
+
308
+ type: CreateImageRouterImagesGenerationsType
309
+ ttl: NotRequired[float]
310
+ r"""Time to live for cached responses in seconds. Maximum 259200 seconds (3 days)."""
311
+
312
+
313
+ class CreateImageRouterImagesGenerationsCache(BaseModel):
314
+ r"""Cache configuration for the request."""
315
+
316
+ type: CreateImageRouterImagesGenerationsType
317
+
318
+ ttl: Optional[float] = 1800
319
+ r"""Time to live for cached responses in seconds. Maximum 259200 seconds (3 days)."""
320
+
321
+ @model_serializer(mode="wrap")
322
+ def serialize_model(self, handler):
323
+ optional_fields = set(["ttl"])
324
+ serialized = handler(self)
325
+ m = {}
326
+
327
+ for n, f in type(self).model_fields.items():
328
+ k = f.alias or n
329
+ val = serialized.get(k)
330
+
331
+ if val != UNSET_SENTINEL:
332
+ if val is not None or k not in optional_fields:
333
+ m[k] = val
334
+
335
+ return m
336
+
337
+
338
+ CreateImageLoadBalancerRouterImagesGenerationsType = Literal["weight_based",]
339
+
340
+
341
+ CreateImageRouterImagesGenerationsLoadBalancerTypedDict = (
342
+ CreateImageLoadBalancerRouterImagesGenerations1TypedDict
343
+ )
344
+ r"""Array of models with weights for load balancing requests"""
345
+
346
+
347
+ CreateImageRouterImagesGenerationsLoadBalancer = (
348
+ CreateImageLoadBalancerRouterImagesGenerations1
349
+ )
350
+ r"""Array of models with weights for load balancing requests"""
351
+
352
+
353
+ class CreateImageRouterImagesGenerationsTimeoutTypedDict(TypedDict):
354
+ r"""Timeout configuration to apply to the request. If the request exceeds the timeout, it will be retried or fallback to the next model if configured."""
355
+
356
+ call_timeout: float
357
+ r"""Timeout value in milliseconds"""
358
+
359
+
360
+ class CreateImageRouterImagesGenerationsTimeout(BaseModel):
361
+ r"""Timeout configuration to apply to the request. If the request exceeds the timeout, it will be retried or fallback to the next model if configured."""
362
+
363
+ call_timeout: float
364
+ r"""Timeout value in milliseconds"""
365
+
366
+
264
367
  class CreateImageOrqTypedDict(TypedDict):
265
368
  name: NotRequired[str]
266
369
  r"""The name to display on the trace. If not specified, the default system name will be used."""
267
- retry: NotRequired[CreateImageRetryTypedDict]
370
+ retry: NotRequired[CreateImageRouterImagesGenerationsRetryTypedDict]
268
371
  r"""Retry configuration for the request"""
269
- fallbacks: NotRequired[List[CreateImageFallbacksTypedDict]]
372
+ fallbacks: NotRequired[List[CreateImageRouterImagesGenerationsFallbacksTypedDict]]
270
373
  r"""Array of fallback models to use if primary model fails"""
271
- identity: NotRequired[PublicContactTypedDict]
374
+ identity: NotRequired[PublicIdentityTypedDict]
272
375
  r"""Information about the identity making the request. If the identity does not exist, it will be created automatically."""
273
- contact: NotRequired[CreateImageContactTypedDict]
274
- cache: NotRequired[CreateImageCacheTypedDict]
376
+ contact: NotRequired[PublicContactTypedDict]
377
+ r"""@deprecated Use identity instead. Information about the contact making the request."""
378
+ cache: NotRequired[CreateImageRouterImagesGenerationsCacheTypedDict]
275
379
  r"""Cache configuration for the request."""
276
- load_balancer: NotRequired[List[CreateImageLoadBalancerTypedDict]]
380
+ load_balancer: NotRequired[CreateImageRouterImagesGenerationsLoadBalancerTypedDict]
277
381
  r"""Array of models with weights for load balancing requests"""
278
- timeout: NotRequired[CreateImageTimeoutTypedDict]
382
+ timeout: NotRequired[CreateImageRouterImagesGenerationsTimeoutTypedDict]
279
383
  r"""Timeout configuration to apply to the request. If the request exceeds the timeout, it will be retried or fallback to the next model if configured."""
280
384
 
281
385
 
@@ -283,24 +387,30 @@ class CreateImageOrq(BaseModel):
283
387
  name: Optional[str] = None
284
388
  r"""The name to display on the trace. If not specified, the default system name will be used."""
285
389
 
286
- retry: Optional[CreateImageRetry] = None
390
+ retry: Optional[CreateImageRouterImagesGenerationsRetry] = None
287
391
  r"""Retry configuration for the request"""
288
392
 
289
- fallbacks: Optional[List[CreateImageFallbacks]] = None
393
+ fallbacks: Optional[List[CreateImageRouterImagesGenerationsFallbacks]] = None
290
394
  r"""Array of fallback models to use if primary model fails"""
291
395
 
292
- identity: Optional[PublicContact] = None
396
+ identity: Optional[PublicIdentity] = None
293
397
  r"""Information about the identity making the request. If the identity does not exist, it will be created automatically."""
294
398
 
295
- contact: Optional[CreateImageContact] = None
399
+ contact: Annotated[
400
+ Optional[PublicContact],
401
+ pydantic.Field(
402
+ deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible."
403
+ ),
404
+ ] = None
405
+ r"""@deprecated Use identity instead. Information about the contact making the request."""
296
406
 
297
- cache: Optional[CreateImageCache] = None
407
+ cache: Optional[CreateImageRouterImagesGenerationsCache] = None
298
408
  r"""Cache configuration for the request."""
299
409
 
300
- load_balancer: Optional[List[CreateImageLoadBalancer]] = None
410
+ load_balancer: Optional[CreateImageRouterImagesGenerationsLoadBalancer] = None
301
411
  r"""Array of models with weights for load balancing requests"""
302
412
 
303
- timeout: Optional[CreateImageTimeout] = None
413
+ timeout: Optional[CreateImageRouterImagesGenerationsTimeout] = None
304
414
  r"""Timeout configuration to apply to the request. If the request exceeds the timeout, it will be retried or fallback to the next model if configured."""
305
415
 
306
416
  @model_serializer(mode="wrap")
@@ -356,6 +466,18 @@ class CreateImageRequestBodyTypedDict(TypedDict):
356
466
  r"""The size of the generated images. Must be one of the specified sizes for each model."""
357
467
  style: NotRequired[Nullable[Style]]
358
468
  r"""The style of the generated images. This parameter is only supported for `openai/dall-e-3`. Must be one of `vivid` or `natural`."""
469
+ name: NotRequired[str]
470
+ r"""The name to display on the trace. If not specified, the default system name will be used."""
471
+ fallbacks: NotRequired[List[CreateImageFallbacksTypedDict]]
472
+ r"""Array of fallback models to use if primary model fails"""
473
+ retry: NotRequired[CreateImageRetryTypedDict]
474
+ r"""Retry configuration for the request"""
475
+ cache: NotRequired[CreateImageCacheTypedDict]
476
+ r"""Cache configuration for the request."""
477
+ load_balancer: NotRequired[CreateImageLoadBalancerTypedDict]
478
+ r"""Load balancer configuration for the request."""
479
+ timeout: NotRequired[CreateImageTimeoutTypedDict]
480
+ r"""Timeout configuration to apply to the request. If the request exceeds the timeout, it will be retried or fallback to the next model if configured."""
359
481
  orq: NotRequired[CreateImageOrqTypedDict]
360
482
 
361
483
 
@@ -395,6 +517,24 @@ class CreateImageRequestBody(BaseModel):
395
517
  style: OptionalNullable[Style] = UNSET
396
518
  r"""The style of the generated images. This parameter is only supported for `openai/dall-e-3`. Must be one of `vivid` or `natural`."""
397
519
 
520
+ name: Optional[str] = None
521
+ r"""The name to display on the trace. If not specified, the default system name will be used."""
522
+
523
+ fallbacks: Optional[List[CreateImageFallbacks]] = None
524
+ r"""Array of fallback models to use if primary model fails"""
525
+
526
+ retry: Optional[CreateImageRetry] = None
527
+ r"""Retry configuration for the request"""
528
+
529
+ cache: Optional[CreateImageCache] = None
530
+ r"""Cache configuration for the request."""
531
+
532
+ load_balancer: Optional[CreateImageLoadBalancer] = None
533
+ r"""Load balancer configuration for the request."""
534
+
535
+ timeout: Optional[CreateImageTimeout] = None
536
+ r"""Timeout configuration to apply to the request. If the request exceeds the timeout, it will be retried or fallback to the next model if configured."""
537
+
398
538
  orq: Optional[CreateImageOrq] = None
399
539
 
400
540
  @model_serializer(mode="wrap")
@@ -410,6 +550,12 @@ class CreateImageRequestBody(BaseModel):
410
550
  "response_format",
411
551
  "size",
412
552
  "style",
553
+ "name",
554
+ "fallbacks",
555
+ "retry",
556
+ "cache",
557
+ "load_balancer",
558
+ "timeout",
413
559
  "orq",
414
560
  ]
415
561
  )