async-dashscope 0.12.0

A Rust client for DashScope API
Documentation
#![allow(unused_imports)]
use async_dashscope::{
    Client,
    operation::{
        common::{Parameters, ParametersBuilder},
        image2image::{Image2imageParamBuilder, InputBuilder},
    },
};
use serde_json::json;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    dotenvy::dotenv()?;

    let cargo_dir = std::env::var("CARGO_MANIFEST_DIR")?;
    let file_path = format!("{cargo_dir}/test_data/qwen-mt-image.webp");

    let request = Image2imageParamBuilder::default()
        .model("qwen-mt-image")
        .input(
            InputBuilder::default()
                .image_url(file_path)
                .source_lang("auto")
                .target_lang("en")
                .build()?,
        )
        .build()?;

    let client = Client::new();

    let response = client.image2image().call(request).await?;

    println!("response:: {:?}", response);

    let task = client.task().poll_task_status(&response.output.task_id,5,10).await?;

    println!("{:?}", task.output.image_url);

    Ok(())
}