async_dashscope/operation/task/
output.rs1use serde::{Deserialize, Serialize};
2
3use crate::operation::common::TaskStatus;
4
5#[derive(Serialize, Deserialize, Debug, Clone)]
6pub struct TaskOutput {
7 pub task_id: String,
8 pub task_status: TaskStatus,
9 pub submit_time: String,
10 pub scheduled_time: Option<String>,
11 pub end_time: Option<String>,
12 pub image_url: Option<String>,
13 pub code: Option<String>,
14 pub message: Option<String>,
15 pub task_metrics: Option<TaskMetrics>,
16 pub results: Option<Vec<Text2ImageResult>>,
17}
18
19#[derive(Serialize, Deserialize, Debug, Clone)]
20pub struct Text2ImageResult {
21 pub orig_prompt: String,
22 pub actual_prompt: String,
23 pub url: String,
24}
25
26#[derive(Serialize, Deserialize, Debug, Clone)]
27pub struct TaskMetrics {
28 #[serde(rename = "TOTAL")]
29 pub total: u32,
30 #[serde(rename = "SUCCEEDED")]
31 pub succeeded: u32,
32 #[serde(rename = "FAILED")]
33 pub failed: u32,
34}
35
36#[derive(Serialize, Deserialize, Debug, Clone)]
37pub struct TaskResult {
38 pub request_id: String,
39 pub output: TaskOutput,
40 pub usage: Option<ImageUsage>,
41}
42
43#[derive(Serialize, Deserialize, Debug, Clone)]
44pub struct ImageUsage {
45 pub image_count: u32,
46}