Files
mixvideo-v2/cargos/text-video-agent-rust-sdk/README.md

24 KiB
Raw Blame History

Text Video Agent Client

Crates.io Documentation License: MIT OR Apache-2.0

A comprehensive Rust client for the Text Video Agent API - an AI content generation service that supports:

  • 🎨 Image Generation - Multiple AI models (Midjourney, Stable Diffusion, etc.)
  • 🎬 Video Generation - Text-to-video and image-to-video conversion
  • 🎵 Audio Synthesis - Text-to-speech and voice cloning
  • 💋 Lip Sync - Advanced lip synchronization with Hedra
  • 🤖 Digital Human - Create and animate digital avatars
  • 🧠 LLM Integration - Multi-modal AI analysis and inference
  • 🔧 Workflow Automation - ComfyUI workflow execution

Features

  • Type-safe API - Generated from OpenAPI 3.1 specification
  • Async/await support - Built on reqwest and tokio
  • Comprehensive coverage - All API endpoints included
  • File upload support - Multipart form data handling
  • Error handling - Structured error responses
  • Documentation - Complete API documentation

Installation

Add this to your Cargo.toml:

[dependencies]
text_video_agent_client = "1.0.6"
tokio = { version = "1.0", features = ["full"] }

Quick Start

use text_video_agent_client::{apis::configuration::Configuration, apis::default_api};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let config = Configuration {
        base_path: "https://your-api-endpoint.com".to_string(),
        ..Default::default()
    };

    // Generate an image
    let response = default_api::submit_image_task_api_custom_image_submit_task_post(
        &config,
        // Add your parameters here
    ).await?;

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

API Overview

This client was generated from the Text Video Agent API specification and provides access to all available endpoints:

  • API version: 1.0.6
  • Package version: 1.0.6
  • Generated with: OpenAPI Generator 7.14.0

Documentation for API Endpoints

All URIs are relative to http://localhost

Class Method HTTP request Description
DefaultApi check_template_task_type_api_template_check_task_type_get GET /api/template/check/task_type 检查任务类型是否可用
DefaultApi create_higgsfield_character_api_custom_extend_higgsfield_create_character_post POST /api/custom/extend/higgsfield/create/character 提交创建生成角色任务
DefaultApi get_sample_prompt_api_prompt_default_get GET /api/prompt/default 获取示例提示词
DefaultApi get_supported_model_api_custom_extend_model_list_get GET /api/custom/extend/model/list 获取支持的模型列表
DefaultApi get_supported_model_api_custom_model_list_get GET /api/custom/model/list 获取支持的模型列表
DefaultApi handler_create_digital_api_ark_digital_create_post POST /api/ark/digital/create 提交创建数字人任务
DefaultApi handler_create_video_template_api_template_create_post POST /api/template/create 创建新的视频模板
DefaultApi handler_delete_video_template_api_template_delete_template_id_delete DELETE /api/template/delete/{template_id} 删除视频模板
DefaultApi handler_higgsfield_submit_task_api_custom_extend_higgsfield_submit_task_post POST /api/custom/extend/higgsfield/submit/task higgsfield Soul文生图片模型
DefaultApi handler_submit_generate_video_api_ark_digital_video_submit_task_post POST /api/ark/digital/video/submit/task 生成数字人视频
DefaultApi handler_update_video_template_api_template_update_put PUT /api/template/update 更新视频模板
DefaultApi health_check_api_file_health_get GET /api/file/health 健康检测
DefaultApi health_check_api_prompt_health_get GET /api/prompt/health 健康检测
DefaultApi query_frame_task_status_api_custom_extend_frame_task_status_get GET /api/custom/extend/frame/task/status 查询首尾帧任务状态
DefaultApi query_higgsfield_character_status_api_custom_extend_higgsfield_character_status_post POST /api/custom/extend/higgsfield/character/status 查询创建角色状态
DefaultApi query_higgsfield_task_status_api_custom_extend_higgsfield_task_status_get GET /api/custom/extend/higgsfield/task/status higgsfield 查询任务执行状态
DefaultApi query_task_status_api_ark_digital_task_status_get GET /api/ark/digital/task/status 查询任务状态
DefaultApi query_task_status_api_custom_task_status_get GET /api/custom/task/status Query Task Status
DefaultApi query_video_template_v2_api_template_default_get GET /api/template/default 获取视频模板列表
DefaultApi submit_frame_video_task_api_custom_extend_frame_submit_task_post POST /api/custom/extend/frame/submit/task 【首尾帧生成视频】
DefaultApi submit_image_task_api_custom_image_submit_task_post POST /api/custom/image/submit/task 提交图片生成任务
DefaultApi submit_video_task_api_custom_video_submit_task_post POST /api/custom/video/submit/task 提交视频生成任务
DefaultApi upload_file2cloud_api_ark_digital_url2vid_post POST /api/ark/digital/url2vid 【异步】上传视频生成视频云id, 仅仅支持mp4格式的视频,视频时长较时时,建议使用链接
DefaultApi upload_file_api_file_upload_post POST /api/file/upload 上传文件到COS
DefaultApi upload_s3_api_file_upload_s3_post POST /api/file/upload/s3 上传文件到s3【推荐 cdn加速】
ApiApi get_voices_hl_api302_hl_router_sync_get_voices_get GET /api/302/hl_router/sync/get/voices 查询克隆的音色ID, 【接口来自官方, 302没有对应的中转接口】
ApiApi hl_tts_api302_hl_router_sync_generate_speech_post POST /api/302/hl_router/sync/generate/speech 海螺同步生成音频
ApiApi upload_material_file_api302_hl_router_sync_file_upload_post POST /api/302/hl_router/sync/file/upload 上传素材到302ai,用于复刻
ApiApi voice_clone_api302_hl_router_sync_voice_clone_post POST /api/302/hl_router/sync/voice/clone 声音克隆
ApiApi async_gen_video_api_jm_async_generate_video_post POST /api/jm/async/generate/video 异步生成视频,提交任务
ApiApi async_query_video_status_api_jm_async_query_status_get GET /api/jm/async/query/status 异步查询生成视频的任务状态
ApiApi generate_video_api_api_jm_generate_video_post POST /api/jm/generate-video 生成视频
ApiApi get_task_status_v2_api_task_status_task_id_get GET /api/task/status/{task_id} 异步查询任务状态
ApiApi health_check_api_jm_health_get GET /api/jm/health 健康检查
ApiApi health_check_api_task_health_get GET /api/task/health 健康检测
ApiApi submit_task_v2_api_task_create_task_post POST /api/task/create/task 新版异步提交任务)
ApiApi submit_task_v3_api_task_create_task_v2_post POST /api/task/create/task/v2 新版本异步提交任务
ApiApi sync_generate_video_v2_api_jm_sync_generate_video_post POST /api/jm/sync/generate/video 同步:生成视频v2,支持通过图片文件生成视频
Class302Api fetch_supported_model_api_union_img_model_list_get GET /api/union/img/model/list 获取支持的模型列表
Class302Api fetch_supported_model_api_union_video_model_list_get GET /api/union/video/model/list 获取支持的模型列表
Class302Api query_task_status_api_union_video_async_task_id_status_get GET /api/union/video/async/{task_id}/status 异步查询任务状态
Class302Api submit_task_api_union_video_async_generate_video_post POST /api/union/video/async/generate/video 异步提交任务
Class302Api sync_gen_image_api_union_img_sync_generate_image_post POST /api/union/img/sync/generate/image 生图
Class302aiApiApi async_gen_video_api302_jm_async_generate_video_post POST /api/302/jm/async/generate/video 异步生成视频,提交任务
Class302aiApiApi async_query_video_status_api302_jm_async_query_status_get GET /api/302/jm/async/query/status 异步查询生成视频的任务状态
Class302aiApiApi sync_generate_video_v2_api302_jm_sync_generate_video_post POST /api/302/jm/sync/generate/video 【302ai】同步:生成视频v2,支持通过图片文件生成视频
Class302aiMidjourneyApi async_gen_image_api302_mj_async_generate_image_post POST /api/302/mj/async/generate/image 异步提交生图任务
Class302aiMidjourneyApi async_query_status_api302_mj_async_query_status_get GET /api/302/mj/async/query/status 异步查询任务状态
Class302aiMidjourneyApi async_query_task_status_api302_mj_video_async_task_status_post POST /api/302/mj/video/async/task/status 异步查询生成任务进度
Class302aiMidjourneyApi cancel_task_api302_mj_task_cancel_post POST /api/302/mj/task/cancel 取消任务
Class302aiMidjourneyApi desc_img_by_file_api302_mj_sync_file_img_describe_post POST /api/302/mj/sync/file/img/describe 通过文件获取生图的提示词
Class302aiMidjourneyApi describe_image_api_api302_mj_sync_img_describe_post POST /api/302/mj/sync/img/describe 获取图像描述
Class302aiMidjourneyApi generate_image_sync_api302_mj_sync_image_post POST /api/302/mj/sync/image 同步生成图片接口
Class302aiMidjourneyApi submit_task_api302_mj_video_async_submit_post POST /api/302/mj/video/async/submit 异步提交生成视频任务
Class302aiMidjourneyApi sync_gen_video_api302_mj_video_sync_generate_video_post POST /api/302/mj/video/sync/generate/video 同步生成视频【text+img-->video】
Class302aiVeoApi get_task_status_api302_veo_video_task_task_id_get GET /api/302/veo/video/task/{task_id} 异步: 获取任务执行状态
Class302aiVeoApi submit_iv_submit_api302_veo_video_async_submit_post POST /api/302/veo/video/async/submit 异步:text-->video or text + img --> video
Class302aiVeoApi sync_img2video_api302_veo_video_sync_generate_video_post POST /api/302/veo/video/sync/generate/video 同步: 生成视频【文本+图片 OR 文生成视频】
ComfyuiApi get_running_node_api_comfy_fetch_running_node_get GET /api/comfy/fetch/running/node 根据任务数,获取运行节点
ComfyuiApi query_task_status_api_comfy_async_task_status_get GET /api/comfy/async/task/status 查询任务状态
ComfyuiApi submit_task_api_comfy_async_submit_task_post POST /api/comfy/async/submit/task 异步提交任务
ComfyuiApi sync_execute_workflow_api_comfy_sync_execute_workflow_post POST /api/comfy/sync/execute/workflow 同步执行comfy工作流
DefaultApi root_get GET / Root
Hedra20Api internal_upload_file_api302_hedra_v2_upload_post POST /api/302/hedra/v2/upload 上传文件到hedra服务器仅支持,image, audio
Hedra20Api query_task_status_api302_hedra_v2_task_status_get GET /api/302/hedra/v2/task/status 查询任务状态
Hedra20Api submit_character_task_api302_hedra_v2_submit_task_post POST /api/302/hedra/v2/submit/task 提交口型合成任务
Hedra30Api handler_hedra_task_submit_api302_hedra_v3_submit_task_post POST /api/302/hedra/v3/submit/task 异步提交任务
Hedra30Api handler_query_task_status_api302_hedra_v3_task_status_get GET /api/302/hedra/v3/task/status 查询任务状态
Hedra30Api upload_file_to_hedra_api302_hedra_v3_file_upload_post POST /api/302/hedra/v3/file/upload 上传文件到hedra平台,返回资源的id
LlmApi google_file_upload POST /api/llm/google/vertex-ai/upload 上传文件到谷歌存储,用于gemini视觉功能
LlmApi invoke_gemini_ai_api_llm_google_chat_post POST /api/llm/google/chat 调用google推理
LlmApi invoke_media_analysis_api_llm_google_sync_media_analysis_post POST /api/llm/google/sync/media/analysis 【同步适合小文件】gemini多模态分析,支持视频,音频,图片
LlmApi llm_chat POST /api/llm/chat 调用大模型进行推理
LlmApi llm_supported_models GET /api/llm/model/list 获取支持的模型列表
LlmApi llm_task_id GET /api/llm/task/status 查询推理过程结果
LlmApi submit_media_inference_api_llm_google_async_media_analysis_post POST /api/llm/google/async/media/analysis 【异步适合需要长时间的推理过程】gemini多模态分析,支持视频,音频,图片
MidjourneyApi async_gen_image_api_mj_async_generate_image_post POST /api/mj/async/generate/image 异步提交生图任务
MidjourneyApi async_query_status_api_mj_async_query_status_get GET /api/mj/async/query/status 异步查询任务状态
MidjourneyApi desc_img_by_file_api_mj_sync_file_img_describe_post POST /api/mj/sync/file/img/describe 通过文件获取生图的提示词
MidjourneyApi describe_image_api_api_mj_sync_img_describe_post POST /api/mj/sync/img/describe 获取图像描述
MidjourneyApi generate_image_api_api_mj_generate_image_post POST /api/mj/generate-image 生成图片
MidjourneyApi generate_image_sync_api_mj_sync_image_post POST /api/mj/sync/image 同步生成图片接口
MidjourneyApi health_check_api_mj_health_get GET /api/mj/health 健康检查
MidjourneyApi prompt_check_api_mj_prompt_check_get GET /api/mj/prompt/check 🔥图片提示词预审
MidjourneyapiApi async_query_task_status_api_mj_video_async_task_status_post POST /api/mj/video/async/task/status 异步查询生成任务进度
MidjourneyapiApi health_check_api_mj_video_health_get GET /api/mj/video/health 健康检查
MidjourneyapiApi submit_video_task_api_mj_video_async_submit_post POST /api/mj/video/async/submit 异步提交生成视频任务
MidjourneyapiApi sync_submit_task_api_mj_video_sync_gen_post POST /api/mj/video/sync/gen 同步生成视频视频
OmniHumanApi query_img_recognition_status_api_ark_omnihuman_task_status_get GET /api/ark/omnihuman/task/status 查询任务状态
OmniHumanApi submit_img_recognition_api_ark_omnihuman_img_recognition_post POST /api/ark/omnihuman/img/recognition 提交图片检测任务,图片中是否包含人、类人、拟人等主体
OmniHumanApi submit_video_generate_task_api_ark_omnihuman_video_submit_task_post POST /api/ark/omnihuman/video/submit/task 提交视频生成任务

Documentation For Models

Examples

Image Generation

use text_video_agent_client::{apis::configuration::Configuration, apis::default_api};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let config = Configuration::default();

    // Submit image generation task
    let response = default_api::submit_image_task_api_custom_image_submit_task_post(
        &config,
        // Add your parameters
    ).await?;

    Ok(())
}

Video Generation

use text_video_agent_client::{apis::configuration::Configuration, apis::default_api};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let config = Configuration::default();

    // Submit video generation task
    let response = default_api::submit_video_task_api_custom_video_submit_task_post(
        &config,
        // Add your parameters
    ).await?;

    Ok(())
}

LLM Integration

use text_video_agent_client::{apis::configuration::Configuration, apis::llm_api};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let config = Configuration::default();

    // Get supported models
    let models = llm_api::llm_supported_models(&config).await?;
    println!("Available models: {:?}", models);

    Ok(())
}

API Categories

The client provides access to the following API categories:

  • DefaultApi - Core functionality (templates, file upload, health checks)
  • ApiApi - Task management and basic operations
  • Class302Api - 302AI integration services
  • Class302aiApiApi - 302AI JiMeng video generation
  • Class302aiMidjourneyApi - 302AI Midjourney integration
  • Class302aiVeoApi - 302AI VEO video generation
  • ComfyuiApi - ComfyUI workflow execution
  • Hedra20Api - Hedra 2.0 lip sync services
  • Hedra30Api - Hedra 3.0 lip sync services
  • LlmApi - Large Language Model integration
  • MidjourneyApi - Midjourney image generation
  • MidjourneyapiApi - Midjourney video generation
  • OmniHumanApi - Digital human services

Documentation

To access the complete API documentation:

cargo doc --open

Or visit docs.rs/text_video_agent_client

Contributing

This client is auto-generated from the OpenAPI specification. For issues related to the API itself, please contact the API provider. For issues with this Rust client, please open an issue in the repository.

License

Licensed under either of

at your option.

Author