Hailuo 3.0 clips in a Sume timeline: set output.fps or omit it

Cutting 24 fps AI clips into a timeline at the wrong frame rate causes judder. Sume's Timeline output.fps accepts 24, 25, 30 or 60, or matches your sources.

5 min readSume
All posts

If you join MiniMax H3 (Hailuo 3.0) clips in a Sume timeline, omit output.fps or set it to the clips' own rate. Sume's Timeline docs say that when you omit it the job renders at the rate of the sources, and that choosing a rate that differs from a source makes the job repeat or drop a frame every few frames, which causes judder on motion. A third-party summary (the Hugging Face blog, read 2026-10-05) lists the hosted H3 output as 2K at 24 fps, so 24 is the value to test.

What the docs say about fps

Three facts from the Timeline page:

  • output.fps accepts 24, 25, 30 or 60.
  • If you omit it, the longest video sources decide the rate; stills have no rate, and 30 applies only when no source has one.
  • When the rate you ask for differs from a source, the job reports output_fps_resamples_sources with the rate the sources wanted.

What judder looks like

When a 24 fps clip is shown at 30 fps by repeating every fifth frame or so, motion on pans and tracking shots looks uneven. It is easy to miss on a static shot and hard to miss on a slow camera move. The Sume docs describe the cause in the Timeline page: the job repeats or drops a frame every few frames when the output rate differs from a source rate.

If your edit is mostly talking shots and static products, the effect may be hard to see. If it contains orbits, pans or fast subject motion, it will show. Test on your hardest shot, not your easiest.

Combining with other steps

The Timeline job is assembly: the docs say material preparation stays on separate tools such as video trim, audio detach and video filter. If you need to conform a clip's rate before assembly, use the trim tool that a stored post on this site describes, or set output.fps on the render and accept a single resample for all clips. Either way, decide the rate once at the end of the pipeline, not at each step.

Check before you commit

The Sume docs read for this post do not state the frame rate of an H3 clip. So test it rather than trust a summary. Render one short timeline with output.fps omitted. Then read warnings[] in the job result. If you see no output_fps_resamples_sources, your sources agree with the output. If you do, the warning names the rate they wanted.

The plan call is unbilled and checks the schema, but the docs say it cannot predict short-source pad and loop warnings. It does not replace one real render.

curl -X POST https://api.sume.com/v1/timeline-1.0/plan \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "audio": {"mode": "silence", "duration_seconds": 10},
    "video": [
      {"source_url": "https://media.sume.com/artifacts/artf_demo/a.mp4", "start": 0, "duration": 5},
      {"source_url": "https://media.sume.com/artifacts/artf_demo/b.mp4", "start": 5, "duration": 5}
    ],
    "output": {"fps": 24}
  }'

When to pick another rate

If a platform needs 30 fps, set output.fps: 30 and accept the resample, or conform with a trim step first. A stored post on this site covers a 24 fps clip for a platform that asks for 30. Mixed sources are the harder case: a 24 fps H3 clip next to a 30 fps screen recording means one of them is resampled whichever rate you choose. Pick the rate of the footage that carries the most motion.

All source URLs must be media.sume.com artifacts or assets in your workspace, per the Timeline docs, so import outside files first.

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume