How to QA a render before it ships

Upload the file and ask what is broken in it. Black frames, freezes and silence come back with the second of each. These are the checks a human does by scrubbing and usually misses: a two-frame black flash at 04:12 is invisible at playback speed and obvious in a sentence.

Last updated

The call

Copy this as it stands. “Is there anything broken in this export?” is the question it answers.

TypeScript SDKts
const upload = await playhead.uploads.create("./exports/master-v4.mov");
const qa = await playhead.ask({
  url: upload.upload_id,
  question: "is anything broken: black frames, freezes, dropped audio, silence",
});

console.log(qa.answer);
console.log(qa.unanswered);   // what the file could not answer for
cURLbash
UPLOAD=$(curl -sX POST https://api.tryplayhead.com/v1/uploads \
  -H "Authorization: Bearer $PLAYHEAD_API_KEY" \
  -F "file=@./exports/master-v4.mov" | jq -r .upload_id)

curl -X POST https://api.tryplayhead.com/v1/watch_video \
  -H "Authorization: Bearer $PLAYHEAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"url\": \"$UPLOAD\", \"question\": \"is anything broken\"}" | jq -r '.answer'

Watch out for

Everything the API can refuse, and what to send instead, is on the errors page.