use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct EmbeddingVertexMultimodal001 {
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(deserialize_with = "super::serde_helpers::deserialize_embedding_required")]
pub embedding: Vec<f32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub event_id: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub artifact_id: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub connectivity_id: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sensor_pose_id: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub origin_location: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub frame_center_location: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub frame_center_altitude: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub frame_center_h14_index: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub frame_center_h13_index: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub frame_center_h12_index: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub frame_center_h11_index: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub origin_pitch: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub origin_heading: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub origin_roll: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sensor_pitch: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sensor_yaw: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sensor_roll: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub origin_height: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub timestamp_observation: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub timestamp_observation_end: Option<String>,
#[serde(default)]
pub frame_index: i64,
#[serde(default)]
pub frame_index_end: i64,
#[serde(skip_serializing_if = "Option::is_none")]
pub thumbnail_uri: Option<String>,
}