After a frame-rate change: conform the clip in Sume Video trim
Got a clip at 48 or 120 fps back from an Enhance Frame Rate tool? Sume Video trim re-encodes to 24, 25, 30 or 60 fps and 256 to 2160 px, for $0.02 per job.

If a rate change leaves you with a 48 or 120 fps file, Sume Video trim can conform it to 24, 25, 30 or 60 fps in one call at $0.02 per job. The output block takes width and height from 256 to 2160 and needs precision exact. Sume's docs describe it as a conform, not frame interpolation, so do not expect added smoothness.
What does the output block accept?
The source must be a media.sume.com file of up to 1800 seconds, and the output is at most 900 seconds. Asking for output with precision keyframe is refused with video_trim_output_requires_exact.
| Option | Values |
|---|---|
| output.fps | 24, 25, 30 or 60 |
| output.width, output.height | 256 to 2160 |
| precision | exact (default) or keyframe |
| audio | keep or drop |
| duration | 0.2 to 900 s |
Why conform at all?
A Timeline render takes sources and an output rate. If you omit output.fps it matches the sources. Mixed rates in one render are met by repeating or dropping frames, and Sume reports output_fps_resamples_sources. Conforming each part first gives you one clear point where the rate changes.
What does the call look like?
Use a stable Idempotency-Key so a retry does not create a second job.
import os, requests
r = requests.post(
"https://api.sume.com/v1/video-trim",
headers={"Authorization": "Bearer " + os.environ["SUME_API_KEY"],
"Idempotency-Key": "conform-60-001"},
json={"video_url": "https://media.sume.com/artifacts/artf_demo/clip.mp4",
"start": 0, "duration": 60, "precision": "exact",
"output": {"width": 1920, "height": 1080, "fps": 60}},
timeout=60,
)
r.raise_for_status()
print(r.status_code, r.json())What is the catch?
A file from outside Sume must be in your media library before trim can read it. Going from 120 fps to 60 fps halves the frame count, so detail from the extra frames is lost. If you want to keep the extra frames, keep the file and use Sume only for the parts of the edit that fit its rates.
How do I check the result?
Probe the output with Video inspect and frames set to false. Confirm fps, width, height and duration_seconds match what you asked for. Then compare a few stills with Video frames at the same time on the source and on the output. A trim with precision exact reports the cut you asked for, so the start time should match. Sume's docs list the exact limits and error codes for each call, so read the page for the endpoint you use before you build on it, and keep a short note of which limits applied to your run, so a later change is easy to spot. If a call is refused, the error code names the cause, and fixing that one input is usually enough to retry safely with the same Idempotency-Key.
Sources
Related posts
More in Use cases
- EU AI icon: embedded in the video or a UI overlay, and when reshared
The Commission says the EU AI icon should be embedded in the content unless an equivalent like a UI overlay exists, and be visible on reshare or download.
- EU AI icon licence: free, no attribution, not proof of compliance
The Commission's EU AI icons are free with no attribution, but using one does not prove compliance, and a non-signatory using one does not signal adherence.
- EU AI transparency code timeline: first draft to final, June 2026
From a first draft on 17 December 2025 to the final code on 10 June 2026 and about 190 signatories by end July: the dates the Commission lists.
- GPAI Code of Practice vs the AI-content transparency code
The Commission FAQ says Article 50 complements GPAI rules: the GPAI code covers model documentation, the transparency code covers marking and labelling outputs.
Written by Sume