Skip to main content

gproxy_protocol/protocol/openai/video/
responses.rs

1use std::collections::BTreeMap;
2
3use serde::{Deserialize, Serialize};
4
5use super::super::common::Extra;
6use super::{
7    VideoDeletedObjectType, VideoListObjectType, VideoModelId, VideoObjectType, VideoSize,
8    VideoStatus,
9};
10
11#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, gproxy_protocol_macros::WireBuilder)]
12#[non_exhaustive]
13pub struct Video {
14    pub id: String,
15    #[serde(skip_serializing_if = "Option::is_none")]
16    pub completed_at: Option<u64>,
17    pub created_at: u64,
18    #[serde(skip_serializing_if = "Option::is_none")]
19    pub error: Option<VideoCreateError>,
20    #[serde(skip_serializing_if = "Option::is_none")]
21    pub expires_at: Option<u64>,
22    pub model: VideoModelId,
23    pub object: VideoObjectType,
24    pub progress: u32,
25    #[serde(skip_serializing_if = "Option::is_none")]
26    pub prompt: Option<String>,
27    #[serde(skip_serializing_if = "Option::is_none")]
28    pub remixed_from_video_id: Option<String>,
29    pub seconds: String,
30    pub size: VideoSize,
31    pub status: VideoStatus,
32    #[serde(default, flatten, skip_serializing_if = "BTreeMap::is_empty")]
33    pub extra: Extra,
34}
35
36#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, gproxy_protocol_macros::WireBuilder)]
37#[non_exhaustive]
38pub struct VideoCreateError {
39    pub code: String,
40    pub message: String,
41    #[serde(default, flatten, skip_serializing_if = "BTreeMap::is_empty")]
42    pub extra: Extra,
43}
44
45#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, gproxy_protocol_macros::WireBuilder)]
46#[non_exhaustive]
47pub struct VideoListResponse {
48    pub data: Vec<Video>,
49    #[serde(skip_serializing_if = "Option::is_none")]
50    pub object: Option<VideoListObjectType>,
51    #[serde(skip_serializing_if = "Option::is_none")]
52    pub has_more: Option<bool>,
53    #[serde(skip_serializing_if = "Option::is_none")]
54    pub last_id: Option<String>,
55    #[serde(default, flatten, skip_serializing_if = "BTreeMap::is_empty")]
56    pub extra: Extra,
57}
58
59#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, gproxy_protocol_macros::WireBuilder)]
60#[non_exhaustive]
61pub struct VideoDeleteResponse {
62    pub id: String,
63    pub deleted: bool,
64    pub object: VideoDeletedObjectType,
65    #[serde(default, flatten, skip_serializing_if = "BTreeMap::is_empty")]
66    pub extra: Extra,
67}
68
69#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, gproxy_protocol_macros::WireBuilder)]
70#[non_exhaustive]
71pub struct VideoCharacter {
72    #[serde(skip_serializing_if = "Option::is_none")]
73    pub id: Option<String>,
74    pub created_at: u64,
75    #[serde(skip_serializing_if = "Option::is_none")]
76    pub name: Option<String>,
77    #[serde(default, flatten, skip_serializing_if = "BTreeMap::is_empty")]
78    pub extra: Extra,
79}