Compare commits

...
Author SHA1 Message Date
Brandon Thomas 2e541eae69 enable text prompts for videos 2025-07-14 22:13:24 -04:00
5 changed files with 27 additions and 11 deletions
@@ -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);