UNPKG

short-video-maker

Version:

Creates short videos for TikTok, Instagram Reels, and YouTube Shorts using the Model Context Protocol (MCP) and a REST API.

205 lines (204 loc) 6.54 kB
import z from "zod"; export declare enum MusicMoodEnum { sad = "sad", melancholic = "melancholic", happy = "happy", euphoric = "euphoric/high", excited = "excited", chill = "chill", uneasy = "uneasy", angry = "angry", dark = "dark", hopeful = "hopeful", contemplative = "contemplative", funny = "funny/quirky" } export declare enum CaptionPositionEnum { top = "top", center = "center", bottom = "bottom" } export type Scene = { captions: Caption[]; video: string; audio: { url: string; duration: number; }; }; export declare const sceneInput: z.ZodObject<{ text: z.ZodString; searchTerms: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { text: string; searchTerms: string[]; }, { text: string; searchTerms: string[]; }>; export type SceneInput = z.infer<typeof sceneInput>; export declare enum VoiceEnum { af_heart = "af_heart", af_alloy = "af_alloy", af_aoede = "af_aoede", af_bella = "af_bella", af_jessica = "af_jessica", af_kore = "af_kore", af_nicole = "af_nicole", af_nova = "af_nova", af_river = "af_river", af_sarah = "af_sarah", af_sky = "af_sky", am_adam = "am_adam", am_echo = "am_echo", am_eric = "am_eric", am_fenrir = "am_fenrir", am_liam = "am_liam", am_michael = "am_michael", am_onyx = "am_onyx", am_puck = "am_puck", am_santa = "am_santa", bf_emma = "bf_emma", bf_isabella = "bf_isabella", bm_george = "bm_george", bm_lewis = "bm_lewis", bf_alice = "bf_alice", bf_lily = "bf_lily", bm_daniel = "bm_daniel", bm_fable = "bm_fable" } export declare enum OrientationEnum { landscape = "landscape", portrait = "portrait" } export declare enum MusicVolumeEnum { muted = "muted", low = "low", medium = "medium", high = "high" } export declare const renderConfig: z.ZodObject<{ paddingBack: z.ZodOptional<z.ZodNumber>; music: z.ZodOptional<z.ZodNativeEnum<typeof MusicMoodEnum>>; captionPosition: z.ZodOptional<z.ZodNativeEnum<typeof CaptionPositionEnum>>; captionBackgroundColor: z.ZodOptional<z.ZodString>; voice: z.ZodOptional<z.ZodNativeEnum<typeof VoiceEnum>>; orientation: z.ZodOptional<z.ZodNativeEnum<typeof OrientationEnum>>; musicVolume: z.ZodOptional<z.ZodNativeEnum<typeof MusicVolumeEnum>>; }, "strip", z.ZodTypeAny, { paddingBack?: number | undefined; music?: MusicMoodEnum | undefined; captionPosition?: CaptionPositionEnum | undefined; captionBackgroundColor?: string | undefined; voice?: VoiceEnum | undefined; orientation?: OrientationEnum | undefined; musicVolume?: MusicVolumeEnum | undefined; }, { paddingBack?: number | undefined; music?: MusicMoodEnum | undefined; captionPosition?: CaptionPositionEnum | undefined; captionBackgroundColor?: string | undefined; voice?: VoiceEnum | undefined; orientation?: OrientationEnum | undefined; musicVolume?: MusicVolumeEnum | undefined; }>; export type RenderConfig = z.infer<typeof renderConfig>; export type Voices = `${VoiceEnum}`; export type Video = { id: string; url: string; width: number; height: number; }; export type Caption = { text: string; startMs: number; endMs: number; }; export type CaptionLine = { texts: Caption[]; }; export type CaptionPage = { startMs: number; endMs: number; lines: CaptionLine[]; }; export declare const createShortInput: z.ZodObject<{ scenes: z.ZodArray<z.ZodObject<{ text: z.ZodString; searchTerms: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { text: string; searchTerms: string[]; }, { text: string; searchTerms: string[]; }>, "many">; config: z.ZodObject<{ paddingBack: z.ZodOptional<z.ZodNumber>; music: z.ZodOptional<z.ZodNativeEnum<typeof MusicMoodEnum>>; captionPosition: z.ZodOptional<z.ZodNativeEnum<typeof CaptionPositionEnum>>; captionBackgroundColor: z.ZodOptional<z.ZodString>; voice: z.ZodOptional<z.ZodNativeEnum<typeof VoiceEnum>>; orientation: z.ZodOptional<z.ZodNativeEnum<typeof OrientationEnum>>; musicVolume: z.ZodOptional<z.ZodNativeEnum<typeof MusicVolumeEnum>>; }, "strip", z.ZodTypeAny, { paddingBack?: number | undefined; music?: MusicMoodEnum | undefined; captionPosition?: CaptionPositionEnum | undefined; captionBackgroundColor?: string | undefined; voice?: VoiceEnum | undefined; orientation?: OrientationEnum | undefined; musicVolume?: MusicVolumeEnum | undefined; }, { paddingBack?: number | undefined; music?: MusicMoodEnum | undefined; captionPosition?: CaptionPositionEnum | undefined; captionBackgroundColor?: string | undefined; voice?: VoiceEnum | undefined; orientation?: OrientationEnum | undefined; musicVolume?: MusicVolumeEnum | undefined; }>; }, "strip", z.ZodTypeAny, { scenes: { text: string; searchTerms: string[]; }[]; config: { paddingBack?: number | undefined; music?: MusicMoodEnum | undefined; captionPosition?: CaptionPositionEnum | undefined; captionBackgroundColor?: string | undefined; voice?: VoiceEnum | undefined; orientation?: OrientationEnum | undefined; musicVolume?: MusicVolumeEnum | undefined; }; }, { scenes: { text: string; searchTerms: string[]; }[]; config: { paddingBack?: number | undefined; music?: MusicMoodEnum | undefined; captionPosition?: CaptionPositionEnum | undefined; captionBackgroundColor?: string | undefined; voice?: VoiceEnum | undefined; orientation?: OrientationEnum | undefined; musicVolume?: MusicVolumeEnum | undefined; }; }>; export type CreateShortInput = z.infer<typeof createShortInput>; export type VideoStatus = "processing" | "ready" | "failed"; export type Music = { file: string; start: number; end: number; mood: string; }; export type MusicForVideo = Music & { url: string; }; export type MusicTag = `${MusicMoodEnum}`; export type kokoroModelPrecision = "fp32" | "fp16" | "q8" | "q4" | "q4f16"; export type whisperModels = "tiny" | "tiny.en" | "base" | "base.en" | "small" | "small.en" | "medium" | "medium.en" | "large-v1" | "large-v2" | "large-v3" | "large-v3-turbo";