{"library":"rev-ai","title":"Rev AI Python SDK","description":"The Rev AI Python SDK provides convenient access to the Rev AI Speech-to-Text APIs, enabling developers to easily integrate asynchronous and streaming speech recognition capabilities into their Python applications. It handles audio transcription for both local files and remote URLs. The library is actively maintained and receives regular updates, with the current version being 2.21.0.","language":"python","status":"active","last_verified":"Mon May 18","install":{"commands":["pip install --upgrade rev-ai"],"cli":null},"imports":["from rev_ai import apiclient","from rev_ai.streamingclient import RevAiStreamingClient","from rev_ai.models import MediaConfig","from rev_ai import apiclient, RevAiApiDeploymentConfigMap, RevAiApiDeployment"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nimport time\nfrom rev_ai import apiclient\n\nREVAI_ACCESS_TOKEN = os.environ.get('REVAI_ACCESS_TOKEN', 'YOUR_REVAI_ACCESS_TOKEN')\nAUDIO_FILE_PATH = 'path/to/your/audio.mp3'  # Replace with your audio file path\n\nif not REVAI_ACCESS_TOKEN or REVAI_ACCESS_TOKEN == 'YOUR_REVAI_ACCESS_TOKEN':\n    print(\"Please set the REVAI_ACCESS_TOKEN environment variable or replace 'YOUR_REVAI_ACCESS_TOKEN' with your actual token.\")\n    exit(1)\n\nif not os.path.exists(AUDIO_FILE_PATH):\n    print(f\"Audio file not found: {AUDIO_FILE_PATH}\")\n    print(\"Please replace 'path/to/your/audio.mp3' with a valid audio file path.\")\n    exit(1)\n\n# Create your client\nclient = apiclient.RevAiAPIClient(REVAI_ACCESS_TOKEN)\n\nprint(f\"Submitting job for: {AUDIO_FILE_PATH}\")\n# Submit a local file for transcription\njob = client.submit_job_local_file(AUDIO_FILE_PATH)\n\njob_id = job.id\nprint(f\"Job submitted with ID: {job_id}\")\n\n# Polling for job completion (simple example, consider webhooks for production)\nwhile True:\n    job_details = client.get_job_details(job_id)\n    if job_details.status == 'transcribed':\n        print(\"Job transcribed successfully!\")\n        break\n    elif job_details.status == 'failed':\n        print(f\"Job failed: {job_details.failure_detail}\")\n        exit(1)\n    else:\n        print(f\"Job status: {job_details.status}... waiting\")\n        time.sleep(5) # Wait 5 seconds before checking again\n\n# Retrieve transcript as text\ntranscript_text = client.get_transcript_text(job_id)\nprint(\"\\n--- Transcript (Text) ---\")\nprint(transcript_text[:500]) # Print first 500 characters\nprint(\"...\")\n\n# You can also retrieve as JSON or a Python object\n# transcript_json = client.get_transcript_json(job_id)\n# transcript_object = client.get_transcript_object(job_id)\n\n# Delete the job (optional, but good practice for cost/data management)\nclient.delete_job(job_id)\nprint(f\"Job {job_id} deleted.\")\n","lang":"python","description":"This quickstart demonstrates how to initialize the Rev AI client, submit a local audio file for transcription, poll for job completion, retrieve the transcript as text, and finally delete the job. Remember to replace the placeholder `AUDIO_FILE_PATH` and set your `REVAI_ACCESS_TOKEN` environment variable.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-18","installed_version":"2.21.0","pypi_latest":"2.21.0","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":2.3,"avg_import_s":0.61,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"--upgrade","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.57,"mem_mb":10,"disk_size":"22.2M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"--upgrade","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.2,"import_time_s":0.42,"mem_mb":10,"disk_size":"23M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"--upgrade","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.76,"mem_mb":11.1,"disk_size":"24.4M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"--upgrade","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.4,"import_time_s":0.64,"mem_mb":11.1,"disk_size":"25M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"--upgrade","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.71,"mem_mb":11.6,"disk_size":"16.2M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"--upgrade","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.1,"import_time_s":0.68,"mem_mb":11.6,"disk_size":"17M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"--upgrade","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.68,"mem_mb":11.9,"disk_size":"15.9M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"--upgrade","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.1,"import_time_s":0.64,"mem_mb":11.9,"disk_size":"16M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"--upgrade","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.54,"mem_mb":9.7,"disk_size":"21.5M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"--upgrade","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.7,"import_time_s":0.5,"mem_mb":9.7,"disk_size":"22M"}]}}