oneshotlm
Compare all models on this prompt →

Drum machine · llama-4-scout

Build a 16-step drum machine with a clickable grid for kick, snare, hi-hat, and clap, all sounds synthesized with the Web Audio API, plus play/stop and an adjustable BPM.

⚠ no runnable output

This one-shot run produced no runnable artifact.

agent produced no index.html

The transcript below shows what the model did — read it to see why the one shot fell short.

transcript · 2 messages
user

Build a 16-step drum machine with a clickable grid for kick, snare, hi-hat, and clap, all sounds synthesized with the Web Audio API, plus play/stop and an adjustable BPM.

assistant

write(path="index.html", content="<html><head><title>Drum Machine</title><style>body { font-family: Arial, sans-serif; } .grid { display: grid; grid-template-columns: repeat(16, 50px); grid-gap: 5px; } .cell { width: 50px; height: 50px; background-color: #ccc; border: 1px solid #666; cursor: pointer; } .cell:hover { background-color: #aaa; } .cell.active { background-color: #f00; }</style></head><body><h1>Drum Machine</h1><div class='grid' id='grid'></div><button id='play-stop'>Play/Stop</button><input id='bpm' type='range' min='60' max='200' value='120'><script>let audioContext = new AudioContext();let grid = document.getElementById('grid');let playStopButton = document.getElementById('play-stop');let bpmInput = document.getElementById('bpm');let isPlaying = false;let currentStep = 0;let bpm = 120;let intervalId;let sounds = { kick: null, snare: null, hiHat: null, clap: null };function createSound(type) { let oscillator = audioContext.createOscillator(); let gain = audioContext.createGain(); oscillator.connect(gain); gain.connect(audioContext.destination); switch (type) { case 'kick': oscillator.type = 'sine'; oscillator.frequency.value = 50; gain.gain.value = 0.5; break; case 'snare': oscillator.type = 'sine'; oscillator.frequency.value = 100; gain.gain.value = 0.3; break; case 'hi-hat': oscillator.type = 'sine'; oscillator.frequency.value = 200; gain.gain.value = 0.2; break; case 'clap': = 'sine';.frequency.value = 150; gain.gain.value = 0.4; break; } return { oscillator, gain };}sounds.kick = createSound('kick');sounds.snare = createSound('snare');sounds.hiHat = createSound('hi-hat');sounds.clap = createSound('clap');for i = 0; i < 16; i++) { let cell = document.createElement('div'); cell.classList.add('cell'); cell.dataset.step = i; grid.appendChild(cell); cell.addEventListener('click', () => { cell.classList.toggle('active'); });}play.addEventListener('click', () => { isPlaying = !isPlaying; if (isPlaying) { intervalId = setInterval(() => { currentStep = (currentStep + 1) % 16; let cells = grid.children; for (let i = 0; i < cells.length; i++) { let cell = cells[i]; if (cell.classList.contains('active') && i === currentStep) { switch (i % 4) { case 0: sounds.kick.oscillator.start(); sounds.kick.gain.gain.rampTo(0, 0.1); break; case 1: sounds.snare.oscillator.start(); sounds.snare.gain.gain.rampTo(0, 0.1); break; case 2: sounds.hiHat.oscillator.start(); sounds.hiHat.gain.gain.rampTo(0, 0.1); break; case 3: sounds.clap.oscillator.start(); sounds.clap.gain.gain.rampTo(0, 0.1); break; } } } }, 60000 / bpm / 4); } else { clearInterval(intervalId); }}</script></body></html>")

TAKE IT TO CODE

This run produced no artifact — reuse the prompt with a different model or your own pi-agent run.

RUN

modelllama-4-scout
vendorMeta · Llama
harnesspi-agent
generated2026-08-01

METRICS

runtime9.2s
tokens in1.5k
tokens out749
cached0
cost / run$0.0004