Voiceover and sound
The voice drives the picture: a scene waits for a word before the next shape appears, the music ducks while someone speaks, and subtitles come out of the same render.
How it is built
voice("…").start()speaks a line;.at_word("square")waits for that word (sound and voice).- oxframe does not call a speech service: you plug in your own provider with
TtsProvider, and the audio is cached so CI renders it without a key. sound("click.wav").play()puts effects on the timeline;Audio::track(..).duck_under_voice()lowers the music under speech.oxframe render --subtitles out.vttwrites the captions.
With an agent
Install the skills, then give your agent a first prompt. The voiceover skill tells it how videos of this kind are made,
and oxframe check shows it what is wrong before anything is rendered.
npx skills add oxygenframe/oxframe-sdk Add a voiceover to the intro scene: one line per step, each shape appearing when its word is spoken, and subtitles in out/intro.vtt.