Recipe
Upload one file, poll one job, keep the transcript local.
This is the smallest useful VoxNotch automation loop: send a file to the local API, store the returned job identifier, poll until the worker finishes, then read the recording from your own library.
- Path
- /recordings/upload
- Evaluation type
- Smoke-testable shell
- Egress
- None unless your base URL leaves the host
Flow
The boring loop is the trust loop.
Upload
Post a media file with a personal API key. VoxNotch returns a queued job or an existing recording when the file is detected as a duplicate.
Poll
Poll the upload job route until it reaches a terminal state. Your script owns retry timing and can surface failures in your own logs.
Fetch
Use the returned recording identifier to open the transcript, export it, or hand it to a downstream workflow recipe.
Shell
upload_response="$(
curl -sS -X POST "$VOXNOTCH_URL/recordings/upload" \
-H "X-API-Key: $VOXNOTCH_API_KEY" \
-F "file=@./field-notes.m4a" \
-F "coverage=balanced"
)"
job_id="$(printf '%s' "$upload_response" | jq -r '.job_id // empty')"
recording_id="$(printf '%s' "$upload_response" | jq -r '.recording_id // empty')"
if [ -n "$job_id" ]; then
curl -sS "$VOXNOTCH_URL/recordings/upload/$job_id" \
-H "X-API-Key: $VOXNOTCH_API_KEY"
else
printf 'Existing recording: %s\n' "$recording_id"
fiUse a local base URL for a local proof. If VOXNOTCH_URL points to a public host, this recipe crosses that network boundary by your choice.
Checker
What to verify before publishing this recipe.
Run the command against a disposable local file and preserve the upload response in launch evidence. Do not claim throughput, accuracy, or model quality from this recipe alone.
If a duplicate response returns no job identifier, treat that as a successful custody proof only when the existing recording is visible in the same instance.
Then automate the folder.
Once one file works, the next useful proof is letting a local folder feed the same queue.