diff --git a/apps/desktop/src-tauri/src/business/services/async_material_service.rs b/apps/desktop/src-tauri/src/business/services/async_material_service.rs
index abe2e7a..f761493 100644
--- a/apps/desktop/src-tauri/src/business/services/async_material_service.rs
+++ b/apps/desktop/src-tauri/src/business/services/async_material_service.rs
@@ -77,6 +77,7 @@ impl AsyncMaterialService {
let file_path_clone = file_path.clone();
let config_clone = config.clone();
let event_bus_clone = Arc::clone(&event_bus);
+ let model_id_clone = request.model_id.clone();
match Self::process_single_file_async(
repository_clone,
@@ -84,6 +85,7 @@ impl AsyncMaterialService {
&file_path_clone,
&config_clone,
event_bus_clone,
+ model_id_clone,
).await {
Ok(Some(material)) => {
info!(
@@ -153,6 +155,7 @@ impl AsyncMaterialService {
file_path: &str,
config: &MaterialProcessingConfig,
event_bus: Arc,
+ model_id: Option,
) -> Result
)}
+
+ {/* 模特绑定选择 */}
+
+
+
({
+ value: model.id,
+ label: model.stage_name || model.name,
+ })),
+ ]}
+ placeholder={loadingModels ? '加载中...' : '选择模特'}
+ disabled={loadingModels}
+ className="w-full"
+ />
+
+ 选择模特后,导入的素材将自动绑定到该模特
+
+
)}
diff --git a/apps/desktop/src/types/material.ts b/apps/desktop/src/types/material.ts
index f6e33fb..1271e2d 100644
--- a/apps/desktop/src/types/material.ts
+++ b/apps/desktop/src/types/material.ts
@@ -96,6 +96,7 @@ export interface CreateMaterialRequest {
file_paths: string[];
auto_process: boolean;
max_segment_duration?: number;
+ model_id?: string; // 可选的模特绑定ID
}
export interface MaterialProcessingConfig {