37 lines
1.0 KiB
Bash
37 lines
1.0 KiB
Bash
#!/bin/bash
|
|
# Test ace-server: LM enriches caption, synth renders to MP3.
|
|
# Start the server first (./server.sh), then run this.
|
|
|
|
set -eu
|
|
|
|
HOST="http://127.0.0.1:8085"
|
|
|
|
# poll a job until done, exit 1 on failure
|
|
wait_job() {
|
|
local id="$1"
|
|
while true; do
|
|
status=$(curl -sf "${HOST}/job?id=${id}" | jq -r '.status')
|
|
case "$status" in
|
|
done) return 0 ;;
|
|
failed|cancelled) echo "Job ${id}: ${status}"; return 1 ;;
|
|
esac
|
|
sleep 2
|
|
done
|
|
}
|
|
|
|
# LM: submit, poll, fetch result
|
|
LM_ID=$(curl -sf "${HOST}/lm" \
|
|
-H "Content-Type: application/json" \
|
|
-d @full-sft.json | jq -r '.id')
|
|
echo "LM job: ${LM_ID}"
|
|
wait_job "${LM_ID}"
|
|
curl -sf "${HOST}/job?id=${LM_ID}&result=1" | jq '.[0]' > server-lm0.json
|
|
|
|
# synth: submit, poll, fetch result
|
|
SYNTH_ID=$(curl -sf "${HOST}/synth" \
|
|
-H "Content-Type: application/json" \
|
|
-d @server-lm0.json | jq -r '.id')
|
|
echo "Synth job: ${SYNTH_ID}"
|
|
wait_job "${SYNTH_ID}"
|
|
curl -sf "${HOST}/job?id=${SYNTH_ID}&result=1" -o server0.mp3
|