Skip to content

Fix fl_splice image side-by-side example (silent no-op)#18

Merged
eitanp461 merged 7 commits into
mainfrom
fix-fl-splice-image-side-by-side
Jun 17, 2026
Merged

Fix fl_splice image side-by-side example (silent no-op)#18
eitanp461 merged 7 commits into
mainfrom
fix-fl-splice-image-side-by-side

Conversation

@eitanp461

Copy link
Copy Markdown
Collaborator

Problem

The cloudinary-transformations skill's "Before/After Comparison" example used fl_splice to build an image side-by-side:

c_fill,h_400,w_300/l_same_image/c_fill,e_grayscale,h_400,w_300/fl_layer_apply,fl_splice,g_east/f_auto/q_auto

fl_splice is a video-only concatenation flag. Applied to an image overlay it is silently ignored — the layer composites on top of the base instead of extending the canvas. The request returns HTTP 200 with no X-Cld-Error, so the failure is invisible: the URL looks valid and returns a valid image, it's just the wrong one.

Verification

Reproduced against the demo cloud (l_sample standing in for the l_same_image placeholder):

URL Result
…/fl_layer_apply,fl_splice,g_east/… (original) 300×400 — single frame, splice ignored
…/fl_layer_apply,g_west,x_300/… (fix) 600×400 — true side-by-side

Both returned HTTP 200 with no X-Cld-Error.

Fix

For images, extend the canvas by offsetting the overlay past the base edge (x_<base_width>); the canvas auto-expands.

  • examples.md — swap fl_splice,g_eastg_west,x_300; explain the canvas auto-expansion and the fl_splice image trap.
  • video-transformations.md — mark fl_splice "Video only" with the silent no-op note and a pointer to the image offset technique.
  • SKILL.md — surface the canvas-extension technique in the Overlays section so side-by-side is discoverable from the main skill.

🤖 Generated with Claude Code

fl_splice is a video-only concatenation flag. Applied to an image
overlay via fl_layer_apply, it is silently ignored (HTTP 200, no
X-Cld-Error) and the layer composites on top instead of extending the
canvas — so the "Before/After Comparison" example never produced a
side-by-side image.

Verified against the demo cloud: the original URL yields 300x400
(single frame); offsetting the overlay past the base edge
(g_west,x_300) yields a true 600x400 side-by-side.

- examples.md: swap fl_splice,g_east -> g_west,x_300 + explain canvas
  auto-expansion and the fl_splice image trap
- video-transformations.md: mark fl_splice "Video only" with the silent
  no-op note and pointer to the image offset technique
- SKILL.md: surface the canvas-extension technique in the Overlays
  section so side-by-side is discoverable from the main skill

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@eitanp461 eitanp461 requested review from carlevison and njb90 June 16, 2026 09:29
Comment thread skills/cloudinary-transformations/references/examples.md Outdated
Comment thread skills/cloudinary-transformations/references/video-transformations.md Outdated
Comment thread skills/cloudinary-transformations/SKILL.md Outdated
eitanp461 and others added 2 commits June 16, 2026 14:03
…deo)

Per review: "video-only flag" overstated the limitation. fl_splice can
splice images into a video timeline; it requires the transformation
*base* to be a video. It is silently ignored only on image-base
(image-only) transformations. Reworded all three notes and linked the
video concatenation docs.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Generalizes the fl_splice lesson: many flags no-op silently (HTTP 200,
no X-Cld-Error) when applied to the wrong base asset type. Adds a
caution subsection at the top of Core Transformations and a
Self-Validation checklist item so future authors verify flags match the
base asset and don't treat a 200 as validation.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

@carlevison carlevison left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A couple more things.

Comment thread skills/cloudinary-transformations/references/video-transformations.md Outdated
7. ✅ **`g_auto` compatibility** (only works with `c_fill`, `c_lfill`, `c_crop`, `c_thumb`, `c_auto`)
8. ✅ **Background as qualifier** (use with pad crop: `b_color,c_pad,w_X`, not `/b_color/`)
9. ✅ **Format/quality at end** (prefer `f_auto/q_auto` as final components)
10. ✅ **Flags match the base asset type** (video-oriented flags like `fl_splice`, `du_`, `fps_`, `vc_` need a video base; they no-op silently on images — see [Asset Type Matters](#asset-type-matters-image-vs-video))

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only fl_splice is a flag in these examples. The others are parameters.

eitanp461 and others added 2 commits June 16, 2026 17:00
Relocate the "Asset Type Matters (Image vs. Video)" subsection from the
top of Core Transformations to after Rotation & Flips, and reformat it as
a bullet list to match the surrounding subsections. Trim the now-redundant
fl_splice no-op explanations in examples.md and video-transformations.md
since the canonical guidance lives in SKILL.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Add install_source/referrer tracking params to the video_concatenation
  doc link (anchor after the query string, per repo convention)
- Distinguish the fl_splice flag from the du_/fps_/vc_ parameters in the
  "Asset Type Matters" subsection and the self-validation checklist

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@eitanp461 eitanp461 requested a review from carlevison June 16, 2026 14:09
Comment thread skills/cloudinary-transformations/SKILL.md Outdated
Comment thread skills/cloudinary-transformations/SKILL.md Outdated
…austive

- Clarify mismatches fail both ways (video-only on images and image-only
  on videos), not just one direction
- Note the video-only list is illustrative, not exhaustive (~35 params);
  add e_boomerang/e_progressbar examples
- Soften to "often fails silently" rather than asserting all video-only
  params silently 200
- Point the agent to the Transformation Reference when unsure

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

@jackieros jackieros left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@eitanp461 - Thanks for the updates. Looks good to me. Curious - did you do any testing with the current version of the skill vs your new one to see that you get better results on the specific prompts that I assume triggered these improvements? Can you share the prompts you think are valuable for testing these issues (so Caroline can potentially add one or more to our Promptfoo test that we're using to validate the new trans skill version)?

@carlevison - Do you want to merge this one as is already (in which case we need to update the skill version value b4 merging) or just apply as relevant to your new one, assuming we expect to publish the new one very soon? (Regardless, we of-course should ensure we bring in the new "Asset Type matters" section into your new one as well as any other clarifications added here that fit in the structure of the new one)

@carlevison

Copy link
Copy Markdown
Contributor

@jackieros - I think we should update the version number of this one and release it. It isn't a given yet that we're definitely releasing the new one. The testing may persuade us otherwise.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@eitanp461 eitanp461 merged commit 01b3021 into main Jun 17, 2026
@eitanp461 eitanp461 deleted the fix-fl-splice-image-side-by-side branch June 17, 2026 13:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants