Cuecraft Get early access

Every moment. The right shot.
Automatically.

The AI Director for live events. Not instead of your multicam pass. Before it. Give Cuecraft the footage and your master audio. It watches the performance, chooses the shots, and hands DaVinci Resolve an editable first cut.

Runs on Mac and Windows, on sets three hours long. Your footage never leaves your machine. Free to try, no card.

Cuecraft at the end of a run: the set's name, its three cameras and master audio, the face button and the face-shots switch along the top, all seven stages ticked, the program on cut 3 with its reasons and the three cameras under it, the 55 decisions on the right, and the whole ten-minute night along the bottom.

The app at the end of a run, on the same ten minutes the list below plays. Labelled slates stand in for the footage.

Watch it decide.

This is that run's decision list, playing. Every row is a cut: the camera it chose, when, how sure it was, and why. Pick one to read the app's full reasoning.

00:00.0 cut 001 of 055
  1. 001DJ00:00.017.9s1.00timeline starttimeline start — first shot chosen on score alone (no incumbent) dj 0.72 = quality 0.72 [blur 0.76*0.20 + exposure 0.73*0.40 + shake 0.68*0.40] runner-up: roam 0.58 = quality 0.33 [blur 0.25*0.20 + exposure 0.51*0.40 + shake 0.19*0.40] + prior +0.25 confidence 1.00 — won by 0.135 over the next-best option, runner-up roam (0.58) (full confidence at a 0.10 margin)
  2. 002ROAM00:17.98.5s0.41beats incumbent dj 0.78cut on audio onset at 17.9s — 17.9s since last cut (min shot 4.0s, cooldown 2.0s) roam 0.72 = quality 0.47 [blur 0.27*0.20 + exposure 0.49*0.40 + shake 0.56*0.40] + prior +0.25 beats incumbent dj 0.78 + stickiness 0.08 with switch pressure +0.18 [on air 17.9s, energy 0.70] confidence 0.41 — won by 0.041 over the next-best option, staying on dj (0.86 with stickiness) (full confidence at a 0.10 margin)
  3. 003DJ00:26.413.3s0.19beats incumbent roam 0.75cut on audio onset at 26.4s — 8.5s since last cut (min shot 4.0s, cooldown 2.0s) dj 0.77 = quality 0.77 [blur 0.82*0.20 + exposure 0.64*0.40 + shake 0.87*0.40] beats incumbent roam 0.75 + stickiness 0.08 with switch pressure +0.08 [on air 8.5s, energy 0.70] confidence 0.19 — won by 0.019 over the next-best option, staying on roam (0.83 with stickiness) (full confidence at a 0.10 margin)
  4. 004CROWD00:39.78.0s0.11beats incumbent dj 0.76cut on audio onset at 39.7s — 13.3s since last cut (min shot 4.0s, cooldown 2.0s) crowd 0.72 = quality 0.67 [blur 0.98*0.20 + exposure 0.60*0.40 + shake 0.59*0.40] + prior +0.05 beats incumbent dj 0.76 + stickiness 0.08 with switch pressure +0.13 [on air 13.3s, energy 0.66] confidence 0.11 — won by 0.011 over the next-best option, staying on dj (0.84 with stickiness) (full confidence at a 0.10 margin)
  5. 005DJ00:47.614.1s0.33beats incumbent crowd 0.72cut on audio onset at 47.6s — 8.0s since last cut (min shot 4.0s, cooldown 2.0s) dj 0.76 = quality 0.76 [blur 0.79*0.20 + exposure 0.65*0.40 + shake 0.85*0.40] beats incumbent crowd 0.72 + stickiness 0.08 with switch pressure +0.08 [on air 8.0s, energy 0.68] confidence 0.33 — won by 0.033 over the next-best option, staying on crowd (0.80 with stickiness) (full confidence at a 0.10 margin)
  6. 006CROWD01:01.74.6s0.02beats incumbent dj 0.77cut on audio onset at 61.7s — 14.1s since last cut (min shot 4.0s, cooldown 2.0s) crowd 0.71 = quality 0.66 [blur 0.94*0.20 + exposure 0.58*0.40 + shake 0.58*0.40] + prior +0.05 beats incumbent dj 0.77 + stickiness 0.08 with switch pressure +0.14 [on air 14.1s, energy 0.71] confidence 0.02 — won by 0.002 over the next-best option, staying on dj (0.85 with stickiness) (full confidence at a 0.10 margin)
  7. 007DJ01:06.416.6s0.45beats incumbent crowd 0.70cut on audio onset at 66.4s — 4.6s since last cut (min shot 4.0s, cooldown 2.0s) dj 0.78 = quality 0.78 [blur 0.86*0.20 + exposure 0.64*0.40 + shake 0.89*0.40] beats incumbent crowd 0.70 + stickiness 0.08 with switch pressure +0.05 [on air 4.6s, energy 0.67] confidence 0.45 — won by 0.045 over the next-best option, staying on crowd (0.78 with stickiness) (full confidence at a 0.10 margin)
  8. 008CROWD01:22.94.2s0.05beats incumbent dj 0.79cut on audio onset at 82.9s — 16.6s since last cut (min shot 4.0s, cooldown 2.0s) crowd 0.71 = quality 0.66 [blur 0.96*0.20 + exposure 0.59*0.40 + shake 0.58*0.40] + prior +0.05 beats incumbent dj 0.79 + stickiness 0.08 with switch pressure +0.17 [on air 16.6s, energy 0.75] confidence 0.05 — won by 0.005 over the next-best option, staying on dj (0.87 with stickiness) (full confidence at a 0.10 margin)
  9. 009DJ01:27.213.5s0.08beats incumbent crowd 0.72cut on audio onset at 87.2s — 4.2s since last cut (min shot 4.0s, cooldown 2.0s) dj 0.77 = quality 0.77 [blur 0.83*0.20 + exposure 0.64*0.40 + shake 0.86*0.40] beats incumbent crowd 0.72 + stickiness 0.08 with switch pressure +0.04 [on air 4.2s, energy 0.76] confidence 0.08 — won by 0.008 over the next-best option, staying on crowd (0.80 with stickiness) (full confidence at a 0.10 margin)
  10. 010CROWD01:40.74.2s0.07beats incumbent dj 0.79cut on audio onset at 100.7s — 13.5s since last cut (min shot 4.0s, cooldown 2.0s) crowd 0.73 = quality 0.68 [blur 0.93*0.20 + exposure 0.61*0.40 + shake 0.63*0.40] + prior +0.05 beats incumbent dj 0.79 + stickiness 0.08 with switch pressure +0.14 [on air 13.5s, energy 0.80] confidence 0.07 — won by 0.007 over the next-best option, staying on dj (0.87 with stickiness) (full confidence at a 0.10 margin)
  11. 011DJ01:44.914.7s0.33beats incumbent crowd 0.72cut on audio onset at 104.9s — 4.2s since last cut (min shot 4.0s, cooldown 2.0s) dj 0.79 = quality 0.79 [blur 0.83*0.20 + exposure 0.64*0.40 + shake 0.91*0.40] beats incumbent crowd 0.72 + stickiness 0.08 with switch pressure +0.04 [on air 4.2s, energy 0.80] confidence 0.33 — won by 0.033 over the next-best option, staying on crowd (0.80 with stickiness) (full confidence at a 0.10 margin)
  12. 012CROWD01:59.74.2s0.07beats incumbent dj 0.80cut on audio onset at 119.7s — 14.7s since last cut (min shot 4.0s, cooldown 2.0s) crowd 0.72 = quality 0.67 [blur 0.91*0.20 + exposure 0.63*0.40 + shake 0.60*0.40] + prior +0.05 beats incumbent dj 0.80 + stickiness 0.08 with switch pressure +0.16 [on air 14.7s, energy 0.85] confidence 0.07 — won by 0.007 over the next-best option, staying on dj (0.88 with stickiness) (full confidence at a 0.10 margin)
  13. 013DJ02:03.912.6s0.41beats incumbent crowd 0.72cut on audio onset at 123.9s — 4.2s since last cut (min shot 4.0s, cooldown 2.0s) dj 0.80 = quality 0.80 [blur 0.90*0.20 + exposure 0.64*0.40 + shake 0.90*0.40] beats incumbent crowd 0.72 + stickiness 0.08 with switch pressure +0.04 [on air 4.2s, energy 0.76] confidence 0.41 — won by 0.041 over the next-best option, staying on crowd (0.80 with stickiness) (full confidence at a 0.10 margin)
  14. 014ROAM02:16.58.4s0.26beats incumbent dj 0.76cut on audio onset at 136.5s — 12.6s since last cut (min shot 4.0s, cooldown 2.0s) roam 0.74 = quality 0.49 [blur 0.40*0.20 + exposure 0.64*0.40 + shake 0.39*0.40] + prior +0.25 beats incumbent dj 0.76 + stickiness 0.08 with switch pressure +0.13 [on air 12.6s, energy 0.77] confidence 0.26 — won by 0.026 over the next-best option, staying on dj (0.84 with stickiness) (full confidence at a 0.10 margin)
  15. 015DJ02:24.918.2s0.56beats incumbent roam 0.71cut on audio onset at 144.9s — 8.4s since last cut (min shot 4.0s, cooldown 2.0s) dj 0.77 = quality 0.77 [blur 0.82*0.20 + exposure 0.63*0.40 + shake 0.89*0.40] beats incumbent roam 0.71 + stickiness 0.08 with switch pressure +0.08 [on air 8.4s, energy 0.56] confidence 0.56 — won by 0.056 over the next-best option, staying on roam (0.79 with stickiness) (full confidence at a 0.10 margin)
  16. 016CROWD02:43.18.2s0.19beats incumbent dj 0.77cut on audio onset at 163.1s — 18.2s since last cut (min shot 4.0s, cooldown 2.0s) crowd 0.69 = quality 0.64 [blur 0.96*0.20 + exposure 0.57*0.40 + shake 0.56*0.40] + prior +0.05 beats incumbent dj 0.77 + stickiness 0.08 with switch pressure +0.18 [on air 18.2s, energy 0.68] confidence 0.19 — won by 0.019 over the next-best option, staying on dj (0.85 with stickiness) (full confidence at a 0.10 margin)
  17. 017DJ02:51.213.3s0.64beats incumbent crowd 0.68cut on audio onset at 171.2s — 8.2s since last cut (min shot 4.0s, cooldown 2.0s) dj 0.75 = quality 0.75 [blur 0.79*0.20 + exposure 0.61*0.40 + shake 0.87*0.40] beats incumbent crowd 0.68 + stickiness 0.08 with switch pressure +0.07 [on air 8.2s, energy 0.52] confidence 0.64 — won by 0.064 over the next-best option, staying on crowd (0.76 with stickiness) (full confidence at a 0.10 margin)
  18. 018CROWD03:04.64.2s0.02beats incumbent dj 0.76cut on audio onset at 184.6s — 13.3s since last cut (min shot 4.0s, cooldown 2.0s) crowd 0.70 = quality 0.65 [blur 0.94*0.20 + exposure 0.58*0.40 + shake 0.58*0.40] + prior +0.05 beats incumbent dj 0.76 + stickiness 0.08 with switch pressure +0.15 [on air 13.3s, energy 0.87] confidence 0.02 — won by 0.002 over the next-best option, staying on dj (0.84 with stickiness) (full confidence at a 0.10 margin)
  19. 019DJ03:08.814.7s0.35beats incumbent crowd 0.69cut on audio onset at 188.8s — 4.2s since last cut (min shot 4.0s, cooldown 2.0s) dj 0.76 = quality 0.76 [blur 0.83*0.20 + exposure 0.61*0.40 + shake 0.87*0.40] beats incumbent crowd 0.69 + stickiness 0.08 with switch pressure +0.05 [on air 4.2s, energy 0.84] confidence 0.35 — won by 0.035 over the next-best option, staying on crowd (0.77 with stickiness) (full confidence at a 0.10 margin)
  20. 020ROAM03:23.54.6s0.15beats incumbent dj 0.77cut on audio onset at 203.5s — 14.7s since last cut (min shot 4.0s, cooldown 2.0s) roam 0.71 = quality 0.46 [blur 0.13*0.20 + exposure 0.28*0.40 + shake 0.79*0.40] + prior +0.25 beats incumbent dj 0.77 + stickiness 0.08 with switch pressure +0.16 [on air 14.7s, energy 0.83] confidence 0.15 — won by 0.015 over the next-best option, cutting to crowd instead (0.85 with pressure) (full confidence at a 0.10 margin)
  21. 021DJ03:28.119.0s0.55beats incumbent roam 0.64cut on audio onset at 208.1s — 4.6s since last cut (min shot 4.0s, cooldown 2.0s) dj 0.75 = quality 0.75 [blur 0.85*0.20 + exposure 0.60*0.40 + shake 0.85*0.40] beats incumbent roam 0.64 + stickiness 0.08 with switch pressure +0.05 [on air 4.6s, energy 0.75] confidence 0.55 — won by 0.055 over the next-best option, cutting to crowd instead (0.74 with pressure) (full confidence at a 0.10 margin)
  22. 022ROAM03:47.14.2s0.29beats incumbent dj 0.80cut on audio onset at 227.1s — 19.0s since last cut (min shot 4.0s, cooldown 2.0s) roam 0.73 = quality 0.48 [blur 0.38*0.20 + exposure 0.56*0.40 + shake 0.44*0.40] + prior +0.25 beats incumbent dj 0.80 + stickiness 0.08 with switch pressure +0.18 [on air 19.0s, energy 0.62] confidence 0.29 — won by 0.029 over the next-best option, staying on dj (0.88 with stickiness) (full confidence at a 0.10 margin)
  23. 023DJ03:51.314.7s0.83beats incumbent roam 0.66cut on audio onset at 231.3s — 4.2s since last cut (min shot 4.0s, cooldown 2.0s) dj 0.79 = quality 0.79 [blur 0.95*0.20 + exposure 0.61*0.40 + shake 0.88*0.40] beats incumbent roam 0.66 + stickiness 0.08 with switch pressure +0.04 [on air 4.2s, energy 0.53] confidence 0.83 — won by 0.083 over the next-best option, staying on roam (0.74 with stickiness) (full confidence at a 0.10 margin)
  24. 024ROAM04:06.04.8s0.03beats incumbent dj 0.75cut on audio onset at 246.0s — 14.7s since last cut (min shot 4.0s, cooldown 2.0s) roam 0.68 = quality 0.43 [blur 0.39*0.20 + exposure 0.60*0.40 + shake 0.29*0.40] + prior +0.25 beats incumbent dj 0.75 + stickiness 0.08 with switch pressure +0.15 [on air 14.7s, energy 0.77] confidence 0.03 — won by 0.003 over the next-best option, staying on dj (0.83 with stickiness) (full confidence at a 0.10 margin)
  25. 025DJ04:10.812.1s1.00beats incumbent roam 0.55cut on audio onset at 250.8s — 4.8s since last cut (min shot 4.0s, cooldown 2.0s) dj 0.78 = quality 0.78 [blur 0.86*0.20 + exposure 0.64*0.40 + shake 0.88*0.40] beats incumbent roam 0.55 + stickiness 0.08 with switch pressure +0.05 [on air 4.8s, energy 0.72] confidence 1.00 — won by 0.103 over the next-best option, cutting to crowd instead (0.72 with pressure) (full confidence at a 0.10 margin)
  26. 026ROAM04:22.84.7s0.17beats incumbent dj 0.77cut on audio onset at 262.8s — 12.1s since last cut (min shot 4.0s, cooldown 2.0s) roam 0.74 = quality 0.49 [blur 0.21*0.20 + exposure 0.46*0.40 + shake 0.67*0.40] + prior +0.25 beats incumbent dj 0.77 + stickiness 0.08 with switch pressure +0.12 [on air 12.1s, energy 0.76] confidence 0.17 — won by 0.017 over the next-best option, staying on dj (0.85 with stickiness) (full confidence at a 0.10 margin)
  27. 027DJ04:27.617.9s0.91beats incumbent roam 0.63cut on audio onset at 267.6s — 4.7s since last cut (min shot 4.0s, cooldown 2.0s) dj 0.77 = quality 0.77 [blur 0.87*0.20 + exposure 0.62*0.40 + shake 0.86*0.40] beats incumbent roam 0.63 + stickiness 0.08 with switch pressure +0.05 [on air 4.7s, energy 0.76] confidence 0.91 — won by 0.091 over the next-best option, cutting to crowd instead (0.72 with pressure) (full confidence at a 0.10 margin)
  28. 028CROWD04:45.54.7s0.10beats incumbent dj 0.76cut on audio onset at 285.5s — 17.9s since last cut (min shot 4.0s, cooldown 2.0s) crowd 0.68 = quality 0.63 [blur 0.93*0.20 + exposure 0.57*0.40 + shake 0.55*0.40] + prior +0.05 beats incumbent dj 0.76 + stickiness 0.08 with switch pressure +0.17 [on air 17.9s, energy 0.63] confidence 0.10 — won by 0.010 over the next-best option, staying on dj (0.84 with stickiness) (full confidence at a 0.10 margin)
  29. 029DJ04:50.29.7s0.63beats incumbent crowd 0.69cut on audio onset at 290.2s — 4.7s since last cut (min shot 4.0s, cooldown 2.0s) dj 0.79 = quality 0.79 [blur 0.94*0.20 + exposure 0.62*0.40 + shake 0.87*0.40] beats incumbent crowd 0.69 + stickiness 0.08 with switch pressure +0.04 [on air 4.7s, energy 0.60] confidence 0.63 — won by 0.063 over the next-best option, staying on crowd (0.77 with stickiness) (full confidence at a 0.10 margin)
  30. 030ROAM04:60.09.8s0.15beats incumbent dj 0.77cut on audio onset at 300.0s — 9.7s since last cut (min shot 4.0s, cooldown 2.0s) roam 0.77 = quality 0.52 [blur 0.47*0.20 + exposure 0.58*0.40 + shake 0.50*0.40] + prior +0.25 beats incumbent dj 0.77 + stickiness 0.08 with switch pressure +0.10 [on air 9.7s, energy 0.68] confidence 0.15 — won by 0.015 over the next-best option, staying on dj (0.85 with stickiness) (full confidence at a 0.10 margin)
  31. 031DJ05:09.719.2s0.14beats incumbent roam 0.76cut on audio onset at 309.7s — 9.8s since last cut (min shot 4.0s, cooldown 2.0s) dj 0.77 = quality 0.77 [blur 0.94*0.20 + exposure 0.61*0.40 + shake 0.84*0.40] beats incumbent roam 0.76 + stickiness 0.08 with switch pressure +0.09 [on air 9.8s, energy 0.58] confidence 0.14 — won by 0.014 over the next-best option, staying on roam (0.84 with stickiness) (full confidence at a 0.10 margin)
  32. 032CROWD05:28.94.2s0.01beats incumbent dj 0.78cut on audio onset at 328.9s — 19.2s since last cut (min shot 4.0s, cooldown 2.0s) crowd 0.68 = quality 0.63 [blur 0.98*0.20 + exposure 0.56*0.40 + shake 0.53*0.40] + prior +0.05 beats incumbent dj 0.78 + stickiness 0.08 with switch pressure +0.18 [on air 19.2s, energy 0.57] confidence 0.01 — won by 0.001 over the next-best option, staying on dj (0.86 with stickiness) (full confidence at a 0.10 margin)
  33. 033DJ05:33.121.1s1.00beats incumbent crowd 0.67cut on audio onset at 333.1s — 4.2s since last cut (min shot 4.0s, cooldown 2.0s) dj 0.81 = quality 0.81 [blur 0.98*0.20 + exposure 0.63*0.40 + shake 0.91*0.40] beats incumbent crowd 0.67 + stickiness 0.08 with switch pressure +0.04 [on air 4.2s, energy 0.64] confidence 1.00 — won by 0.100 over the next-best option, staying on crowd (0.75 with stickiness) (full confidence at a 0.10 margin)
  34. 034ROAM05:54.26.3s0.35beats incumbent dj 0.80cut on audio onset at 354.2s — 21.1s since last cut (min shot 4.0s, cooldown 2.0s) roam 0.71 = quality 0.46 [blur 0.19*0.20 + exposure 0.42*0.40 + shake 0.64*0.40] + prior +0.25 beats incumbent dj 0.80 + stickiness 0.08 with switch pressure +0.20 [on air 21.1s, energy 0.65] confidence 0.35 — won by 0.035 over the next-best option, staying on dj (0.88 with stickiness) (full confidence at a 0.10 margin)
  35. 035DJ06:00.518.8s1.00beats incumbent roam 0.67cut on audio onset at 360.5s — 6.3s since last cut (min shot 4.0s, cooldown 2.0s) dj 0.80 = quality 0.80 [blur 0.93*0.20 + exposure 0.63*0.40 + shake 0.91*0.40] beats incumbent roam 0.67 + stickiness 0.08 with switch pressure +0.06 [on air 6.3s, energy 0.65] confidence 1.00 — won by 0.108 over the next-best option, staying on roam (0.75 with stickiness) (full confidence at a 0.10 margin)
  36. 036CROWD06:19.36.3s0.02beats incumbent dj 0.79cut on audio onset at 379.3s — 18.8s since last cut (min shot 4.0s, cooldown 2.0s) crowd 0.69 = quality 0.64 [blur 0.96*0.20 + exposure 0.55*0.40 + shake 0.56*0.40] + prior +0.05 beats incumbent dj 0.79 + stickiness 0.08 with switch pressure +0.18 [on air 18.8s, energy 0.67] confidence 0.02 — won by 0.002 over the next-best option, staying on dj (0.87 with stickiness) (full confidence at a 0.10 margin)
  37. 037DJ06:25.718.9s0.85beats incumbent crowd 0.68cut on audio onset at 385.7s — 6.3s since last cut (min shot 4.0s, cooldown 2.0s) dj 0.79 = quality 0.79 [blur 0.90*0.20 + exposure 0.64*0.40 + shake 0.88*0.40] beats incumbent crowd 0.68 + stickiness 0.08 with switch pressure +0.06 [on air 6.3s, energy 0.72] confidence 0.85 — won by 0.085 over the next-best option, staying on crowd (0.76 with stickiness) (full confidence at a 0.10 margin)
  38. 038CROWD06:44.64.9s0.02beats incumbent dj 0.78cut on audio onset at 404.6s — 18.9s since last cut (min shot 4.0s, cooldown 2.0s) crowd 0.68 = quality 0.63 [blur 0.96*0.20 + exposure 0.55*0.40 + shake 0.54*0.40] + prior +0.05 beats incumbent dj 0.78 + stickiness 0.08 with switch pressure +0.18 [on air 18.9s, energy 0.65] confidence 0.02 — won by 0.002 over the next-best option, staying on dj (0.86 with stickiness) (full confidence at a 0.10 margin)
  39. 039DJ06:49.516.2s0.77beats incumbent crowd 0.68cut on audio onset at 409.5s — 4.9s since last cut (min shot 4.0s, cooldown 2.0s) dj 0.79 = quality 0.79 [blur 0.92*0.20 + exposure 0.62*0.40 + shake 0.89*0.40] beats incumbent crowd 0.68 + stickiness 0.08 with switch pressure +0.05 [on air 4.9s, energy 0.67] confidence 0.77 — won by 0.077 over the next-best option, staying on crowd (0.76 with stickiness) (full confidence at a 0.10 margin)
  40. 040ROAM07:05.74.9s0.16beats incumbent dj 0.80cut on audio onset at 425.7s — 16.2s since last cut (min shot 4.0s, cooldown 2.0s) roam 0.74 = quality 0.49 [blur 0.46*0.20 + exposure 0.53*0.40 + shake 0.45*0.40] + prior +0.25 beats incumbent dj 0.80 + stickiness 0.08 with switch pressure +0.16 [on air 16.2s, energy 0.70] confidence 0.16 — won by 0.016 over the next-best option, staying on dj (0.88 with stickiness) (full confidence at a 0.10 margin)
  41. 041DJ07:10.518.5s0.43beats incumbent roam 0.73cut on audio onset at 430.5s — 4.9s since last cut (min shot 4.0s, cooldown 2.0s) dj 0.80 = quality 0.80 [blur 0.96*0.20 + exposure 0.62*0.40 + shake 0.91*0.40] beats incumbent roam 0.73 + stickiness 0.08 with switch pressure +0.05 [on air 4.9s, energy 0.88] confidence 0.43 — won by 0.043 over the next-best option, staying on roam (0.81 with stickiness) (full confidence at a 0.10 margin)
  42. 042CROWD07:29.04.1s0.11beats incumbent dj 0.79cut on audio onset at 449.0s — 18.5s since last cut (min shot 4.0s, cooldown 2.0s) crowd 0.69 = quality 0.64 [blur 0.96*0.20 + exposure 0.53*0.40 + shake 0.58*0.40] + prior +0.05 beats incumbent dj 0.79 + stickiness 0.08 with switch pressure +0.20 [on air 18.5s, energy 0.81] confidence 0.11 — won by 0.011 over the next-best option, staying on dj (0.87 with stickiness) (full confidence at a 0.10 margin)
  43. 043DJ07:33.120.8s0.59beats incumbent crowd 0.68cut on audio onset at 453.1s — 4.1s since last cut (min shot 4.0s, cooldown 2.0s) dj 0.78 = quality 0.78 [blur 0.86*0.20 + exposure 0.61*0.40 + shake 0.90*0.40] beats incumbent crowd 0.68 + stickiness 0.08 with switch pressure +0.04 [on air 4.1s, energy 0.78] confidence 0.59 — won by 0.059 over the next-best option, staying on crowd (0.76 with stickiness) (full confidence at a 0.10 margin)
  44. 044ROAM07:53.95.9s0.37beats incumbent dj 0.81cut on audio onset at 473.9s — 20.8s since last cut (min shot 4.0s, cooldown 2.0s) roam 0.72 = quality 0.47 [blur 0.28*0.20 + exposure 0.48*0.40 + shake 0.56*0.40] + prior +0.25 beats incumbent dj 0.81 + stickiness 0.08 with switch pressure +0.21 [on air 20.8s, energy 0.74] confidence 0.37 — won by 0.037 over the next-best option, cutting to crowd instead (0.89 with pressure) (full confidence at a 0.10 margin)
  45. 045DJ07:59.812.6s0.64beats incumbent roam 0.72cut on audio onset at 479.8s — 5.9s since last cut (min shot 4.0s, cooldown 2.0s) dj 0.80 = quality 0.80 [blur 0.95*0.20 + exposure 0.61*0.40 + shake 0.91*0.40] beats incumbent roam 0.72 + stickiness 0.08 with switch pressure +0.06 [on air 5.9s, energy 0.82] confidence 0.64 — won by 0.064 over the next-best option, staying on roam (0.80 with stickiness) (full confidence at a 0.10 margin)
  46. 046ROAM08:12.47.2s0.34beats incumbent dj 0.78cut on audio onset at 492.4s — 12.6s since last cut (min shot 4.0s, cooldown 2.0s) roam 0.77 = quality 0.52 [blur 0.33*0.20 + exposure 0.50*0.40 + shake 0.63*0.40] + prior +0.25 beats incumbent dj 0.78 + stickiness 0.08 with switch pressure +0.13 [on air 12.6s, energy 0.79] confidence 0.34 — won by 0.034 over the next-best option, staying on dj (0.86 with stickiness) (full confidence at a 0.10 margin)
  47. 047DJ08:19.611.7s0.20beats incumbent roam 0.75cut on audio onset at 499.6s — 7.2s since last cut (min shot 4.0s, cooldown 2.0s) dj 0.77 = quality 0.77 [blur 0.95*0.20 + exposure 0.61*0.40 + shake 0.84*0.40] beats incumbent roam 0.75 + stickiness 0.08 with switch pressure +0.07 [on air 7.2s, energy 0.78] confidence 0.20 — won by 0.020 over the next-best option, staying on roam (0.83 with stickiness) (full confidence at a 0.10 margin)
  48. 048ROAM08:31.25.3s0.09beats incumbent dj 0.78cut on audio onset at 511.2s — 11.7s since last cut (min shot 4.0s, cooldown 2.0s) roam 0.75 = quality 0.50 [blur 0.27*0.20 + exposure 0.44*0.40 + shake 0.67*0.40] + prior +0.25 beats incumbent dj 0.78 + stickiness 0.08 with switch pressure +0.12 [on air 11.7s, energy 0.74] confidence 0.09 — won by 0.009 over the next-best option, staying on dj (0.86 with stickiness) (full confidence at a 0.10 margin)
  49. 049DJ08:36.520.5s0.48beats incumbent roam 0.66cut on audio onset at 516.5s — 5.3s since last cut (min shot 4.0s, cooldown 2.0s) dj 0.74 = quality 0.74 [blur 0.85*0.20 + exposure 0.61*0.40 + shake 0.81*0.40] beats incumbent roam 0.66 + stickiness 0.08 with switch pressure +0.05 [on air 5.3s, energy 0.75] confidence 0.48 — won by 0.048 over the next-best option, staying on roam (0.74 with stickiness) (full confidence at a 0.10 margin)
  50. 050CROWD08:57.04.1s0.03beats incumbent dj 0.79cut on audio onset at 537.0s — 20.5s since last cut (min shot 4.0s, cooldown 2.0s) crowd 0.67 = quality 0.62 [blur 0.96*0.20 + exposure 0.55*0.40 + shake 0.54*0.40] + prior +0.05 beats incumbent dj 0.79 + stickiness 0.08 with switch pressure +0.20 [on air 20.5s, energy 0.67] confidence 0.03 — won by 0.003 over the next-best option, staying on dj (0.87 with stickiness) (full confidence at a 0.10 margin)
  51. 051DJ09:01.122.6s0.82beats incumbent crowd 0.67cut on audio onset at 541.1s — 4.1s since last cut (min shot 4.0s, cooldown 2.0s) dj 0.79 = quality 0.79 [blur 0.94*0.20 + exposure 0.61*0.40 + shake 0.91*0.40] beats incumbent crowd 0.67 + stickiness 0.08 with switch pressure +0.04 [on air 4.1s, energy 0.69] confidence 0.82 — won by 0.082 over the next-best option, staying on crowd (0.75 with stickiness) (full confidence at a 0.10 margin)
  52. 052CROWD09:23.74.1s0.39beats incumbent dj 0.79cut on audio onset at 563.7s — 22.6s since last cut (min shot 4.0s, cooldown 2.0s) crowd 0.69 = quality 0.64 [blur 0.96*0.20 + exposure 0.53*0.40 + shake 0.58*0.40] + prior +0.05 beats incumbent dj 0.79 + stickiness 0.08 with switch pressure +0.22 [on air 22.6s, energy 0.65] confidence 0.39 — won by 0.039 over the next-best option, staying on dj (0.87 with stickiness) (full confidence at a 0.10 margin)
  53. 053DJ09:27.816.4s0.76beats incumbent crowd 0.68cut on audio onset at 567.8s — 4.1s since last cut (min shot 4.0s, cooldown 2.0s) dj 0.80 = quality 0.80 [blur 0.95*0.20 + exposure 0.62*0.40 + shake 0.90*0.40] beats incumbent crowd 0.68 + stickiness 0.08 with switch pressure +0.04 [on air 4.1s, energy 0.66] confidence 0.76 — won by 0.076 over the next-best option, staying on crowd (0.76 with stickiness) (full confidence at a 0.10 margin)
  54. 054CROWD09:44.26.2s0.23beats incumbent dj 0.73cut on audio onset at 584.2s — 16.4s since last cut (min shot 4.0s, cooldown 2.0s) crowd 0.66 = quality 0.61 [blur 0.90*0.20 + exposure 0.53*0.40 + shake 0.55*0.40] + prior +0.05 beats incumbent dj 0.73 + stickiness 0.08 with switch pressure +0.17 [on air 16.4s, energy 0.83] confidence 0.23 — won by 0.023 over the next-best option, staying on dj (0.81 with stickiness) (full confidence at a 0.10 margin)
  55. 055DJ09:50.311.3s0.48beats incumbent crowd 0.66cut on audio onset at 590.3s — 6.2s since last cut (min shot 4.0s, cooldown 2.0s) dj 0.73 = quality 0.73 [blur 0.86*0.20 + exposure 0.64*0.40 + shake 0.75*0.40] beats incumbent crowd 0.66 + stickiness 0.08 with switch pressure +0.06 [on air 6.2s, energy 0.74] confidence 0.48 — won by 0.048 over the next-best option, staying on crowd (0.74 with stickiness) (full confidence at a 0.10 margin)
timeline start — first shot chosen on score alone (no incumbent)
dj 0.72 = quality 0.72 [blur 0.76*0.20 + exposure 0.73*0.40 + shake 0.68*0.40]
runner-up: roam 0.58 = quality 0.33 [blur 0.25*0.20 + exposure 0.51*0.40 + shake 0.19*0.40] + prior +0.25
confidence 1.00 — won by 0.135 over the next-best option, runner-up roam (0.58) (full confidence at a 0.10 margin)
Cut by the app with its earlier defaults, playing at three times speed.

773 cuts. Three cameras, six files. One night, and nobody touched a keyboard.

dj · 319 crowd · 299 roam · 155 77 minutes · mean shot 6.0s · opacity is each cut's confidence release build peak

One whole night, 77 minutes, three cameras across six files, cut automatically into 773 shots. The band under the cuts is the story the app read off the music by itself: release, build, peak.

Cuecraft does not switch cameras on a timer. It reads what the performance is doing and makes a directing decision about it, every few seconds, all night.

One moment. Three cameras. One decision.

Cut 002 from the list at the top, at 17.9 seconds, with the numbers the app recorded. The highest-scoring camera did not win.

cut on audio onset at 17.9s — 17.9s since last cut (min shot 4.0s, cooldown 2.0s)
roam 0.72 = quality 0.47 [blur 0.27*0.20 + exposure 0.49*0.40 + shake 0.56*0.40] + prior +0.25
beats incumbent dj 0.78 + stickiness 0.08 with switch pressure +0.18 [on air 17.9s, energy 0.70]
confidence 0.41 — won by 0.041 over the next-best option, staying on dj (0.86 with stickiness) (full confidence at a 0.10 margin)

DJ scored highest. Roam got the cut, because the DJ camera had been on air for eighteen seconds and the music had just given it a reason to move. That is the difference between knowing a cut should happen and deciding what the audience should see.

It was close, so it says so: confidence 0.41. Every cut carries its numbers, so you can audit any of them, decide it was wrong, and change it. Nobody is asking you to trust a magic button.

There is no wall of testimonials, and none will be invented. Run it on your own footage.

Three things happen while you sleep.

  1. It understands the performance

    Every camera is lined up against the master recording by its own audio, and the alignment is checked rather than trusted. Then it watches every second of every angle for focus, exposure and steadiness, while reading the music for the builds, the drops and the moments the room reacts.

    The detail

    Each camera is judged against how it normally looks, never against the camera next to it, so the soft lens in the corner still earns its cuts where it is genuinely the best thing in the room. Sync is checked at the end of the set as well as the start, which has caught drift on footage described as already synced.

  2. It chooses the shot

    Cut points come out of the music itself, not a metronome. At each one it weighs every camera and picks, instead of you scrubbing ninety minutes three angles at a time, deciding the same thing by hand.

    The detail

    Every cut carries the numbers it was chosen on, in plain language. When you disagree with one you can read exactly what it saw, which means you know whether to trust the next one.

  3. It hands you an editable Resolve timeline

    Not a rendered video and not a locked result. An FCPXML that imports as one flat, editable track with a colour group per camera role, where every cut is a cut you can drag.

    The detail

    Nothing is transcoded, nothing is re-encoded, and no pixel of your footage is touched. Cuecraft never renders video, which is also why there is nothing to wait for at the end.

A dark room wants exposure. A handheld night wants steady.

Cuecraft scores every shot's picture on three measures, each against that camera's own normal: focus, exposure and steadiness. The quality triangle sets how they mix.

Drag a corner out and that measure counts for more. The three shares always add up to 100%, and the triangle opens at 20, 40, 40, as the app ships. A set filmed on locked-off tripods might want focus.

One real moment, re-scored: the opening shot of the set at the top.

DJ0.72
ROAM0.33

focus ×0.20 · exposure ×0.40 · steady ×0.40

Picture quality only. The whole score also weighs presence, crowd and DJ energy, variety and the rest, and the triangle never touches those.

What it does to a real edit

20 / 40 / 40as shipped
32.034.833.2
0 / 100 / 0exposure only
35.536.228.3
0 / 0 / 100steady only
33.933.732.4
Each camera's share of screen time on the same ten-minute set, measured on 2026-10-23. A shift at the margin, not a different edit, because picture quality is one term among several. Exposure-only cost the handheld roaming camera about five points.

Focus 20%, Exposure 40%, Steady 40%

Drag a corner. Double-click to reset. Tab in and use the arrow keys.
The quality triangle in the Cuecraft app: Focus at the top at 20%, Exposure and Steady at the bottom corners at 40% each.
The same triangle in the app, under Settings › Advanced › Picture. Double-click resets it, and it works from the keyboard. All three corners at the centre turns picture quality off: it turns amber and says so. It is in the free version too. In the reasons column, Focus is blur and Steady is shake.
Face shots

Faces on the drop. One switch.

On a drop, an editor cuts three to five quick close-ups of faces in the crowd, to show the room reacting. Cuecraft does the same: it cuts the night first, then puts face shots on the drops.

The face in the toolbar opens the Faces page, where you can swap any face by hand. The switch next to it turns face shots off and on. Off is the same as dragging Settings › Reaction bursts › Share to 0; on brings back the share you had, or the shipped 10% of the set.

0:000:40
A diagram, not a real night: forty seconds around a drop. With face shots on, four close-ups land after the drop; switch them off and the Director's own cut runs straight through.
In the Cuecraft app's toolbar, the line-drawn face button and the Face shots switch beside it, switched on.
In the app, in the toolbar

Every editor sees the same night differently.

So there is no one correct way to cut a set. Every decision comes out of a named set of numbers, your Director DNA™, and those numbers are yours to move.

Pace, how short and how long a shot may run, how fast it gets restless, how much each camera is favoured, how often it pushes in. Move one, re-run, and the whole set re-cuts to match in minutes, because the analysis is cached. Every export records which DNA produced it, so two versions of the same night are never a mystery.

Director DNA ships today, and you tune it yourself. The step after this is Cuecraft learning from the cuts you keep and the cuts you throw away, so you stop touching the numbers at all. That part is being built and is not in the app yet, and we would rather tell you that than let you find out.

Cuecraft's settings panel: pace, the camera tabs with bias, shortest and longest shot, push in, pull out and pan, reaction bursts, and the advanced knobs down to the picture triangle.
The settings panel, as shipped

Your footage stays on your machine.

Cuecraft runs entirely on your Mac. There is no upload path, no cloud processing, and no third-party server that ever sees a client's night.

The only thing that leaves your machine is the email address you buy with. The app makes no network requests unless you click Check for Updates, and that asks our server what the current version is and tells it nothing, not even which version you are running. It works with the venue wifi down and the laptop in flight mode.

Local processingNo uploadWorks offlineNo account

Try it on your own footage. No card.

The free version is not a crippled demo. It ingests your whole set, syncs every camera and cuts the entire timeline, however long the night is, with the same analysis as paid. Only the export is capped: the first fifteen minutes of that timeline open in Resolve, which is enough to judge whether it cuts the way you would. Paying releases the rest.

Free

£0forever

Your whole set cut, however long it is. The first fifteen minutes export to Resolve. No card, no expiry.

Get early access

Monthly

£25a month

Cancel any time. If you only shoot in season, pay in season.

Subscribe monthly

Yearly Two months free

£250a year

The same thing at £20.83 a month.

Subscribe yearly
 FreePaid
Sync, analysis and cuttingEverythingEverything
Set lengthAny. Three hours, or moreAny. Three hours, or more
CamerasThree: dj, crowd, roamThree: dj, crowd, roam
Resolve exportFirst ~15 minutesThe whole set
Colour group per camera roleYesYes
Runs offline, footage stays localYesYes
Card requiredNoYes
PriceFree, permanently£25/mo or £250/yr

There is no hour counter. It runs on your machine, so an hour of footage costs nothing to process or meter. The cloud tools sell hours: twenty dollars a month typically buys ten, and one three-camera night is most of that. Here a night is a night.

There is no trial, because the free tier is a better one: no countdown and no surprise charge. You pay the months you choose to, and stop any month you do not.

If it does not do what this page says it does, email within 30 days of a charge and it is refunded. When a subscription ends the app drops back to free and keeps working, and everything you exported stays yours.

One night, sent out, costs more than a year of this.

If you do not cut a multi-camera night yourself, you pay somebody to, and that is the number Cuecraft is really priced against.

 Sending one night outCuecraft
A three-camera night, edited£200 to £1,280£25, and the next one is free
Turnaround7 to 15 daysOvernight
RevisionsQuoted, or chargedIt is your timeline. Move anything
Who sees your footageA studio, on their serversNobody. It never leaves your machine
Second night this monthPay it again£0

Published prices, not estimates. A London studio quotes a multi-camera event film at two to three editing days against a £427 day rate, so £850 to £1,280 for one night. Cheaper outfits run £200 to £630, and one London firm holds a £249 minimum. One of them writes that “sync work alone often takes 8 to 15 hours per video”, and they are not exaggerating.

If you cut it yourself, you already know the number. Editors who shoot this work put a two-hour set at about six hours to finish, and three with a proper multicam setup: the same decision six hundred times, on a night you were at. A year of Cuecraft is £250.

The things you are already wondering.

What happens if Cuecraft makes a bad cut?

You change it. It is an editable Resolve timeline, not a rendered video, and that is deliberate. Worst case you disagree with some shots and move them, on a timeline that is already synced, organised and roughly cut. You are correcting a first pass instead of building one.

What cameras does it support?

Three, in fixed roles: a DJ camera, a crowd camera, and a roaming camera. Any camera Resolve can read works, and they can be different bodies at different frame rates and resolutions, because that is what real shoots look like. A fourth role is a product decision rather than a setting, and it is not in the app today.

Does it work with footage that is already synced?

Yes, and it checks anyway. Sync is verified rather than trusted, at the end of the set as well as the start. That check has already caught drift on footage that everyone involved believed was fine.

How long does a one-hour event take to analyse?

Longer than the set itself. A one-hour, two-camera night of 4K ProRes took about two hours on a base M3 Mac, reading off a USB hard drive, so start it when you get home and it is ready in the morning. The first run does the heavy lifting: proxies and analysis are cached, so a re-run with different settings takes minutes, not hours. That is one measurement on one Mac, not a promise about yours.

Does my footage go anywhere?

No. There is no upload path in the software at all. It makes no network requests unless you click Check for Updates, and that one asks the server for a version number and tells it nothing about you or your footage.

Do I need the paid version of Resolve?

No. It exports a standard FCPXML and uses colour grouping, both of which the free Resolve supports.

How do I start from scratch, or uninstall it?

Deleting the app does not clear its settings, so a reinstall picks up where you left off. To start fresh, quit Cuecraft and delete the .cuecraft folder in your home folder. It holds your settings, recent projects and the welcome screen's memory. On a Mac, open it with Finder's Go › Go to Folder and ~/.cuecraft; on Windows, paste %USERPROFILE%\.cuecraft into Explorer.

To remove it completely, also delete the app itself and the Cuecraft folder in ~/Library/Application Support on a Mac or %LOCALAPPDATA% on Windows. That folder holds your licence, so keep the email it came in. Then delete Cuecraft.py, Cuecraft — Group for Grading.lua and app_path.txt from Resolve's Fusion/Scripts/Utility folder, which is where Cuecraft's Resolve menu items come from. Proxies sit in a proxies folder beside your export, next to your footage, and are yours to keep or bin.

Is this going to replace me?

It replaces the part of your job that is clicking, not the part that is taste. It does not grade, does not pick your look, does not do your sound, and will not rescue footage that was out of focus on the night.

I built this because I could not face my own footage.

The shoot is the easy bit. You get the angles, the room goes off, and you go home at three in the morning with cards full of footage you are genuinely excited about. Then the cards go on the desk and sit there.

The grade is creative. The pacing is creative. The look is yours. But that first mechanical pass, the one where you just decide which camera is on screen, is not. It is a couple of days of clicking with a soundtrack.

I got tired of it, and I am a programmer as well as an editor, so I built the thing I wanted to exist. It has been cutting my own sets since August. That is the entire credential: I made it for me, it works on my footage, and I am now letting other people have it.

The longer version

Because you know what is coming. Pulling three cameras in. Lining them up against the master audio and finding out that two of them drifted. Building a multicam clip. Then scrubbing through ninety minutes of it, three angles at a time, deciding over and over which one is worth looking at, while the same track loops in your head until you hate it.

So the job you quoted as a one night shoot becomes a fortnight of evenings. The client starts asking. You start apologising. And the next enquiry comes in and some part of you hopes it is a wedding instead, because at least a wedding has one camera pointed at the thing that matters.

That is the part nobody puts on a pricing page: it is two weekends per set, every set, for as long as you keep shooting them. It is the enquiries you turn down because you are still buried in the last one. And it is what happens to editors who spend years doing the mechanical pass by hand, which is that eventually they stop taking the jobs they used to love, because the shoot is four hours and the edit is forever.

Your next set is already waiting.

Don't spend another weekend deciding which camera should be on screen.