enable text prompts for videos (#724)

This commit is contained in:
Brandon Thomas authored and GitHub committed 2025-07-14 22:14:36 -04:00
1 parent 2c9be7c262
commit 9782bd33bc
5 files changed
+27 -11

No files matched your search

@@ -29,6 +29,9 @@ pub struct EnqueueImageToVideoRequest {
/// The model to use.
pub model: Option<VideoModel>,
/// Optional text prompt.
pub prompt: Option<String>,
}
#[derive(Serialize)]
@@ -77,7 +77,7 @@ pub async fn handle_video_artcraft(
uuid_idempotency_token,
media_file_token: request.image_media_token,
aspect_ratio: Some(GenerateKling16ProAspectRatio::WideSixteenNine),
prompt: None,
prompt: request.prompt,
duration: None,
};
let result = generate_kling_16_pro_image_to_video(
@@ -103,7 +103,7 @@ pub async fn handle_video_artcraft(
uuid_idempotency_token,
media_file_token: request.image_media_token,
aspect_ratio: Some(GenerateKling21MasterAspectRatio::WideSixteenNine),
prompt: None,
prompt: request.prompt,
duration: None,
};
let result = generate_kling_21_master_image_to_video(
@@ -129,7 +129,7 @@ pub async fn handle_video_artcraft(
uuid_idempotency_token,
media_file_token: request.image_media_token,
aspect_ratio: Some(GenerateKling21ProAspectRatio::WideSixteenNine),
prompt: None,
prompt: request.prompt,
duration: None,
};
let result = generate_kling_21_pro_image_to_video(
@@ -154,7 +154,7 @@ pub async fn handle_video_artcraft(
let request = GenerateSeedance10LiteImageToVideoRequest {
uuid_idempotency_token,
media_file_token: request.image_media_token,
prompt: None,
prompt: request.prompt,
resolution: None,
duration: None,
};
@@ -181,7 +181,7 @@ pub async fn handle_video_artcraft(
uuid_idempotency_token,
media_file_token: request.image_media_token,
aspect_ratio: Some(GenerateVeo2AspectRatio::WideSixteenNine),
prompt: None,
prompt: request.prompt,
duration: None,
};
let result = generate_veo_2_image_to_video(
@@ -77,7 +77,7 @@ pub async fn handle_video_fal(
api_key: &api_key,
duration: Kling16ProDuration::Default,
aspect_ratio: Kling16ProAspectRatio::WideSixteenNine,
prompt: "",
prompt: request.prompt.as_deref().unwrap_or(""),
}).await
}
_ => {
@@ -198,7 +198,7 @@ export const PromptBoxVideo = ({
const generateResponse = await EnqueueImageToVideo({
model: modelInfo,
image_media_token: referenceImages[0].mediaToken,
//prompt: prompt,
prompt: prompt,
});
console.log("generateResponse", generateResponse);
@@ -16,6 +16,13 @@ export enum EnqueueImageToVideoErrorType {
export interface EnqueueImageToVideoRequest {
image_media_token?: string;
model?: ModelInfo;
prompt?: string;
}
interface RawEnqueueImageToVideoRequest {
image_media_token?: string;
model?: string;
prompt?: string;
}
export interface EnqueueImageToVideoError extends CommandResult {
@@ -38,11 +45,17 @@ export type EnqueueImageToVideoResult = EnqueueImageToVideoSuccess | EnqueueImag
export const EnqueueImageToVideo = async (request: EnqueueImageToVideoRequest) : Promise<EnqueueImageToVideoResult> => {
const modelName = request.model?.tauri_id;
let mutableRequest : RawEnqueueImageToVideoRequest = {
image_media_token: request.image_media_token,
model: modelName,
};
if (!!request.prompt) {
mutableRequest.prompt = request.prompt;
}
const result = await invoke("enqueue_image_to_video_command", {
request: {
image_media_token: request.image_media_token,
model: modelName,
}
request: mutableRequest,
});
return (result as EnqueueImageToVideoResult);