Skip to content

Artificial Intelligence · Beta

Verbit
API integration

Ship Artificial Intelligence features without building the integration. Full Verbit API access via Proxy and 40+ MCP-ready tools for AI agents — extend models and mappings to fit your product.

Built for specific customer use cases. Issues are resolved quickly.

Talk to us
Verbit

Use Cases

Why integrate with Verbit

Common scenarios for SaaS companies building Verbit integrations for their customers.

01

Add ADA-compliant captioning to your video platform

Video hosting, LMS, and content platforms can offer end-users native transcription and closed captioning without building an ASR pipeline. Truto handles the Verbit auth and API mechanics so you ship accessibility features in days, not quarters.

02

Power live-captioned webinars and virtual events

Event and webinar platforms can programmatically book live captioners, stream real-time captions into their player, and extend sessions when broadcasts run long. Give enterprise customers FCC/ADA-ready live events out of the box.

03

Deliver certified transcripts inside legal case workflows

LegalTech and deposition software can push secure audio to Verbit, request verbatim human-reviewed transcripts, and pull certified PDF/DOCX deliveries back into the case file — all without exposing users to Verbit's UI.

04

Turn long-form video into AI study guides and chapters

EdTech and corporate learning products can auto-generate summaries, chapters, and keywords from lecture recordings using Verbit's Gen V insights, making every uploaded video searchable and study-ready.

05

Embed interactive transcript players without frontend work

Media and knowledge-base platforms can drop Verbit's Smart Player into their UI to give users clickable, searchable transcripts synced to playback — offered as a premium tier to their customers.

What You Can Build

Ship these features with Truto + Verbit

Concrete product features your team can ship faster by leveraging Truto’s Verbit integration instead of building from scratch.

01

Automated post-upload transcription pipeline

When a user uploads media, create a Verbit job, attach the media, trigger transcription, and pull the finished transcript back into your app automatically.

02

Live captioning session controller

Book live captioning orders, manage upstream feeds, adjust caption placement, extend runtime, and end sessions programmatically from your event scheduler.

03

Transcription tier selector for end users

Surface Verbit profiles (AI-only, AI + human review, verbatim legal) inside your product so customers can pick accuracy vs. cost per job.

04

Multi-format transcript export

Let users request deliveries in SRT, VTT, PDF, or DOCX and attach the finished files directly to records in your platform.

05

Embedded Smart Player with synced transcript

Fetch Verbit's widget code or offline widget for a completed job and render an interactive, searchable transcript player inside your UI.

06

AI insights and chapter generation

Trigger Gen V insights on completed transcripts to surface auto-generated summaries, keywords, and chapters as a premium content feature.

SuperAI

Verbit AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

list_all_verbit_insights

List Verbit AI insights for a specific job, supporting both live sessions and post-production jobs. Returns: uuid, url, fields. One of job_id, job_uuid, or order_id must be provided.

verbit_insights_generate

Generate Verbit AI insights for a job based on the job's insights configuration. Returns: ErrorType, ErrorComment. Required: insights. One of job_id, job_uuid, or order_id must be provided.

list_all_verbit_orders

List Verbit orders filtered by various criteria including search text, order type, status, recurrence, and dates. Returns: id, category_id, short_id, name, client_transaction_id, status, internal_status, last_updated_at, input, output, po_number, cost_center, service_type, settings, contact_details, request_origin, attachments, created_by, container, groups, created_at, verbitext_group_id,…

create_a_verbit_order

Create a new live order in Verbit. Returns the created order including id, name, status, internal_status, input, output, and created_at. Required: name, client_transaction_id, input, output. Start time must be in the future.

get_single_verbit_order_by_id

Get a single Verbit order by id. Returns: id, created_at, uuid, url, fields. Required: id.

update_a_verbit_order_by_id

Update an existing Verbit order by id, modifying fields such as name, status, input, settings, contact details, and attachments. Returns the updated order object including id, name, status, internal_status, input, output, and created_at. Required: id.

verbit_orders_get_transcript

Get the transcript for a specific Verbit order. Returns: link, is_verbitext_available, series_link, audio_recording_link, uuid, url, fields. Required: order_id.

verbit_orders_update_status

Update the status of a Verbit order — primarily used to cancel an order. Returns the updated order object including id, name, status, and created_at. Required: order_id, name. Status can only be updated to canceled; cancellations only affect orders in created, pending_approval, pending_execution, ready_to_connect, or execution_error status.

verbit_orders_bulk_update

Bulk update multiple Verbit orders by sending a JSON array of order objects. Returns: orders, uuid, url, fields. Required: client_transaction_id per order. Status can only be updated to canceled; updates must be made at least 5 hours (Captivate) or 24 hours (Human tier) before event start.

update_a_verbit_recurrence_by_id

Update a Verbit recurrence order by id, modifying details such as name, input, settings, and contact information. Returns the updated order including id, name, status, internal_status, input, output, settings, contact_details, groups, and created_at. Required: id. The recurrence parameter defaults to 'future', which requires order_id.

verbit_recurrences_cancel

Cancel orders in a Verbit recurring event series by recurrence id. Returns the order object including id, name, status, internal_status, created_at, input, output, and groups with recurrence rules. Required: recurrence_id. Orders can only be canceled in created, pending_approval, pending_execution, ready_to_connect, or execution_error status.

create_a_verbit_delivery

Create a download request for Verbit captioning/transcription files. Returns the delivery object including its id, order_ids, formats, status, and download url. Required: order_ids, formats. The delivery status is automatically set to pending on creation.

get_single_verbit_delivery_by_id

Get a Verbit download delivery by id. Returns the delivery object including its id, order_ids, formats, languages, status, and download url. Required: id.

verbit_deliveries_get_status

Get the status of a Verbit download delivery by delivery_id. Returns: status, uuid, url, fields. Required: delivery_id.

verbit_uploads_get_presigned_url

Get a presigned URL for uploading attachments to Verbit. Returns: uuid, url, fields. Required: file_name.

list_all_verbit_jobs

List Verbit jobs with optional filtering by external_id, profile, job_name, language, label, and permission. Returns: id, category_id, short_id, name, client_transaction_id, status, internal_status, last_updated_at, input, output, po_number, cost_center, service_type, settings, contact_details, request_origin, attachments, created_by, container, groups, created_at, verbitext_group_id, editor_ids,…

create_a_verbit_job

Create a new transcription job in Verbit by specifying an API version and a transcription profile. Returns a 201 success response. Required: v, profile. Optional parameters include job_name, language, dynamic_dictionary, permissions, labels, job_metadata, translation settings, and order_details.

verbit_jobs_add_asset

Add an asset file to a Verbit transcription job. Returns a 200 success response. Required: v, job_id.

verbit_jobs_add_media

Add media to a Verbit transcription job via a direct media URL or previously uploaded asset IDs. Returns a 200 success response. Required: v, job_id, media_url. Media URLs must be GET-accessible for at least 24 hours; merge_assets requires at least two asset_ids.

verbit_jobs_add_backup_record

Add a backup record to a Verbit job by linking a previously uploaded asset to an existing transcription job. Returns a 200 success response. Required: v, job_id, asset_id.

verbit_jobs_add_notes_attachments

Add notes or attachments to a Verbit transcription job by URL or asset ID. Returns an empty 200 response on success. Required: v, job_id. One of notes_attachment_url or asset_ids must be provided (mutually exclusive).

verbit_jobs_add_transcription

Add existing transcription text or a transcription URL to a Verbit job. Returns an empty 200 response on success. Required: v, job_id. One of transcription_text or transcription_url must be provided (mutually exclusive).

verbit_jobs_perform_transcription

Start transcription processing for a Verbit job, initiating ASR and human review. Returns an empty 200 response on success. Required: v, job_id.

verbit_jobs_get_info

Get information and status for a specific Verbit job. Returns: job_id, external_id, status, draft_ready. Required: v, job_id.

verbit_jobs_get_draft

Download the draft transcription for a Verbit job in the requested caption format. Returns the draft content as a file (srt, web_vtt, sami, txt, docx, or pdf). Required: v, job_id.

verbit_jobs_get_caption

Download a transcription or caption file for a Verbit job. Returns: caption. Required: v, job_id.

verbit_jobs_get_keywords

Get keywords associated with a Verbit job. Returns: keywords. Required: v, job_id.

verbit_jobs_get_widget_code

Get embeddable HTML widget code for a Verbit job's transcription viewer, synced with a media player. Returns: widget_code. Required: v, job_id. Either player_id or media_url must be provided, but not both.

verbit_jobs_get_offline_widget

Get the offline widget for a Verbit transcription job by job_id. Returns: widget. Required: v, job_id.

verbit_jobs_request_review

Request a review for a Verbit transcription job by job_id. Returns: status, ErrorType, ErrorComment. Required: v, job_id.

verbit_jobs_request_upload_url

Request a direct upload URL for a media file associated with a Verbit job. Returns a 200 success response with no documented response body fields. Required: v, job_id, file_name.

verbit_jobs_create_smart_player

Create a Smart Player for a Verbit job. Returns a 200 success response with no documented response body fields. Required: v, job_id, video_url, title.

verbit_jobs_get_smart_player

Get the Smart Player configuration for a Verbit job. Returns: job_id, video_url, title, description, credits, thumbnail_url, favicon. Required: v, job_id.

verbit_jobs_bulk_update

Update the Smart Player configuration for a Verbit job. Returns: job_id, video_url, title, description, credits, thumbnail_url, favicon. Required: v, job_id, video_url, title.

list_all_verbit_profiles

List Verbit profiles available for transcription job configuration. Profiles are referenced by name when creating or filtering jobs. Returns: id, name. Required: v.

list_all_verbit_users

List users in Verbit. Returns a collection of user objects including id and email.

get_single_verbit_user_by_id

Get a single Verbit user by id. Returns the user object including id and email. Required: id.

verbit_users_find_by_email

Find a Verbit user by email address. Returns the matching user object including id and email. Required: email.

get_single_verbit_session_by_id

Get details for a specific Verbit live session by id. Returns the full session order object including id, name, status, internal_status, input, output, contact_details, settings, and created_at. Required: id.

verbit_sessions_set_upstream

Set the upstream state for a Verbit live session, controlling whether the audio/video source is blocked or passed through. Returns an empty 200 response on success. Required: order_id, upstream.

verbit_sessions_set_caption_placement

Set the caption placement position for a Verbit live session. Returns an empty 200 response on success. Required: order_id, caption_placement.

verbit_sessions_end

End a Verbit live session immediately by order id. Returns an empty 200 response on success. Required: order_id.

verbit_sessions_get_max_extend_time

Get the maximum extend time available for a Verbit live session by order id. Returns the session order object including id, name, status, input, output, and created_at. Required: order_id.

verbit_sessions_extend

Extend a Verbit realtime session's duration to a specified end time. Returns: ErrorType, ErrorComment. Required: order_id (UUID), end_time (ISO 8601 UTC).

verbit_sessions_change_connection_plan

Change the connection plan template for a Verbit realtime session. Returns: ErrorType, ErrorComment. Required: order_id, connection_plan_id.

create_a_verbit_auth_token

Acquire a JWT bearer token for authenticating Verbit API calls by submitting the integration's configured API key. Returns: token, ErrorType, ErrorComment. The bearer token expires 24 hours after creation.

Why Truto

Why use Truto’s MCP server for Verbit

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 650+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

How It Works

From zero to integrated

Go live with Verbit in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s Verbit account

Use Truto’s frontend SDK to connect your customer’s Verbit account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call Verbit

Truto’s Proxy API is a 1-to-1 mapping of the Verbit API. You call us, we call Verbit, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate Verbit’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about Verbit on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

How is authentication handled with Verbit through Truto?

Truto manages Verbit API credentials on behalf of your end users through Integrated Accounts. Your users connect their Verbit account once, and Truto handles token storage, refresh, and injection into every request — you never touch raw credentials.

Can we upload large media files directly to Verbit?

Yes. Use verbit_uploads_get_presigned_url or verbit_jobs_request_upload_url to obtain a signed URL, then stream the file directly to Verbit's storage without proxying bytes through your backend.

Does the integration support both asynchronous transcription and live captioning?

Yes. Asynchronous workflows use Jobs (create_a_verbit_job, verbit_jobs_perform_transcription), while live captioning uses Orders and Sessions (create_a_verbit_order, verbit_sessions_extend, verbit_sessions_end) for real-time control.

How do we know when a transcript is ready?

You can poll job status with verbit_jobs_get_info or check delivery status with verbit_deliveries_get_status. For push-based updates, Truto can also relay Verbit webhooks to your endpoints where supported.

What transcript output formats are supported?

Through create_a_verbit_delivery, you can request transcripts in SRT, VTT, PDF, and DOCX. You can also fetch drafts, captions, and keywords directly via verbit_jobs_get_draft, verbit_jobs_get_caption, and verbit_jobs_get_keywords.

Can end users choose different accuracy tiers?

Yes. Use list_all_verbit_profiles to fetch the transcription profiles enabled on the connected Verbit account (e.g., AI-only, AI + human review, verbatim legal) and pass the selected profile when creating a job or order.

Can we bulk-update jobs or orders?

Yes. verbit_jobs_bulk_update and verbit_orders_bulk_update let you modify multiple records in a single call, which is useful for reassigning profiles, updating metadata, or changing status across a batch.

Verbit

Get Verbit integrated into your app

Our team understands what it takes to make a Verbit integration successful. A short, crisp 30 minute call with folks who understand the problem.