Meridian / docs /research.md
yycc's picture
Meridian
9f57754
|
Raw History Blame Contribute Delete
11.3 kB
# Meridian: A new perspective on space and time
**One event. Anywhere. Anytime.**
By **Viggle AI**
*14 September 2026.*
<div class="film hero-film">
<video id="teaser-film" controls playsinline preload="none" width="100%" poster="https://huggingface.co/Viggle/Meridian/resolve/main/videos-all/longtake_showcase/teaser_v7/intro_059.jpg" src="https://huggingface.co/Viggle/Meridian/resolve/main/videos-all/teaser_meridian_showcase_v7.mp4" aria-label="Meridian teaser: a new perspective on space and time">
<a href="https://huggingface.co/Viggle/Meridian/resolve/main/videos-all/teaser_meridian_showcase_v7.mp4">Watch the Meridian teaser</a>.
</video>
<p class="film-caption">48-second teaser</p>
</div>
**Meridian is a geometry-guided video model for authoring new observations of existing events.**
Given a video, choose a new camera path and the source moments to observe. Follow the action from
another angle, linger on a gesture, or hold an instant while the camera keeps moving.
## Choose where. Choose when.
- **Where:** design the camera's position, viewing direction, and lens over a shot.
- **When:** let the action advance, hold a source moment, or change its pace by retiming the input.
**Bullet time is one possibility, not the whole idea.** Camera motion and source time can be
composed into different ways of watching the same event. A single image can also be the starting
point for a moving view.
The compound-camera example shows its source and requested path. The ballet examples use still images.
<table class="video-grid">
<tr>
<td width="50%" valign="top">
<video id="nba-film" controls playsinline preload="none" width="100%" poster="https://huggingface.co/Viggle/Meridian/resolve/main/videos-all/research_examples_v1/nba.jpg" src="https://huggingface.co/Viggle/Meridian/resolve/main/videos-all/research_examples_v1/nba.mp4" aria-label="NBA edit combining labeled source footage and generated views of held moments">
<a href="https://huggingface.co/Viggle/Meridian/resolve/main/videos-all/research_examples_v1/nba.mp4">Watch the example</a>.
</video>
<p><strong>A dunk.</strong> Source action, revisited from new angles. An edited sequence; dunk completion is source footage.</p>
</td>
<td width="50%" valign="top">
<video id="berry-film" controls playsinline preload="none" width="100%" poster="https://huggingface.co/Viggle/Meridian/resolve/main/videos-all/research_examples_v1/berry.jpg" src="https://huggingface.co/Viggle/Meridian/resolve/main/videos-all/research_examples_v1/berry.mp4" aria-label="Strawberries: source time advances, holds while the camera moves, then resumes">
<a href="https://huggingface.co/Viggle/Meridian/resolve/main/videos-all/research_examples_v1/berry.mp4">Watch the example</a>.
</video>
<p><strong>Play. Hold. Resume.</strong> Linger on the splash, then let it continue.</p>
</td>
</tr>
<tr>
<td width="50%" valign="top">
<video id="moto-film" controls playsinline preload="none" width="100%" poster="https://huggingface.co/Viggle/Meridian/resolve/main/videos-all/research_examples_v2/motor_compound.jpg" src="https://huggingface.co/Viggle/Meridian/resolve/main/videos-all/teaser_meridian_compound_motor_dust_explained_v1.mp4" aria-label="Motocross: one uncut take with a compound camera path, selected source video, and requested camera diagrams">
<a href="https://huggingface.co/Viggle/Meridian/resolve/main/videos-all/teaser_meridian_compound_motor_dust_explained_v1.mp4">Watch the example</a>.
</video>
<p><strong>Compose a camera path.</strong> Widen, orbit, slide, approach, retreat—one uncut take.</p>
</td>
<td width="50%" valign="top">
<video id="ballet-film" controls playsinline preload="none" width="100%" poster="https://huggingface.co/Viggle/Meridian/resolve/main/videos-all/research_examples_v2/ballet_reverse45.jpg" src="https://huggingface.co/Viggle/Meridian/resolve/main/videos-all/meridian_ballet_l150_female_reverse45.mp4" aria-label="Female ballet dancer: generated camera movement from one still image">
<a href="https://huggingface.co/Viggle/Meridian/resolve/main/videos-all/meridian_ballet_l150_female_reverse45.mp4">Watch the example</a>.
</video>
<p><strong>One image. Another viewpoint.</strong> A camera move from a single ballet image.</p>
</td>
</tr>
</table>
<details class="more-examples">
<summary>More examples · robots, animation, dance, and sport</summary>
<table class="video-grid">
<tr>
<td width="50%" valign="top">
<video id="robot-film" controls playsinline preload="none" width="100%" poster="https://huggingface.co/Viggle/Meridian/resolve/main/videos-all/research_examples_v1/robot.jpg" src="https://huggingface.co/Viggle/Meridian/resolve/main/videos-all/research_examples_v1/robot.mp4" aria-label="Robot folding cloth from a higher generated viewpoint, with aligned input">
<a href="https://huggingface.co/Viggle/Meridian/resolve/main/videos-all/research_examples_v1/robot.mp4">Watch the example</a>.
</video>
<p><strong>Robot manipulation.</strong> The task continues from a higher viewpoint.</p>
</td>
<td width="50%" valign="top">
<video id="charge-film" controls playsinline preload="none" width="100%" poster="https://huggingface.co/Viggle/Meridian/resolve/main/videos-all/research_examples_v1/charge.jpg" src="https://huggingface.co/Viggle/Meridian/resolve/main/videos-all/research_examples_v1/charge.mp4" aria-label="Charge animation: play, hold, resume with a moving viewpoint">
<a href="https://huggingface.co/Viggle/Meridian/resolve/main/videos-all/research_examples_v1/charge.mp4">Watch the example</a>.
</video>
<p><strong>An animated event.</strong> Hold the action; move the camera.</p>
</td>
</tr>
<tr>
<td width="50%" valign="top">
<video id="ballet_male-film" controls playsinline preload="none" width="100%" poster="https://huggingface.co/Viggle/Meridian/resolve/main/videos-all/research_examples_v1/ballet_male.jpg" src="https://huggingface.co/Viggle/Meridian/resolve/main/videos-all/research_examples_v1/ballet_male.mp4" aria-label="Male ballet dancer: a separate single-image input and generated viewpoint">
<a href="https://huggingface.co/Viggle/Meridian/resolve/main/videos-all/research_examples_v1/ballet_male.mp4">Watch the example</a>.
</video>
<p><strong>Another ballet photograph.</strong> One image, a moving view.</p>
</td>
<td width="50%" valign="top">
<video id="gymnast-film" controls playsinline preload="none" width="100%" poster="https://huggingface.co/Viggle/Meridian/resolve/main/videos-all/research_examples_v1/gymnast.jpg" src="https://huggingface.co/Viggle/Meridian/resolve/main/videos-all/research_examples_v1/gymnast.mp4" aria-label="Gymnastics: action continues while the generated camera rises">
<a href="https://huggingface.co/Viggle/Meridian/resolve/main/videos-all/research_examples_v1/gymnast.mp4">Watch the example</a>.
</video>
<p><strong>A rising view.</strong> The gesture unfolds.</p>
</td>
</tr>
<tr>
<td width="50%" valign="top">
<video id="powder-film" controls playsinline preload="none" width="100%" poster="https://huggingface.co/Viggle/Meridian/resolve/main/videos-all/research_examples_v1/powder.jpg" src="https://huggingface.co/Viggle/Meridian/resolve/main/videos-all/research_examples_v1/powder.mp4" aria-label="Snow sports: action continues with a moving generated viewpoint">
<a href="https://huggingface.co/Viggle/Meridian/resolve/main/videos-all/research_examples_v1/powder.mp4">Watch the example</a>.
</video>
<p><strong>Through the powder.</strong> Move with the action.</p>
</td>
</tr>
</table>
</details>
## Method
![Input video enters VGGT-Omega; estimated depth and source cameras give colored 3D points. User-specified target cameras reproject those points into a warped video. Both the time-aligned source video and warped video condition Meridian to generate the output video. Video samples are real; 3D points and cameras are schematic.](https://huggingface.co/Viggle/Meridian/resolve/main/docs/assets/research/meridian_illustrated_method.png)
*Matched source, warp, and output frames; the 3D points and cameras are schematic.*
The method is simple: **use geometry to show a video model where to look.**
**1. Reproject the source.** VGGT-Omega estimates depth and source-camera poses. We build colored
3D points, select the source moments, and project those points through an authored camera path
into a warped video.
**2. Generate the new view.** Meridian, built on MiniMax-H3, takes **the source video and warped
video**, aligned to the same source moments, and generates the new shot. Geometry guides the view;
the video model fills missing regions and refines appearance.
**Preview before generation.** Once geometry is available, fast point-cloud rendering makes the
chosen path visible. Check the framing, viewing direction, and uncovered regions—and adjust the
camera before running the video model. This inexpensive preview is a useful consequence of making
camera control explicit.
## Why this matters
The shift is from generating another scene to **choosing another observation of the same event**.
This is the world-model perspective behind Meridian: connect what we see to where and when we
observe it, grounded in supplied footage rather than unrestricted simulation.
Unseen regions are generated, not recovered. Geometry errors and large moves—including 360°
orbits—can destabilize the view. Time edits revisit supplied frames, and separate takes need not
form a consistent world.
## Try Meridian
[Get started with Meridian](../README.md#quickstart).
Meridian uses MiniMax-H3 with precomputed text embeddings, **without loading a text encoder**.
We welcome community work on quantization and CPU offloading toward smaller GPUs, including the
RTX 4090; those configurations are not yet supported or validated by the provided implementation.
The release also includes a **very basic, vibe-coded Studio demo** to illustrate how
to use the model—not a production editor. It supports multi-key camera paths and real-time 3D
preview, not real-time video generation.
<details class="studio-demo">
<summary>Watch the 38-second Studio walkthrough</summary>
<div class="film">
<video id="studio-film" controls playsinline preload="none" width="100%" poster="https://huggingface.co/Viggle/Meridian/resolve/main/videos-all/studio_walkthrough/nba3_preview_live_02/studio_walkthrough_concise_poster.jpg" src="https://huggingface.co/Viggle/Meridian/resolve/main/videos-all/studio_walkthrough/nba3_preview_live_02/studio_walkthrough_concise.mp4" aria-label="Early Studio demo: actual authoring and geometric preview, not final generation">
<a href="https://huggingface.co/Viggle/Meridian/resolve/main/videos-all/studio_walkthrough/nba3_preview_live_02/studio_walkthrough_concise.mp4">Watch the Studio walkthrough</a>.
</video>
<p class="film-caption">Authoring and geometric preview only, with some operations and waits omitted—not a final generated take.</p>
</div>
</details>
---
Powered by MiniMax H3. See the [licenses and intended use](../README.md#license).