Generate and download subtitles
Generate source or translated SRT/VTT tracks from registered media and download each completed locale.
Register media first, then start the subtitle workflow with every required target locale.
Generate tracks
export LINGOPAL_API_KEY="your-api-key"
export JOB_ID="replace-with-job-id"
curl -X POST "https://api.lingopal.ai/v2/jobs/$JOB_ID/subtitles" \
-H "X-API-Key: $LINGOPAL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"target_languages": ["es", "fr"],
"format": "srt",
"include_source_language": true,
"word_count_per_line": 7,
"burn_subtitles": false,
"reset": false
}'Authorization
APIKeyHeader In: header
Path Parameters
Reusable registered job ID returned by /v2/jobs/register or /v2/jobs/upload-and-register.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/v2/jobs/job_123/subtitles" \ -H "Content-Type: application/json" \ -d '{ "target_languages": [ "es" ] }'{ "workflow": "translate_subtitles", "status": "started", "job_id": "job_123", "target_languages": [ "es" ], "format": "srt", "message": "Subtitle workflow started", "links": { "job": "/v2/jobs/job_123", "status": "/v2/jobs/job_123/status" }}Use the API Reference entry for generateJobSubtitles for complete request and response details.
Choose SRT for broad compatibility or VTT for HTML5 playback. include_source_language adds a source-language track when supported. word_count_per_line controls subtitle line density.
Follow the job lifecycle until workflows.subtitles.status is completed. Subtitle generation is its own workflow; do not call media translation merely to create translated subtitle tracks.
Download a track
Request one completed subtitle track at a time:
curl "https://api.lingopal.ai/v2/jobs/$JOB_ID/outputs/subtitle?locale=es&file_type=srt" \
-H "X-API-Key: $LINGOPAL_API_KEY" \
--output subtitles-es.srtAuthorization
APIKeyHeader In: header
Path Parameters
Reusable registered job ID returned by /v2/jobs/register or /v2/jobs/upload-and-register.
Query Parameters
"srt"Value in
- "srt"
- "vtt"
"source"7Response Body
application/json
application/json
curl -X GET "https://example.com/v2/jobs/job_123/outputs/subtitle"null| Parameter | Use |
|---|---|
locale | Source or translated track locale |
file_type | Requested subtitle file type |
line_length | Optional output line-length control |
Use the API Reference entry for downloadJobSubtitle for complete query and error details. A 404 generally means the job or requested output is unavailable; confirm workflow status, locale, and file type before retrying.