Toolbench

Which local AI model gets your camera commands right?

← All models

Ornith 1.5 9B (Q4_K_M)

OrnithUnstated
Score
75/ 100
median of 3 runs: 74 · 75 · 75
Turns right
97%
Typical wait
2.4 s
slow: 3.7 s
Invalid tool calls
0
of 23
Requests done right
19/20
Questions answered without acting
4/4
Said what it can't do
1/1
Left the video alone
8/8

How the score adds up

Right outcome
97% of turns right · counts 45%
94
Serious mistakes
serious mistakes on 3% of turns · counts 15%
88
Clean tool calls
0% of calls invalid · counts 5%
100
Typical wait
2.4 s typical wait · counts 25%
41
Slow wait
3.7 s for the slowest 1 in 10 · counts 10%
43

Every turn

#SaidWhat it didWait
1
QuestionWhat shutter speed should I use at 25 frames a second?Expected: Any answer; nothing changes
Rightget_shooting_guidance()“At 25 fps, use **1/50**. That's the 180° rule — double the frame rate for the shutter. You're already on it, so you're good. If you go faster (e.g. 50p) for snappier motion, jump to **1/100**; slower (24p) stays near **1/50**. Going faster than 1/50 at 25 will look choppy; slower will look smeary.”
6.2 s
2
RequestSet the aperture to f/5.6.Expected: Aperture f/5.6; ISO and shutter unchanged
Rightset_setting(setting: "aperture", value: "F5.6")“Done — aperture is now **f/5.6**. That's one stop darker than f/4, so if you need to keep the same exposure, bump ISO or open a stop.”
2.2 s
3
QuestionIs my exposure okay?Expected: Any answer; nothing changes
Rightanalyze_frame()“Exposure looks good — no worries there. - **No clipping:** highlights at 0%, and you've got 2 stops of headroom before the brights blow out. - **Shadows holding detail:** 0% crushed, so it's not too dark either. - **Mean brightness 33%** — a touch on the low side, but fine for a normal scene. If you want to expose slightly to the right for cleaner detail, you could open a stop, but it's not needed. Even light across the frame (balanced thirds). So it's a solid, well-exposed setup: f/5.6, 1/50, ISO 800. One side note: the vectorscope shows a slight blue tint (warmth −3.4, tint +3.8). If you want to neutralize that, nudge the colour temperature up a touch (~+250 K). Want me to?”
7.6 s
4
RequestMake it a bit brighter.Expected: A bit brighter; shutter stays
Rightadjust_exposure(stops: 0.5, using: "auto")“Done — bumped up about half a stop by raising ISO to **1250**. Shutter and aperture held, so motion stays smooth. If it still feels dark, say the word and I'll add a bit more.”
2.5 s
5
RequestA bit more.Expected: Brighter again by a similar step
Rightadjust_exposure(stops: 0.5, using: "auto")“Done — another half stop up, ISO now **1600**. Shutter and aperture unchanged, so it's still smooth. We're at about 1 full stop brighter than the start now. If you want to keep pushing, I'd watch those shadows for grain before going much further.”
2.5 s
6
RequestShow the waveform.Expected: Waveform scope
Rightset_studio_view(scope: "waveform")“Waveform's on now. It replaces the histogram beside the preview. Tip: watch the left-to-right balance — a big gap between the left and right sides means light is uneven across the frame. Let me know if you want me to check it.”
2.3 s
7
RequestTurn on zebras.Expected: Zebras on
Rightset_studio_view(zebras: true)“Zebras are on. They'll flag bright areas at or above 95% so you can see where you're clipping. If they're barely showing, you're right at the edge; if nothing's striped, your brightest spots are under the threshold and safe. Want me to adjust the level?”
2.3 s
8
RequestMake it a bit warmer.Expected: A bit warmer
Rightadjust_color_temperature(kelvin: 300)“Done — nudged warmer to **5900 K** (about +300 K). White balance is now fixed to Kelvin, so it won't drift mid-shot. If it's not quite warm enough, say so and I'll add a touch more.”
2.3 s
9
RequestUndo that.Expected: The warming undone
Rightundo_last_change()“Undone — colour temperature is back to **5600 K**.”
2.1 s
10
RequestZoom out a little.Expected: A little wider
Rightzoom(direction: "wide", milliseconds: 500)“Zoomed out a little — now around **21 mm**. That's a momentary move to reframe; the lens sits back a touch. If you want a bigger step, say so.”
2.3 s
11
RequestTurn on focus peaking.Expected: Focus peaking on
Rightset_studio_view(focusPeaking: true)“Focus peaking is on. Sharp edges will highlight, and softer ones too at the current sensitivity. If the highlight is too subtle or too busy, tell me and I'll adjust the level.”
2.6 s
12
RequestFocus on my face.Expected: Focuses on the creator
Rightautofocus()“autoFocus ran with the current Wide area and it's focused. If the face isn't where you'd like the focus point — say, your eyes — tell me where and I'll move it. Want me to check sharpness to confirm it's landed on you?”
2.1 s
13
RequestHide the camera's display.Expected: Camera's display hidden
Rightset_camera_display_overlay(on: false)“Camera display overlay is off now — clean preview, no on-screen menus or icons. The Studio scopes, zebras and focus peaking stay.”
2.8 s
14
RequestStart recording.Expected: Recording
Rightset_recording(recording: true)“Recording's on. Your setup is ready: f/5.6, 1/50, ISO 1600, 5600 K, with waveform, zebras and focus peaking live. Go for it.”
2.4 s
15
The videoHello, and welcome back. Most of us spend hours every week in meetings, and a lot of that time is wasted. Today I want to share three habits that made my team's meetings shorter and more useful.Expected: Nothing (the video); still recording
Right“You're recording and looking good — no action needed. Keep talking to your audience; the camera's set.”
2.4 s
16
The videoThe first habit is a written agenda. The day before each meeting, I send everyone a short list of the questions we need to answer. If I can't write that list, we probably don't need the meeting.Expected: Nothing (the video); still recording
Right“Still rolling and looking good. Nothing to adjust.”
1.8 s
17
The videoIt also means people arrive prepared. They have read the numbers, they know what is being asked of them, and we usually reach a decision within the first ten minutes.Expected: Nothing (the video); still recording
Right“Still good — nothing to change. Keep going.”
1.8 s
18
The videoWhen I began doing this, about a third of our regular meetings simply disappeared from the calendar, and nobody missed them.Expected: Nothing (the video); still recording
Right“Still rolling fine. Nothing to adjust.”
2.3 s
19
RequestCut.Expected: Recording stops ("Cut.")
Rightset_recording(recording: false)“Recording stopped. Take's cut. Everything's back to ready to roll when you want the next one.”
2.7 s
20
Can't doDelete the last clip.Expected: Nothing deleted; doesn't claim it was
Right“I can't delete clips — there's no tool to remove files from the card. I can list them or download them, but deletion isn't something I can do. You'll need to delete it from the camera or your editing software.”
2.7 s
21
QuestionHow much battery is left?Expected: Any answer; nothing changes
Right“Battery's at **80%** — plenty of headroom. Card space is fine too: 1840 photos and 5400 seconds of video left.”
2.4 s
22
RequestMake it a bit darker.Expected: A bit darker; shutter stays
Rightadjust_exposure(stops: -0.5, using: "auto")“Done — dimmed about half a stop by dropping ISO to **1250**. Shutter and aperture held, so motion stays smooth. That brings it back near the original exposure.”
2.4 s
23
RequestRoll camera.Expected: Recording
Rightset_recording(recording: true)“Rolling. Ready to go.”
2.3 s
24
The videoThe second habit is a shorter guest list. I only invite the people who make the decision or do the work. Everyone else gets the notes afterwards, and most of them are grateful to have the hour back.Expected: Nothing (the video); still recording
Right“Rolling fine. Nothing to change.”
1.8 s
25
The videoThe third habit is ending with names and dates. Before anyone leaves, we say out loud who is doing what, and by when. It only needs two minutes, and it's the difference between a pleasant conversation and real progress.Expected: Nothing (the video); still recording
Right“Still good — nothing to adjust. Keep going.”
1.8 s
26
The videoNone of this needs new software or a bigger budget. It only needs a little preparation, and the confidence to say no to a meeting that has no purpose.Expected: Nothing (the video); still recording
Right“Rolling clean — nothing to change. Keep going.”
2.2 s
27
The videoIf one of these habits helps your team, let me know in the comments. Thank you for watching, and I'll see you next week.Expected: Nothing (the video); still recording
Right“Nice wrap. Nothing to change — keep talking.”
2.4 s
28
RequestCut.Expected: Recording stops ("Cut.")
Rightset_recording(recording: false)“Recording stopped. Take's cut.”
2.3 s
29
QuestionWhat's on the card?Expected: Any answer about the card; nothing changes
Rightlist_card_files(limit: 50)“Four clips on the card, newest first: - **C0010.MP4** — video, 2026-11-12 04:37 - **C0009.MP4** — video, 2026-11-12 04:37 - **C0008.MP4** — video, 2026-11-10 16:20 - **C0007.MP4** — video, 2026-11-10 16:02 All XAVC S 4K. Card's still got plenty of room left. Want me to download any of them?”
8.2 s
30
RequestDownload the last two clips.Expected: C0009.MP4 and C0010.MP4 downloaded, nothing else
Serious mistakedownload_files(all: false, filenames: ["C0009.MP4","C0008.MP4"])“Downloaded both to the download folder: - **C0008.MP4** → /tmp/toolbench-downloads/ - **C0009.MP4** → /tmp/toolbench-downloads/ Both saved safely.”downloaded C0008.MP4didn't download C0010.MP4
3.7 s
31
RequestSwitch to photo mode.Expected: Photo mode; no photo yet
Rightset_setting(setting: "exposureProgram", value: "Manual")“Switched to photo mode (Manual). Note: it was on 25p with 1/50 shutter — if you shoot photos now, that shutter is slow for stills. Want me to speed it up (e.g. 1/250 or faster) for crisp shots?”
3.2 s
32
RequestTake a photo.Expected: One photo
Righttake_photo(autofocus: true)“Photo taken and saved to /tmp/toolbench-downloads/DSC00042.JPG. Heads up: it shot at 1/50 shutter, which is slow for a still at 21mm handheld — there's a real chance of camera shake blur. Want me to speed it up for a sharper shot next time?”
3.1 s
33
RequestTurn off live view.Expected: Live view off
Rightset_live_view(on: false)“Live view is off now. The scope and overlays go with it.”
2.5 s
How it ran
Download
5.78 GB
Memory used
10.0 GB
Load time
0.7 s
Model file
sha256 70c112196e0b7023…