Post-Production API
Overview
Post-production API provides programmatic access to Verbit's premium transcription, captioning, translation and audio description solution, featuring:
- State-of-the-art ASR (Automatic Speech Recognition) engine
- Professional human review
- Seamless integration with customer systems
- Rich transcription and closed captioning for video/audio content
Learn more how to use the Post-Production endpoints here in the API Reference.
API Endpoints
- Production API:
https://api.verbit.co/api/
- Sandbox API:
https://sandbox-api.verbit.co/api/
Authentication Methods
Verbit Post-Production API supports two authentication methods:
- API Token: Customer-specific tokens
- OAuth 2.0: Standard OAuth flow
API Key Authentication
- Obtain the
Production API key
from your Verbit "My account" page - Include it in your requests using either:
- Header:
Authorization: ApiToken <KEY>
- Parameter:
api_token=<KEY>
- Header:
OAuth 2.0 Authentication
- Obtain access token
- Include it in the header of your requests:
Authorization: Bearer <TOKEN>
Note: Contact support to register your application for OAuth authentication
API Basics
Request Methods
- Primary methods:
POST
andGET
(specified per endpoint) - Legacy support: All
POST
endpoints acceptGET
(not recommended)
Response Format
- Default format: JSON
- Exceptions:
/job/get_caption
: Returns caption file/job/draft
: Returns draft content
Error Responses
All errors follow this format:
{
"ErrorType": "ERROR_TYPE_STRING",
"ErrorComment": "Error explanation"
}
For the immediate API error response refer here
Core Functionality
Main Workflow
The primary object in Verbit's API is the transcription job (/job
endpoint). Here's the typical workflow:
-
Create Job (
POST /job/new
)- Set job name and profile
- Configure optional parameters
-
Add Media (
POST /job/add_media
)- Upload via asset ID (from
POST /job/add_asset
) - Or provide direct media URL
- Upload via asset ID (from
-
Optional Additions
- Add notes for transcribers
- Add backup recordings
- Attach supporting documents
-
Start Processing (
POST /job/perform_transcription
)- Initiates ASR and human review
- Configure processing options
-
Monitor Progress
- Poll status via
GET /job/info
- Or set up webhook notifications
- Poll status via
-
Get Results (
GET /job/get_caption
)- Download when status is "Completed"
- Choose from multiple output formats
Additional Features
- User Management: Read-only access to organization users
- Profile Management: Configure job processing settings
Webhook Integration
Setup Options
- Global Webhook: Configure in customer profile (one URL per customer)
- Per-Job Webhook: Set via
callback_url
parameter (overrides global webhook)
Technical Requirements
-
Endpoint:
- HTTP POST endpoint on your server
- Accessible without authentication (or include auth in URL)
-
Request Format:
- Form-encoded payload
- Sample payload (test via "Send Test Event" button):
job_id="<verbit job id>"& external_id="<your reference id>"& status="'Completed' or 'Failure'"& draft_ready="<true/false>"
-
Security:
- Header:
X-JWT-Assertion
contains JWT token - Verify via JWKS:
/.well-known/jwks.json
- JWT payload includes job_id and timestamp
- Header:
-
Response Handling:
- Success: Return
"OK"
(exact match) - Failure: Verbit retries with backoff
- Max retry period: 48 hours
- Success: Return
Testing with Sandbox
- Use sandbox token from profile page
- No real processing occurs in sandbox mode
- Additional parameters available to simulate different API states
- See "Create new job" section for details
Updated about 2 months ago