Repository navigation
Cloudflare's clef-omni reads audio and video, and Client#ask can now send both.
gem "ruby_decision_model", "~> 0.3"Tested on 2026-10-12
- Text questions answered live through OpenRouter on Jev and Clef.
- Audio and video for
clef-omnihave unit test coverage only. No audio or video request has been sent to Cloudflare yet; theaudioandvideosfield names come from Cloudflare's model page. To check it with your own account:rake smoke TARGETS=cloudflare:clef-omni SMOKE_AUDIO=clip.mp3 SMOKE_VIDEO=clip.mp4.
Changes
Client#asktakesaudio:andvideos:, arrays of base64 data URLs, for
clef-omni. Cloudflare reads WAV or MP3 audio and MP4 or WebM video. Added
RubyDecisionModel::Media.data_urland.from_file, which build data URLs
for images, audio, and video.- When the provider or model doesn't read audio or video, including
clef
andclef-flash, the client raisesRequestErrorbefore sending. cloudflare/clef-omniand@cf/cloudflare/clef-omniresolve to
clef-omnion the Cloudflare provider. In 0.2.0 they raised
ConfigurationError. The bareclef-omnialready worked.- New provider hooks
supports_audio?(model)andsupports_videos?(model),
both false by default.Base#request_bodyacceptsaudio:andvideos:. rake smoketakesSMOKE_AUDIOandSMOKE_VIDEO.- Hosted
clef-flashnow has a 24,576-token context window. Cloudflare cuts
a text state that runs past the window to fit instead of rejecting it. The
gem is unchanged.