Part 2 · Tested on real shots
Kling erased four logos cleanly. It also redrew every pixel around them.
Part 2 of testing AI video edits on real shots. Four logo removals, Kling against FLUX video edit, same prompts, first result scored. Kling's fills were the best I've seen from a generator; the catch is in everything it wasn't asked to touch.
In part 1, Kling and Seedance both struggled to put a new logo into a shot: garbled text, the wrong objects edited, a billboard left unchanged. Removal should be easier. There's no text to draw, only a plausible surface to fill in: paper, fabric, a car grille.
So I took four stock clips with a logo that a production might have to clear, and asked two models to take it off.
The short version
- Kling removed all four logos cleanly, in every frame, including a small swoosh with fingers tying laces across it, and a car badge where it rebuilt the grille behind it.
- It also re-rendered the whole shot. Areas nowhere near the logo came back 10–20 dB below a plain re-encode, and every clip came back with 121 frames instead of 120. That's invisible in a side-by-side, and a real problem for anyone who has to cut the shot back into an edit.
- FLUX, at a quarter to a sixth of Kling's price, matched it on the flat surfaces (the cup and the shirt) and fell short on the hard ones (the badge and the shoe).
- FLUX refused two of the requests because they named the brand. "Starbucks" and "swoosh" got the jobs blocked, and the error blamed the video, not the wording.
The test
| Clip | Logo | What makes it hard |
|---|---|---|
| Cup | Starbucks siren on a paper cup | Curved paper; fingers cross the logo while pressing the lid on |
| Shirt | A round graphic on the back of a T-shirt | Fabric folds as he walks; the graphic shrinks with distance; arms swing past |
| Badge | Nissan badge on a grille | The grille has to continue through the hole; chrome, ice, and a camera push and tilt |
| Shoe | Black swoosh on a running shoe | Small target, fingers tying laces across it, and the swoosh on the sock has to stay |
All four are 5-second stock clips at 1920×1080 and 24 fps (120 frames). The same plain request went to both models, for example: "Remove the Nissan badge from the grille and continue the grille pattern where it was. Keep everything else in the video exactly the same." The first result is the one scored, with one retry allowed if a model obviously misread the request.
The two sides weren't set up identically, and it matters for reading the results:
- Kling (Omni, on Kling's site) got the whole frame and returned a whole new video.
- FLUX video edit ran inside a pipeline I'm building. It crops a box around the logo, FLUX fills it, and only that box is put back into the original frames. So FLUX's untouched background comes from the pipeline, not from FLUX. FLUX's own output is 1248×704, scaled up to fit.
Cup and shirt: both models are clean
On the two flatter surfaces there's nothing to choose between them. Paused at 100%, both fills keep the paper's shading and the fabric's folds, and neither flickers.
Badge: Kling rebuilt the grille
This is the most impressive result in the test. Kling removed the badge, its chrome ring and its mounting post, and continued the grille's slats through the gap as if the badge had never been there, all the way through the camera move.
FLUX filled the badge's centre well but left the mounting post, and in the last second a dark arc of the ring. The box it was given was set on the first frame; as the camera tilts, the badge drifts down out of it. That's a tracking problem in my pipeline rather than a FLUX one, but the result is what you'd get.
Shoe: the hardest case, and Kling's clearest win
Kling took the swoosh off in every frame, kept the fingers in front of the shoe, and stayed sharp throughout. It also left the swoosh on the sock alone, as asked.
FLUX's first try missed the swoosh in a run of frames where the hand crosses it. A redo of just those frames removed it, but left a washed-out, whiter patch and soft, smeared fingers, and where the redo joins the rest of the clip (frame 100) the heel visibly pops back. FLUX kept the sock's swoosh too.
Scores
0–2 per measure. Scored from stills at 100% plus a frame-to-frame jump measurement.
| Clip | Model | Logo gone | Fill looks right | Steady | Edges and fingers |
|---|---|---|---|---|---|
| Cup | Kling | 2 | 2 | 2 | 2 |
| Cup | FLUX | 2 | 2 | 2 | 2 |
| Shirt | Kling | 2 | 2 | 2 | 2 |
| Shirt | FLUX | 2 | 2 | 2 | 2 |
| Badge | Kling | 2 | 2 | 2 | 2 |
| Badge | FLUX | 1 | 2 | 2 | 2 |
| Shoe | Kling | 2 | 2 | 2 | 2 |
| Shoe | FLUX, first try | 0 | 1 | 2 | 1 |
| Shoe | FLUX, after redo | 2 | 1 | 1 | 1 |
On the removal itself, Kling is the better model: perfect marks on all four.
Clean isn't the same as untouched
What the scores don't show is what happened to the rest of the shot.
I measured two patches well away from the logo in every clip, against the source re-encoded once (the "floor", which is what simply saving the clip again does to it). Higher is closer to the original.
| Clip | Patch | Re-encode floor | Kling | FLUX + paste-back |
|---|---|---|---|---|
| Cup | Table | 52.1 dB | 41.0 | 52.3 |
| Shirt | Graffiti wall | 42.4 | 22.0 | 41.5 |
| Badge | Headlight | 42.8 | 28.9 | 41.8 |
| Shoe | Sock with its swoosh | 42.6 | 29.1 | 41.3 |
Kling's output looks the same at a glance, but every frame has been redrawn. Every clip also came back one frame longer than the source.
For a social post, none of this matters. For a commercial it does. The shot an editor sends out for a logo fix is already cut, graded and conformed. What comes back has to drop into the same slot: same frames, same length, and nothing changed that nobody asked to change. A redrawn background has to be checked again, and a clip that's a frame long has to be conformed again.
Brand names get requests blocked
FLUX refused the cup request while it said "Starbucks", and the shoe request while it said "swoosh". Describing the area instead ("the shoe's side panel") went through. The error said the provider had blocked the media, which sends you looking at the wrong thing. Kling accepted the same wording.
If you're automating removals, describe the surface, not the brand.
Cost
| Per 5-second run | Runs to a usable result | |
|---|---|---|
| Kling on its site | about $0.91 (60 credits at the $10 list price) | 1 on every clip |
| Kling O3 standard through Fal | about $0.63 | not run here |
| FLUX video edit through Fal | about $0.15 | 1 on the shirt and badge; 3 on the cup (two blocked); 2 plus a redo on the shoe |
Per run, FLUX is four to six times cheaper. Per usable result the gap narrows, and the shoe took about an hour of my time to get to a result that was still worse than Kling's first try. Either way, both are trivial next to painting a logo out by hand, which in my rough estimate takes a compositor somewhere between one and four hours on shots like these.
An afterthought: the best of both
The two results point at an obvious combination. Kling has the better fill. The FLUX side kept the rest of the shot as the original footage, with the exact frame count, because only the logo area was pasted back. Nothing stops you doing the same with Kling's output: take only its fill around the logo and put it back into the source.
I haven't run that yet. It costs nothing, since it uses the four Kling files I already have, so it's the next test.
Limits
- One run per model per clip, on stock footage I chose.
- Scores come from stills and a jump measurement, not from watching at speed.
- The two sides weren't set up the same way: Kling got the whole frame, FLUX a box with paste-back.
- Kling ran on its own site; I didn't test it through an API.
- Prices are as of October 2026.
Next
Kling's fill pasted back into the source, Seedance on the same four removals, and the same shots run through each new model as it ships.