import type * as Hedra from "../index.js"; /** * Model-specific inputs for `minimax-h3-max-camera-controls`. */ export interface InputMinimaxH3MaxCameraControls { /** Number of outputs generated per job. Only 1 is supported. */ num_outputs?: number | undefined; /** Generation prompt. From 1 to 7000 characters. */ prompt: string; /** Output resolution. */ resolution: InputMinimaxH3MaxCameraControls.Resolution; /** Duration in ms. */ duration_ms: number; /** Start frame. From 256px to 5760px on each side, with an aspect ratio from 0.4 to 2.5, and at most 30 MB. */ start_image: Hedra.InputMinimaxH3MaxCameraControlsStartImage; /** Camera path through the scene, as poses ordered by strictly increasing `time`. The first pose holds until its `time` and the last holds to the end of the clip; the camera interpolates between them. `time` runs 0 (start) to 1 (end), `azimuth` is the horizontal angle around the subject in degrees, `elevation` the vertical angle in degrees from -90 to 90, and `distance` the distance from the subject in scene units (above 0; 1 is where the input frame sits). Consecutive azimuths may travel at most 32 full turns in total. 2 to 12 items. */ camera_trajectory: InputMinimaxH3MaxCameraControls.CameraTrajectory.Item[]; } export declare namespace InputMinimaxH3MaxCameraControls { /** Output resolution. */ const Resolution: { readonly FourHundredEightyP: "480p"; readonly SevenHundredSixtyEightP: "768p"; }; type Resolution = (typeof Resolution)[keyof typeof Resolution]; type CameraTrajectory = CameraTrajectory.Item[]; namespace CameraTrajectory { /** * One camera pose at a normalized point in the generated clip. */ interface Item { /** When this pose applies, from 0 at the start to 1 at the end. */ time: number; /** Horizontal camera angle around the subject, in degrees. */ azimuth: number; /** Vertical camera angle around the subject, in degrees. */ elevation: number; /** Camera distance from the subject, in normalized scene units. */ distance: number; } } }