Examples
Complete Workflow
FTR → M4A → Transcription
#!/bin/bash
API_KEY="sk_case_your_api_key_here"
# 1. Upload FTR to S3 and get presigned URL
aws s3 cp hearing.ftr s3://your-bucket/hearing.ftr
FTR_URL=$(aws s3 presign s3://your-bucket/hearing.ftr --expires-in 3600)
# 2. Start conversion
JOB=$(curl -s -X POST https://api.case.dev/convert/v1/process \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d "{\"input_url\":\"$FTR_URL\"}")
JOB_ID=$(echo $JOB | jq -r '.job_id')
echo "Converting: $JOB_ID"
# 3. Wait for completion
while true; do
STATUS=$(curl -s https://api.case.dev/convert/v1/jobs/$JOB_ID \
-H "Authorization: Bearer $API_KEY" | jq -r '.status')
if [ "$STATUS" = "completed" ]; then
echo "✓ Conversion complete!"
break
fi
echo "Status: $STATUS"
sleep 10
done
# 4. Download M4A
curl https://api.case.dev/convert/v1/download/$JOB_ID \
-H "Authorization: Bearer $API_KEY" \
-o hearing.m4a
echo "✓ Downloaded: hearing.m4a"
# 5. Upload M4A to S3 for transcription
aws s3 cp hearing.m4a s3://your-bucket/hearing.m4a
M4A_URL=$(aws s3 presign s3://your-bucket/hearing.m4a --expires-in 7200)
# 6. Transcribe with Voice API
TRANSCRIPT=$(curl -s -X POST https://api.case.dev/voice/transcription \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d "{
\"audio_url\":\"$M4A_URL\",
\"speaker_labels\":true,
\"punctuate\":true,
\"word_boost\":[\"your honor\",\"counsel\",\"witness\",\"objection\"]
}")
TRANSCRIPT_ID=$(echo $TRANSCRIPT | jq -r '.id')
echo "✓ Transcription started: $TRANSCRIPT_ID"
Integration Examples
Store in Vault
# After converting FTR to M4A...
# Get vault upload URL
UPLOAD=$(curl -s -X POST https://api.case.dev/vault/your-vault-id/upload \
-H "Authorization: Bearer sk_case_..." \
-H "Content-Type: application/json" \
-d '{
"filename":"hearing-audio.m4a",
"contentType":"audio/mp4",
"metadata":{
"source":"ftr_conversion",
"hearing_date":"2024-11-04",
"case_id":"2024-1234"
}
}')
UPLOAD_URL=$(echo $UPLOAD | jq -r '.uploadUrl')
# Upload M4A to vault
curl -X PUT "$UPLOAD_URL" \
-H "Content-Type: audio/mp4" \
--data-binary "@hearing.m4a"
echo "Audio stored in vault!"
Batch Convert Multiple FTR Files
#!/bin/bash
API_KEY="sk_case_your_api_key_here"
for FTR_FILE in ftr-files/*.ftr; do
echo "Processing: $FTR_FILE"
# Upload to S3
aws s3 cp "$FTR_FILE" "s3://your-bucket/$(basename $FTR_FILE)"
# Get presigned URL
PRESIGNED=$(aws s3 presign "s3://your-bucket/$(basename $FTR_FILE)" --expires-in 3600)
# Start conversion
JOB=$(curl -s -X POST https://api.case.dev/convert/v1/process \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d "{\"input_url\":\"$PRESIGNED\"}")
JOB_ID=$(echo $JOB | jq -r '.job_id')
echo " Job ID: $JOB_ID"
# Store job ID for later polling
echo "$JOB_ID|$FTR_FILE" >> conversion-jobs.txt
done
echo "Started $(wc -l < conversion-jobs.txt) conversion jobs"