wire up model

This commit is contained in:
Brandon Thomas committed 2026-05-18 10:00:58 -04:00
1 parent b94ce8943a
commit 4f8a79148a
3 files changed
+40 -6

No files matched your search

@@ -13,13 +13,11 @@ use crate::state::server_state::ServerState;
pub fn build_router_client(
provider: Provider,
server_state: &ServerState,
use_alternate_kinovi: bool,
) -> Result<RouterClient, AdvancedCommonWebError> {
match provider {
Provider::Seedance2Pro => {
let session = Seedance2ProSession::from_cookies_string(
server_state.seedance2pro.cookies.clone()
);
Ok(RouterClient::Seedance2Pro(RouterSeedance2ProClient::new(session)))
kinovi_provider(server_state, use_alternate_kinovi)
}
Provider::Fal => {
let fal_client = RouterFalClient::new(
@@ -40,3 +38,19 @@ pub fn build_router_client(
}
}
}
fn kinovi_provider(server_state: &ServerState, use_alternate_kinovi: bool) -> Result<RouterClient, AdvancedCommonWebError> {
let session = if use_alternate_kinovi {
// Standard Kinovi
Seedance2ProSession::from_cookies_string(
server_state.seedance2pro.cookies_whitelist.clone()
)
} else {
// Standard Kinovi
Seedance2ProSession::from_cookies_string(
server_state.seedance2pro.cookies.clone()
)
};
Ok(RouterClient::Seedance2Pro(RouterSeedance2ProClient::new(session)))
}
@@ -15,7 +15,9 @@ pub(crate) async fn execute_generation_fal(
plan: &VideoGenerationPlan,
server_state: &ServerState,
) -> Result<GenerateVideoResponse, AdvancedCommonWebError> {
let router_client = build_router_client(Provider::Fal, server_state)?;
const USE_ALTERNATE_KINOVI: bool = false;
let router_client = build_router_client(Provider::Fal, server_state, USE_ALTERNATE_KINOVI)?;
let response = plan.generate_video(&router_client)
.await
@@ -39,6 +39,22 @@ pub async fn run_pipeline_v2(args: RunPipelineV2Args<'_>) -> Result<PipelineResu
kinovi_character_id_map,
} = args;
let mut router_builder = router_builder.clone();
let mut use_alternate_kinovi = false;
match router_builder.model {
CommonVideoModel::PreviewModel => {
router_builder.model = CommonVideoModel::Seedance2p0;
use_alternate_kinovi = true;
},
CommonVideoModel::PreviewModelFast => {
router_builder.model = CommonVideoModel::Seedance2p0Fast;
use_alternate_kinovi = true;
},
_ => {}, // Fall-through
}
let provider = match router_builder.model {
CommonVideoModel::HappyHorse1p0 => Provider::Seedance2Pro,
CommonVideoModel::Seedance2p0 => Provider::Seedance2Pro,
@@ -97,6 +113,7 @@ pub async fn run_pipeline_v2(args: RunPipelineV2Args<'_>) -> Result<PipelineResu
server_state,
media_file_to_url_map.as_ref(),
kinovi_character_id_map.as_ref(),
use_alternate_kinovi,
).await;
// 5. On failure, refund wallet for Kinovi requests.
@@ -129,10 +146,11 @@ async fn upload_and_generate(
server_state: &ServerState,
media_file_urls_by_token: Option<&HashMap<MediaFileToken, String>>,
kinovi_character_ids: Option<&HashMap<CharacterToken, String>>,
use_alternate_kinovi: bool,
) -> Result<GenerateVideoResponse, AdvancedCommonWebError> {
let provider = draft_or_request.get_provider();
let client = build_router_client(provider, server_state)?;
let client = build_router_client(provider, server_state, use_alternate_kinovi)?;
let video_request = match draft_or_request {
VideoGenerationDraftOrRequest::Request(request) => request,