@hedgehogcafecambs automation begins
@hedgehogcafecambs is my hobby instagram account, where I post footage of wild hedgehogs in my garden. I have several Ring cameras that I use to record their antics which I can download on my phone before editing them into reel. This is very time consuming and consequently I rarely post.
My first AI side quest will be to automate this, using QWEN locally to identify the clips that show hedgehogs (excluding the many cats and occasional foxes that show up), and produce an instagram-ready reel with a British wildlife narrator-style caption.
This version of the automation handles the most labour intensive parts of generating a highlight reel, and stores examples for QWEN to use as part of a few-shot prompt. Once the right balance of number of examples / accuracy has been reached, I will adjust the system to no longer store every agreed reel as an example.
flowchart
subgraph Local
Start@{ shape: circle, label: "fa:fa-clock 7am" }
End@{ shape: dbl-circ }
RingRequest@{ shape: lean-l, label: "GET clips from Ring API" }
QWEN@{ shape: bow-rect, label: "Generate highlight reel and caption" }
ResponseLogic@{ shape: diamond, label: "User decision" }
Delete@{ shape: rect, label: "Delete ring downloads and reel" }
Example@{ shape: lin-cyl, label: "Store original clips and finalised reel as examples" }
end
subgraph Ring
RingExt@{ shape: rect, label: "Ring API" }
end
subgraph Docker
OpenClawWhatsApp@{ shape: rect, label: "OpenClaw: WhatsApp" }
end
subgraph WhatsApp
WhatsAppExt@{ shape: rect, label: "WhatsApp" }
end
Start --> RingRequest
RingRequest --> RingExt
RingExt --> QWEN
QWEN -- Send reel and caption to WhatsApp --> OpenClawWhatsApp
OpenClawWhatsApp <--> WhatsAppExt
OpenClawWhatsApp -- User feedback on reel --> ResponseLogic
ResponseLogic -- Rejected --> Delete
ResponseLogic -- Feedback given --> Example
ResponseLogic -- Accepted --> Example
Example --> End
Delete --> End