Quickstart
This guide walks you through submitting your first transcoding job. By the end, you will have converted a video to H.264 MP4 using the Transcodely API.
Prerequisites
- A Transcodely account with an organization and app
- An API key (create one from the dashboard or via the API)
- A video file accessible via a public HTTPS URL, or stored in a GCS/S3 bucket with an Origin configured
Step 1: Get Your API Key
If you do not have an API key yet, create one from the dashboard under Settings > API Keys. You will receive a key that looks like this:
ak_test_AbCdEf1234567890GhIjKlMnTest keys (ak_test_) work against the sandbox environment. Use live keys (ak_live_) for production workloads.
Step 2: Create an Origin
Before submitting jobs, you need at least one storage Origin for outputs. Create an Origin pointing to your cloud storage bucket:
curl -X POST https://api.transcodely.com/transcodely.v1.OriginService/Create
-H "Authorization: Bearer {{API_KEY}}"
-H "Content-Type: application/json"
-d '{
"name": "My Output Bucket",
"type": "gcs",
"bucket": "my-transcoded-videos",
"region": "us-central1",
"credentials": "{...}"
}'The response includes the origin ID (e.g., ori_x9y8z7w6v5) that you will use when creating jobs.
Step 3: Create a Job
Submit a transcoding job with an input video and one output specification:
curl -X POST https://api.transcodely.com/transcodely.v1.JobService/Create
-H "Authorization: Bearer {{API_KEY}}"
-H "Content-Type: application/json"
-d '{
"input_url": "https://storage.example.com/source/video.mp4",
"output_origin_id": "ori_x9y8z7w6v5",
"outputs": [
{
"type": "mp4",
"video": [
{
"codec": "h264",
"resolution": "1080p",
"quality": "standard"
}
]
}
],
"priority": "standard"
}'The response contains your job with its ID and initial status:
{
"job": {
"id": "job_a1b2c3d4e5f6",
"status": "pending",
"progress": 0,
"priority": "standard",
"outputs": [
{
"id": "out_g7h8i9j0k1",
"status": "pending",
"progress": 0
}
],
"created_at": "2026-02-28T10:30:00Z"
}
}Step 4: Check Job Status
Poll the job to monitor progress:
curl -X POST https://api.transcodely.com/transcodely.v1.JobService/Get
-H "Authorization: Bearer {{API_KEY}}"
-H "Content-Type: application/json"
-d '{"id": "job_a1b2c3d4e5f6"}'The job progresses through these statuses: pending > probing > processing > completed.
Step 5: Retrieve the Output
Once the job reaches completed, each output includes the URL of the transcoded file:
{
"job": {
"id": "job_a1b2c3d4e5f6",
"status": "completed",
"progress": 100,
"outputs": [
{
"id": "out_g7h8i9j0k1",
"status": "completed",
"progress": 100,
"output_url": "gs://my-transcoded-videos/job_a1b2c3d4e5f6/out_g7h8i9j0k1.mp4",
"output_size_bytes": 15728640,
"duration_seconds": 120,
"actual_cost": 0.045
}
],
"total_actual_cost": 0.045,
"currency": "EUR"
}
}What’s Next
- Authentication — Learn about API key environments and security best practices
- Jobs API Reference — Explore the complete job lifecycle and all endpoints
- Encoding Options — Understand codecs, quality tiers, and container formats