async_dashscope/operation/task/
output.rs

1use 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}