Video models
The video models, the resolutions, durations and frame inputs each one accepts, and why video always needs an explicit model id.
Video runs on POST /video/generate, and model is required. There is no
auto for video.
| Model | Id | Resolutions | Duration (s) | Frame inputs |
|---|---|---|---|---|
| Seedance 2.0 Mini | bytedance/seedance-2.0-mini | 480p, 720p | 4–15, default 5 | first frame, last frame |
| Gemini Omni Flash 1.1 | google/gemini-omni-flash-1.1 | 720p, 1080p, 4k | 3–10, default 8 | first frame, last frame |
| P-Video | prunaai/p-video | 720p, 1080p | 1–10, default 5 | first frame |
| Grok Imagine Video 1.5 | xai/grok-imagine-video-1.5 | 480p, 720p, 1080p | 1–15, default 8 | first frame |
Bold marks the default resolution. Every model does text-to-video and
image-to-video, and generates audio by default. Image-to-video needs exactly
one first_frame. A last_frame is optional where the model takes one. No
video model accepts a reference input today.
This table is a snapshot. The SDK exports the same data as
AVAILABLE_VIDEO_MODELS, and modes and pricing.per_second on
GET https://api.mynth.io/models are the live source for inputs and
resolution tiers.
Every model takes every size shape: the aspect ratio snaps to the closest one the model serves.
The resolution tier, duration, audio, and inputs are checked against the model when the task
is created. A value the model does not serve answers 400 validation_error, and nothing is
queued.
Video is priced per second at the requested resolution, so the same prompt costs different amounts on different models and tiers. Video estimates are always exact, because the model is always explicit.
curl https://api.mynth.io/video/generate/estimate \
-H "Authorization: Bearer $MYNTH_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"bytedance/seedance-2.0-mini","prompt":"A lighthouse beam sweeping over waves","duration":5}'first_frame and last_frame kinds.