Add dog-invert-concat recipe

Dog video from cat + inverted user video concatenated.
Uses the new invert effect with frame-by-frame API.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
gilesb
2026-01-12 06:45:02 +00:00
parent 5b420b4e1f
commit 37dc472982

View File

@@ -0,0 +1,39 @@
; dog-invert-concat recipe
; Creates dog video from cat, inverts a user-supplied video, then concatenates
; Demonstrates: def bindings, variable inputs, effect with params, branching DAG
(recipe "dog-invert-concat"
:version "1.0"
:description "Create dog video from cat, invert second video, concatenate"
:owner "@giles@artdag.rose-ash.com"
; Registry
(asset cat
:hash "33268b6e167deaf018cc538de12dbe562612b33e89a749391cef855b320a269b"
:url "https://rose-ash.com/content/images/2026/01/cat.jpg")
(effect identity
:hash "640ea11ee881ebf4101af0a955439105ab11e763682b209e88ea08fc66e1cc03"
:url "https://github.com/gilesbradshaw/art-dag/tree/main/effects/identity")
(effect dog
:hash "d048fe313433eb4e38f0e24194ffae91b896ca3e6eed3e50b2cc37b7be495555"
:url "https://github.com/gilesbradshaw/art-dag/tree/main/effects/dog")
(effect invert
:hash "9144a60cdb73b9d3bf5ba2b4333e5b7e381ab02d2b09ee585375b4fa68d35327")
; Create dog video from cat
(def dog-video
(-> (source cat)
(effect identity)
(effect dog)))
; User-supplied second video, inverted
(def inverted-video
(-> (source :input "Second Video"
:description "Video to invert and concatenate after the dog video")
(fx invert :intensity 1.0)))
; Concatenate: dog first, then inverted user video
(sequence dog-video inverted-video))