openai_types/batch/
_gen.rs1#![allow(unused_imports)]
5
6use serde::{Deserialize, Serialize};
7use super::*;
8
9#[derive(Debug, Clone, Serialize, Deserialize)]
10#[cfg_attr(feature = "structured", derive(schemars::JsonSchema))]
11pub struct BatchErrors {
12 #[serde(skip_serializing_if = "Option::is_none", default)]
13 pub data: Option<Vec<BatchError>>,
14 #[serde(skip_serializing_if = "Option::is_none", default)]
16 pub object: Option<String>,
17}
18
19#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
20#[cfg_attr(feature = "structured", derive(schemars::JsonSchema))]
21#[non_exhaustive]
22pub enum BatchCreateParamsEndpoint {
23 #[serde(rename = "/v1/responses")]
24 V1Responses,
25 #[serde(rename = "/v1/chat/completions")]
26 V1ChatCompletions,
27 #[serde(rename = "/v1/embeddings")]
28 V1Embeddings,
29 #[serde(rename = "/v1/completions")]
30 V1Completions,
31 #[serde(rename = "/v1/moderations")]
32 V1Moderations,
33 #[serde(rename = "/v1/images/generations")]
34 V1ImagesGenerations,
35 #[serde(rename = "/v1/images/edits")]
36 V1ImagesEdits,
37 #[serde(rename = "/v1/videos")]
38 V1Videos,
39}
40
41#[derive(Debug, Clone, Serialize, Deserialize)]
42#[cfg_attr(feature = "structured", derive(schemars::JsonSchema))]
43pub struct BatchCreateParams {
44 pub completion_window: String,
46 pub endpoint: BatchCreateParamsEndpoint,
48 pub input_file_id: String,
50 #[serde(skip_serializing_if = "Option::is_none", default)]
52 pub metadata: Option<serde_json::Value>,
53 #[serde(skip_serializing_if = "Option::is_none", default)]
55 pub output_expires_after: Option<OutputExpiresAfter>,
56}
57
58#[derive(Debug, Clone, Serialize, Deserialize)]
60#[cfg_attr(feature = "structured", derive(schemars::JsonSchema))]
61pub struct OutputExpiresAfter {
62 pub anchor: String,
64 pub seconds: i64,
66}
67
68#[derive(Debug, Clone, Serialize, Deserialize)]
69#[cfg_attr(feature = "structured", derive(schemars::JsonSchema))]
70pub struct BatchError {
71 #[serde(skip_serializing_if = "Option::is_none", default)]
73 pub code: Option<String>,
74 #[serde(skip_serializing_if = "Option::is_none", default)]
76 pub line: Option<i64>,
77 #[serde(skip_serializing_if = "Option::is_none", default)]
79 pub message: Option<String>,
80 #[serde(skip_serializing_if = "Option::is_none", default)]
82 pub param: Option<String>,
83}
84
85#[derive(Debug, Clone, Serialize, Deserialize)]
87#[cfg_attr(feature = "structured", derive(schemars::JsonSchema))]
88pub struct InputTokensDetails {
89 pub cached_tokens: i64,
91}
92
93#[derive(Debug, Clone, Serialize, Deserialize)]
95#[cfg_attr(feature = "structured", derive(schemars::JsonSchema))]
96pub struct OutputTokensDetails {
97 pub reasoning_tokens: i64,
99}
100
101#[derive(Debug, Clone, Serialize, Deserialize)]
103#[cfg_attr(feature = "structured", derive(schemars::JsonSchema))]
104pub struct BatchUsage {
105 pub input_tokens: i64,
107 pub input_tokens_details: InputTokensDetails,
109 pub output_tokens: i64,
111 pub output_tokens_details: OutputTokensDetails,
113 pub total_tokens: i64,
115}