Fix fl_splice image side-by-side example (silent no-op)#18
Conversation
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>
…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
left a comment
There was a problem hiding this comment.
A couple more things.
| 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)) |
There was a problem hiding this comment.
Only fl_splice is a flag in these examples. The others are parameters.
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>
…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>
There was a problem hiding this comment.
@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)
|
@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>
Problem
The
cloudinary-transformationsskill's "Before/After Comparison" example usedfl_spliceto build an image side-by-side:fl_spliceis 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 noX-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_samplestanding in for thel_same_imageplaceholder):…/fl_layer_apply,fl_splice,g_east/…(original)…/fl_layer_apply,g_west,x_300/…(fix)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.fl_splice,g_east→g_west,x_300; explain the canvas auto-expansion and thefl_spliceimage trap.fl_splice"Video only" with the silent no-op note and a pointer to the image offset technique.🤖 Generated with Claude Code