Rev AI
AI · AI
Speech-to-text jobs, captions, translations, and summaries on their own key.
Acts as the person, not as itself
Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.
Credentials never touch the agent
Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.
Every call on the record
Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.
What an agent can do
Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.
revai_delete_alignment_v1_jobs_by_idWRITEDelete Forced Alignment Job by Id via DELETE /alignment/v1/jobs/{id}. Deletes a forced alignment job. All data related to the job will be permanently deleted. A job can only be deleted once it's completed (either with success or failure).
revai_delete_languageid_v1_jobs_by_idWRITEDelete Language Identification Job by Id via DELETE /languageid/v1/jobs/{id}. Deletes a language identification job. All data related to the job will be permanently deleted. A job can only be deleted once it's completed (either with success or failure).
revai_delete_sentiment_analysis_v1_jobs_by_idWRITEDelete Sentiment Analysis Job by Id via DELETE /sentiment_analysis/v1/jobs/{id}. Deletes a sentiment analysis job. All data related to the job will be permanently deleted. A job can only be deleted once it's completed (either with success or failure).
revai_delete_speechtotext_v1_jobs_by_idWRITEDelete Job by Id via DELETE /speechtotext/v1/jobs/{id}. Deletes a transcription job. All data related to the job, such as input media and transcript, will be permanently deleted. A job can only be deleted once it's completed (either with success or failure).
revai_delete_speechtotext_v1_vocabularies_by_idWRITEDelete Custom Vocabulary via DELETE /speechtotext/v1/vocabularies/{id}. Deletes a custom vocabulary. All data related to the custom vocabulary, such as webhooks and metadata, will be permanently deleted. A custom vocabulary can only be deleted once it's completed (either with success or failure).
revai_delete_topic_extraction_v1_jobs_by_idWRITEDelete Topic Extraction Job by Id via DELETE /topic_extraction/v1/jobs/{id}. Deletes a topic extraction job. All data related to the job will be permanently deleted. A job can only be deleted once it's completed (either with success or failure).
revai_get_alignment_v1_jobsREADGet List of Forced Alignment Jobs via GET /alignment/v1/jobs. Gets a list of alignment jobs submitted within the last 30 days in reverse chronological order up to the provided `limit` number of jobs per call. **Note:** Jobs older than 30 days will not be listed. Pagination is supported via passing the last job `id` from a previous call into `starting_after`.
revai_get_alignment_v1_jobs_by_idREADGet Forced Alignment Job By Id via GET /alignment/v1/jobs/{id}. Returns information about a forced alignment job.
revai_get_alignment_v1_jobs_by_id_transcriptREADGet Forced Alignment Transcript By Id via GET /alignment/v1/jobs/{id}/transcript. Returns the results for a completed forced alignment job.
revai_get_languageid_v1_jobsREADGet List of Language Identification Jobs via GET /languageid/v1/jobs. Gets a list of language identification jobs submitted within the last 30 days in reverse chronological order up to the provided `limit` number of jobs per call. **Note:** Jobs older than 30 days will not be listed. Pagination is supported via passing the last job `id` from a previous call into `starting_after`.
revai_get_languageid_v1_jobs_by_idREADGet Language Identification Job By Id via GET /languageid/v1/jobs/{id}. Returns information about a language identification job.
revai_get_languageid_v1_jobs_by_id_resultREADGet Language Identification Result By Id via GET /languageid/v1/jobs/{id}/result. Returns the results for a completed language identification job.
revai_get_sentiment_analysis_v1_jobsREADGet List of Sentiment Analysis Jobs via GET /sentiment_analysis/v1/jobs. Gets a list of sentiment analysis jobs submitted within the last 30 days in reverse chronological order up to the provided `limit` number of jobs per call. **Note:** Jobs older than 30 days will not be listed. Pagination is supported via passing the last job `id` from a previous call into `starting_after`.
revai_get_sentiment_analysis_v1_jobs_by_idREADGet Sentiment Analysis Job By Id via GET /sentiment_analysis/v1/jobs/{id}. Returns information about a sentiment analysis job
revai_get_sentiment_analysis_v1_jobs_by_id_resultREADGet Sentiment Analysis Result By Id via GET /sentiment_analysis/v1/jobs/{id}/result. Returns the results for a completed sentiment analysis job.
revai_get_speechtotext_v1_accountREADGet Account via GET /speechtotext/v1/account. Get the developer's account information
revai_get_speechtotext_v1_jobsREADGet List of Jobs via GET /speechtotext/v1/jobs. Gets a list of transcription jobs submitted within the last 30 days in reverse chronological order up to the provided `limit` number of jobs per call. **Note:** Jobs older than 30 days will not be listed. Pagination is supported via passing the last job `id` from a previous call into `starting_after`.
revai_get_speechtotext_v1_jobs_by_idREADGet Job By Id via GET /speechtotext/v1/jobs/{id}. Returns information about a transcription job
revai_get_speechtotext_v1_jobs_by_id_captionsREADGet Captions via GET /speechtotext/v1/jobs/{id}/captions. Returns the caption output for a transcription job. We currently support SubRip (SRT) and Web Video Text Tracks (VTT) output. Caption output format can be specified in the `Accept` header. Returns SRT by default. Note: For streaming jobs, transient failure of our storage during a live session may prevent the final hypothesis elements from saving properly, resulting in an incomplete caption file. This is rare, but not impossible. `accept` picks the format (default `application/x-subrip`); text formats return {"raw": "<text>"}.
revai_get_speechtotext_v1_jobs_by_id_captions_translation_by_languageREADGet Translated Captions via GET /speechtotext/v1/jobs/{id}/captions/translation/{language}. Returns translated caption output for a transcription job. Translation must be requested as part of the submited job. We currently support SubRip (SRT) and Web Video Text Tracks (VTT) output. Caption output format can be specified in the `Accept` header. Returns SRT by default. `accept` picks the format (default `application/x-subrip`); text formats return {"raw": "<text>"}.
revai_get_speechtotext_v1_jobs_by_id_transcriptREADGet Transcript By Id via GET /speechtotext/v1/jobs/{id}/transcript. Returns the transcript for a completed transcription job. Transcript can be returned as either JSON or plaintext format. Transcript output format can be specified in the `Accept` header. Returns JSON by default. Note: For streaming jobs, transient failure of our storage during a live session may prevent the final hypothesis elements from saving properly, resulting in an incomplete transcript. This is rare, but not impossible. To guarantee 100% completeness, we recommend capturing all final hypothesis when you receive them on the client. `accept` picks the format (default `application/vnd.rev.transcript.v1.0+json`); text formats return {"raw": "<text>"}.
revai_get_speechtotext_v1_jobs_by_id_transcript_summaryREADGet Transcript Summary By Id via GET /speechtotext/v1/jobs/{id}/transcript/summary. Returns the transcript summary for a completed transcription job. Summary can be returned as either JSON or plaintext format. Summary output format can be specified in the `Accept` header. Returns plaintext by default. `accept` picks the format (default `text/plain`); text formats return {"raw": "<text>"}.
revai_get_speechtotext_v1_jobs_by_id_transcript_translation_by_languageREADGet Translated Transcript By Id via GET /speechtotext/v1/jobs/{id}/transcript/translation/{language}. Returns translated transcript for a completed transcription job. Translation must be requested as part of the submitted job. Transcript can be returned in either JSON or plaintext format. Transcript output format can be specified in the `Accept` header. Returns JSON by default. `accept` picks the format (default `application/vnd.rev.transcript.v1.0+json`); text formats return {"raw": "<text>"}.
revai_get_speechtotext_v1_vocabulariesREADGet List of Custom Vocabularies via GET /speechtotext/v1/vocabularies. Gets a list of most recent custom vocabularies' processing information
revai_get_speechtotext_v1_vocabularies_by_idREADGet Custom Vocabulary via GET /speechtotext/v1/vocabularies/{id}. Gets the custom vocabulary processing information
revai_get_topic_extraction_v1_jobsREADGet List of Topic Extraction Jobs via GET /topic_extraction/v1/jobs. Gets a list of topic extraction jobs submitted within the last 30 days in reverse chronological order up to the provided `limit` number of jobs per call. **Note:** Jobs older than 30 days will not be listed. Pagination is supported via passing the last job `id` from a previous call into `starting_after`.
revai_get_topic_extraction_v1_jobs_by_idREADGet Topic Extraction Job By Id via GET /topic_extraction/v1/jobs/{id}. Returns information about a topic extraction job
revai_get_topic_extraction_v1_jobs_by_id_resultREADGet Topic Extraction Result By Id via GET /topic_extraction/v1/jobs/{id}/result. Returns the results for a completed topic extraction job.
revai_post_alignment_v1_jobsWRITESubmit Forced Alignment Job via POST /alignment/v1/jobs. Starts an asynchronous job to obtain precise word timings for an audio file and text transcript. Audio can be specified by including a public url to the media via the `source_config`. A transcript can be specified by including a public url to the text file via the `source_transcript_config` or by submitting the text directly in the `transcript_text` field. Transcripts should contain only the words of a transcript (punctuation is omitted) separated by spaces. Asynchronous and billed against the account's credit: poll the job by id until `status` leaves `in_progress`, then fetch the result; `notification_config.url` receives a POST when it finishes.
revai_post_languageid_v1_jobsWRITESubmit Language Identification Job via POST /languageid/v1/jobs. Starts an asynchronous job to identify the most probable language in the audio. This tool sends JSON only: give the media as `source_config.url` (a URL Rev AI can download, with `source_config.auth_headers` if it needs an Authorization header); local-file upload is not offered. Asynchronous and billed against the account's credit: poll the job by id until `status` leaves `in_progress`, then fetch the result; `notification_config.url` receives a POST when it finishes.
revai_post_sentiment_analysis_v1_jobsWRITESubmit Sentiment Analysis Job via POST /sentiment_analysis/v1/jobs. Starts an asynchronous job to analyze sentiments in a transcript. The transcript can be supplied through `text` as plain text or `json` as a [rev.com transcript format](https://www.rev.ai/docs#tag/Transcript) Asynchronous and billed against the account's credit: poll the job by id until `status` leaves `in_progress`, then fetch the result; `notification_config.url` receives a POST when it finishes.
revai_post_speechtotext_v1_jobsWRITESubmit Transcription Job via POST /speechtotext/v1/jobs. Starts an asynchronous job to transcribe speech-to-text for a media file. This tool sends JSON only: give the media as `source_config.url` (a URL Rev AI can download, with `source_config.auth_headers` if it needs an Authorization header); local-file upload is not offered. Asynchronous and billed against the account's credit: poll the job by id until `status` leaves `in_progress`, then fetch the result; `notification_config.url` receives a POST when it finishes.
revai_post_speechtotext_v1_vocabulariesWRITESubmit Custom Vocabulary via POST /speechtotext/v1/vocabularies. Submits a Custom Vocabulary for asynchronous processing.
revai_post_topic_extraction_v1_jobsWRITESubmit Topic Extraction Job via POST /topic_extraction/v1/jobs. Starts an asynchronous job to extract topics from a transcript. The transcript can be supplied through `text` as plain text or `json` as a [rev.com transcript format](https://www.rev.ai/docs#tag/Transcript) Asynchronous and billed against the account's credit: poll the job by id until `status` leaves `in_progress`, then fetch the result; `notification_config.url` receives a POST when it finishes.
Often connected alongside
Put Rev AI behind one governed endpoint.
Same permissions, same audit trail, whatever else you connect next.