from fennec_asr import FennecASRClientprint(FennecASRClient(api_key="YOUR_API_KEY").transcribe_url("https://upload.wikimedia.org/wikipedia/commons/3/3f/En-History_of_Corpus_Christi%2C_Texas.ogg"))
Don’t want to use the SDK? See the example code below:
Example Code
quickstart.py
Copy
import requests import json import time BASE_URL = "https://api.fennec-asr.com/api/v1" API_KEY = "YOUR_API_KEY_HERE" AUDIO_URL = "https://upload.wikimedia.org/wikipedia/commons/3/3f/En-History_of_Corpus_Christi%2C_Texas.ogg" POLL_INTERVAL_SECONDS = 3 MAX_WAIT_SECONDS = 300 headers = {"Content-Type": "application/json", "X-API-Key": API_KEY} payload = {"audio": AUDIO_URL, "context": "testing with a python script"} def transcribe_audio_url(): try: # 1. Submit the job print("Submitting transcription job...") submit_response = requests.post(f"{BASE_URL}/transcribe/url", headers=headers, data=json.dumps(payload)) submit_response.raise_for_status() job_info = submit_response.json() job_id = job_info.get("job_id") print(f"✅ Job submitted successfully! Job ID: {job_id}\n") # 2. Poll for the result start_time = time.time() while time.time() - start_time < MAX_WAIT_SECONDS: print("Polling for status...") status_url = f"{BASE_URL}/transcribe/status/{job_id}" status_response = requests.get(status_url, headers=headers) if status_response.status_code == 200: status_data = status_response.json() job_status = status_data.get("status") print(f" Current status: '{job_status}'") if job_status == "completed": print("\n🎉 Transcription complete!") print("Transcript:", status_data.get("transcript")) break elif job_status == "failed": print("\n❌ Transcription failed.") print("Error:", status_data.get("transcript")) # Assuming error is stored in transcript field break else: print(f" Error polling status: {status_response.status_code}") time.sleep(POLL_INTERVAL_SECONDS) else: print("\n⏰ Polling timed out.") except requests.exceptions.RequestException as e: print(f"An error occurred: {e}") # --- Run the script --- if __name__ == "__main__": transcribe_audio_url()