mirror of
https://github.com/storytold/artcraft.git
synced 2026-11-05 17:58:55 +00:00
fix requests
This commit is contained in:
1 parent
9c8db2f828
commit
4485a8aabc
4 files changed
+44
-19
No files matched your search
@@ -1,3 +1,3 @@
|
||||
mod maybe_notify_frontend_of_billing_errors;
|
||||
mod maybe_notify_frontend_of_grok_errors;
|
||||
pub mod maybe_notify_frontend_of_billing_errors;
|
||||
pub mod maybe_notify_frontend_of_grok_errors;
|
||||
pub mod notify_frontend_of_errors;
|
||||
+10
-11
@@ -1,15 +1,12 @@
|
||||
use crate::core::commands::enqueue::generate_error::GenerateError;
|
||||
use crate::core::commands::enqueue::task_enqueue_success::TaskEnqueueSuccess;
|
||||
use crate::core::commands::generate::generate_video::artcraft::get_storyteller_creds_or_error::get_storyteller_creds_or_error;
|
||||
use crate::core::commands::generate::generate_video::artcraft::handle_artcraft_kling_1p6_pro::handle_artcraft_kling_1p6_pro;
|
||||
use crate::core::commands::generate::generate_video::artcraft::handle_artcraft_kling_2p1_master::handle_artcraft_kling_2p1_master;
|
||||
use crate::core::commands::generate::generate_video::artcraft::handle_artcraft_kling_2p1_pro::handle_artcraft_kling_2p1_pro;
|
||||
use crate::core::commands::generate::generate_video::artcraft::handle_artcraft_kling_2p5_turbo_pro::handle_artcraft_kling_2p5_turbo_pro;
|
||||
use crate::core::commands::generate::generate_video::artcraft::handle_artcraft_kling_2p6_pro::handle_artcraft_kling_2p6_pro;
|
||||
use crate::core::commands::generate::generate_video::artcraft::handle_artcraft_video_via_router::handle_artcraft_video_via_router;
|
||||
use crate::core::commands::generate::generate_video::artcraft::handle_artcraft_seedance_1_lite::handle_artcraft_seedance_1_lite;
|
||||
use crate::core::events::generation_events::common::GenerationModel;
|
||||
use artcraft_router::api::common_video_model::CommonVideoModel;
|
||||
use crate::core::commands::generate::generate_video::artcraft::handle_artcraft_seedance_2p0::handle_artcraft_seedance_2p0;
|
||||
use crate::core::commands::generate::generate_video::artcraft::handle_artcraft_sora2::handle_artcraft_sora2;
|
||||
use crate::core::commands::generate::generate_video::artcraft::handle_artcraft_sora2_pro::handle_artcraft_sora2_pro;
|
||||
use crate::core::commands::generate::generate_video::artcraft::handle_artcraft_veo2::handle_artcraft_veo2;
|
||||
@@ -17,11 +14,13 @@ use crate::core::commands::generate::generate_video::artcraft::handle_artcraft_v
|
||||
use crate::core::commands::generate::generate_video::artcraft::handle_artcraft_veo3_fast::handle_artcraft_veo3_fast;
|
||||
use crate::core::commands::generate::generate_video::artcraft::handle_artcraft_veo3p1::handle_artcraft_veo3p1;
|
||||
use crate::core::commands::generate::generate_video::artcraft::handle_artcraft_veo3p1_fast::handle_artcraft_veo3p1_fast;
|
||||
use crate::core::commands::generate::generate_video::artcraft::handle_artcraft_video_via_router::handle_artcraft_video_via_router;
|
||||
use crate::core::commands::generate::generate_video::request::{TauriGenerateVideoRequest, TauriVideoModel};
|
||||
use crate::core::commands::enqueue::task_enqueue_success::TaskEnqueueSuccess;
|
||||
use crate::core::events::generation_events::common::GenerationModel;
|
||||
use crate::core::state::app_env_configs::app_env_configs::AppEnvConfigs;
|
||||
use crate::services::storyteller::state::storyteller_credential_manager::StorytellerCredentialManager;
|
||||
use anyhow::anyhow;
|
||||
use artcraft_router::api::common_video_model::CommonVideoModel;
|
||||
use tauri::AppHandle;
|
||||
|
||||
pub async fn handle_video_artcraft(
|
||||
@@ -38,12 +37,12 @@ pub async fn handle_video_artcraft(
|
||||
Err(GenerateError::no_model_specified())
|
||||
},
|
||||
// Handled via router
|
||||
Some(TauriVideoModel::Kling3p0Pro) => handle_artcraft_video_via_router(request, app_env_configs, &creds, CommonTauriVideoModel::Kling3p0Pro, GenerationModel::Kling3p0Pro).await,
|
||||
Some(TauriVideoModel::Kling3p0Standard) => handle_artcraft_video_via_router(request, app_env_configs, &creds, CommonTauriVideoModel::Kling3p0Standard, GenerationModel::Kling3p0Standard).await,
|
||||
Some(TauriVideoModel::Seedance1p5Pro) => handle_artcraft_video_via_router(request, app_env_configs, &creds, CommonTauriVideoModel::Seedance1p5Pro, GenerationModel::Seedance1p5Pro).await,
|
||||
Some(TauriVideoModel::Seedance2p0) => handle_artcraft_video_via_router(request, app_env_configs, &creds, CommonTauriVideoModel::Seedance2p0, GenerationModel::Seedance2p0).await,
|
||||
Some(TauriVideoModel::Seedance2p0Fast) => handle_artcraft_video_via_router(request, app_env_configs, &creds, CommonTauriVideoModel::Seedance2p0Fast, GenerationModel::Seedance2p0Fast).await,
|
||||
Some(TauriVideoModel::HappyHorse1p0) => handle_artcraft_video_via_router(request, app_env_configs, &creds, CommonTauriVideoModel::HappyHorse1p0, GenerationModel::HappyHorse1p0).await,
|
||||
Some(TauriVideoModel::Kling3p0Pro) => handle_artcraft_video_via_router(request, app_env_configs, &creds, CommonVideoModel::Kling3p0Pro, GenerationModel::Kling3p0Pro).await,
|
||||
Some(TauriVideoModel::Kling3p0Standard) => handle_artcraft_video_via_router(request, app_env_configs, &creds, CommonVideoModel::Kling3p0Standard, GenerationModel::Kling3p0Standard).await,
|
||||
Some(TauriVideoModel::Seedance1p5Pro) => handle_artcraft_video_via_router(request, app_env_configs, &creds, CommonVideoModel::Seedance1p5Pro, GenerationModel::Seedance1p5Pro).await,
|
||||
Some(TauriVideoModel::Seedance2p0) => handle_artcraft_video_via_router(request, app_env_configs, &creds, CommonVideoModel::Seedance2p0, GenerationModel::Seedance2p0).await,
|
||||
Some(TauriVideoModel::Seedance2p0Fast) => handle_artcraft_video_via_router(request, app_env_configs, &creds, CommonVideoModel::Seedance2p0Fast, GenerationModel::Seedance2p0Fast).await,
|
||||
Some(TauriVideoModel::HappyHorse1p0) => handle_artcraft_video_via_router(request, app_env_configs, &creds, CommonVideoModel::HappyHorse1p0, GenerationModel::HappyHorse1p0).await,
|
||||
// Legacy endpoints
|
||||
Some(TauriVideoModel::Kling16Pro) => handle_artcraft_kling_1p6_pro(request, app_env_configs, &creds).await,
|
||||
Some(TauriVideoModel::Kling21Pro) => handle_artcraft_kling_2p1_pro(request, app_env_configs, &creds).await,
|
||||
|
||||
+13
-1
@@ -29,7 +29,7 @@ use tauri::{AppHandle, State};
|
||||
|
||||
#[tauri::command]
|
||||
pub async fn generate_video_command(
|
||||
request: TauriGenerateVideoRequest,
|
||||
mut request: TauriGenerateVideoRequest,
|
||||
app: AppHandle,
|
||||
app_env_configs: State<'_, AppEnvConfigs>,
|
||||
app_data_root: State<'_, AppDataRoot>,
|
||||
@@ -44,6 +44,18 @@ pub async fn generate_video_command(
|
||||
|
||||
info!("generate_video_command called, request: {:?}", request);
|
||||
|
||||
if request.image_media_token.is_none()
|
||||
&& request.start_frame_image_media_token.is_some() {
|
||||
// NB: This is to fix the legacy handlers
|
||||
request.image_media_token = request.start_frame_image_media_token.clone();
|
||||
}
|
||||
|
||||
if request.image_media_token.is_some()
|
||||
&& request.start_frame_image_media_token.is_none() {
|
||||
// NB: This is to fix the modern handlers
|
||||
request.start_frame_image_media_token = request.image_media_token.clone();
|
||||
}
|
||||
|
||||
let result = handle_request(
|
||||
request,
|
||||
&app,
|
||||
|
||||
@@ -74,37 +74,51 @@ pub enum TauriVideoModel {
|
||||
Veo3p1Fast,
|
||||
}
|
||||
|
||||
#[derive(Deserialize, Debug)]
|
||||
#[derive(Deserialize, Debug, Clone)]
|
||||
pub struct TauriGenerateVideoRequest {
|
||||
pub provider: Option<GenerationProvider>,
|
||||
pub model: Option<TauriVideoModel>,
|
||||
|
||||
pub prompt: Option<String>,
|
||||
pub negative_prompt: Option<String>,
|
||||
|
||||
#[deprecated(note = "Use start_frame_image_media_token instead")]
|
||||
pub image_media_token: Option<MediaFileToken>,
|
||||
|
||||
pub start_frame_image_media_token: Option<MediaFileToken>,
|
||||
pub end_frame_image_media_token: Option<MediaFileToken>,
|
||||
|
||||
pub reference_image_media_tokens: Option<Vec<MediaFileToken>>,
|
||||
pub reference_video_media_tokens: Option<Vec<MediaFileToken>>,
|
||||
pub reference_audio_media_tokens: Option<Vec<MediaFileToken>>,
|
||||
pub reference_character_tokens: Option<Vec<CharacterToken>>,
|
||||
pub prompt: Option<String>,
|
||||
pub generate_audio: Option<bool>,
|
||||
|
||||
pub aspect_ratio: Option<CommonAspectRatio>,
|
||||
pub resolution: Option<CommonResolution>,
|
||||
|
||||
pub duration_seconds: Option<u16>,
|
||||
pub generate_audio: Option<bool>,
|
||||
pub video_batch_count: Option<u16>,
|
||||
|
||||
#[deprecated(note = "Use start_frame_image_media_token instead")]
|
||||
pub sora_orientation: Option<SoraOrientation>,
|
||||
|
||||
#[deprecated(note = "Use start_frame_image_media_token instead")]
|
||||
pub grok_aspect_ratio: Option<GrokAspectRatio>,
|
||||
|
||||
pub frontend_caller: Option<TauriCommandCaller>,
|
||||
pub frontend_subscriber_id: Option<String>,
|
||||
pub frontend_subscriber_payload: Option<String>,
|
||||
}
|
||||
|
||||
#[derive(Deserialize, Debug)]
|
||||
#[derive(Deserialize, Debug, Clone, Copy)]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
pub enum SoraOrientation {
|
||||
Portrait,
|
||||
Landscape,
|
||||
}
|
||||
|
||||
#[derive(Deserialize, Debug)]
|
||||
#[derive(Deserialize, Debug, Clone, Copy)]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
pub enum GrokAspectRatio {
|
||||
Portrait,
|
||||
|
||||
Reference in new issue
Block a user