Authentication
Private beta endpoints should use bearer API keys over HTTPS. Keep keys server-side and rotate them when team members or automation systems change.
Workflows
Docs
SwiftTool API concepts for building automated media workflows around uploads, queues, AI processing, webhooks and secure result delivery.
API foundations
Private beta endpoints should use bearer API keys over HTTPS. Keep keys server-side and rotate them when team members or automation systems change.
Most long-running media work is asynchronous: create a job, poll or receive a webhook, then download the finished output bundle.
Use signed upload and download URLs for production deployments. Do not expose private cloud storage paths directly to public browsers.
Send an Idempotency-Key header when retrying job creation so network retries do not create duplicate processing jobs.
Workflow
Most SwiftTool actions can be queued, monitored and delivered through the same pattern.
Create or upload the source media file.
Submit a transcription, translation, separation or conversion job.
Track queued, processing, completed and failed states.
Download the output bundle or receive a completion webhook.
Endpoints
/v1/transcribe
Generate SRT, VTT, TXT or JSON captions from audio or video.
/v1/translate
Translate SRT or VTT files into 100+ languages while preserving timing.
/v1/separate
Split an audio file into vocals, drums, bass and instrumental stems.
/v1/convert
Convert video, audio and caption files into publish-ready formats.
/v1/jobs/{id}
Track queued, processing, failed and completed jobs.
/v1/webhooks/test
Send a signed sample event to validate your automation receiver.
Examples
curl -X POST https://swifttool.org/api/v1/transcribe \
-H "Authorization: Bearer $SWIFTTOOL_API_KEY" \
-H "Idempotency-Key: job-2026-06-27-001" \
-F "file=@interview.mp4" \
-F "language=auto" \
-F "outputs[]=srt" \
-F "outputs[]=vtt"
curl https://swifttool.org/api/v1/jobs/job_123 \
-H "Authorization: Bearer $SWIFTTOOL_API_KEY"
{
"event": "job.completed",
"job_id": "job_123",
"status": "completed",
"outputs": ["captions.srt", "captions.vtt"],
"completed_at": "2026-06-27T10:00:00Z"
}
Responses
Request succeeded and returned the requested resource.
Job was accepted and is waiting in the processing queue.
Input validation failed, required fields are missing or a format is unsupported.
Missing, expired or invalid API credentials.
The uploaded file exceeds the configured plan or server limit.
Too many requests or too many concurrent jobs for the current plan.
Unexpected failure. Retry with the same idempotency key or contact support.
Before using the private API publicly, configure HTTPS, upload limits, signed URLs, webhook signature verification, API key rotation and monitoring for failed jobs.
Use the support form for API access, custom workflow planning, private cloud workers or editor integration requests.
Contact supportSwiftTool uses necessary cookies for security and preferences. Optional analytics and marketing scripts stay off until you allow them.
Interface controls
Adjust reading, contrast and motion preferences for this browser.