Presets
Presets are reusable encoding templates that define how a video should be transcoded — the codec, resolution, quality tier, container format, audio settings, and more. Instead of specifying all encoding parameters on every job, you can reference a preset by its ID or slug.
System vs Custom Presets
Transcodely provides two types of presets:
| Type | Description | Modifiable | Available To |
|---|---|---|---|
| System | Built-in presets maintained by Transcodely | No | All apps |
| Custom | Created by your team for your specific needs | Yes | Your app only |
System presets cover common use cases (e.g., h264_1080p_standard, av1_4k_premium) and are always available. Custom presets let you fine-tune settings for your specific content and delivery requirements.
Creating a Custom Preset
curl -X POST https://api.transcodely.com/transcodely.v1.PresetService/Create
-H "Authorization: Bearer {{API_KEY}}"
-H "X-Organization-ID: org_a1b2c3d4e5"
-H "Content-Type: application/json"
-d '{
"slug": "web_720p_fast",
"name": "Web Optimized 720p",
"description": "Fast encoding for web delivery",
"content_type": "film",
"container": "mp4",
"faststart": true,
"delivery_format": "progressive",
"video": {
"codec": "h264",
"resolution": "720p",
"bitrate_mode": "crf",
"crf": 23,
"profile": "high",
"encoder_preset": "fast"
},
"audio": {
"codec": "aac",
"bitrate_kbps": 128,
"sample_rate": 48000,
"channels": 2,
"normalize": true
},
"quality_tier": "standard"
}'{
"preset": {
"id": "pst_x9y8z7w6v5",
"slug": "web_720p_fast",
"name": "Web Optimized 720p",
"content_type": "film",
"container": "mp4",
"faststart": true,
"video": { "codec": "h264", "resolution": "720p", "..." : "..." },
"audio": { "codec": "aac", "bitrate_kbps": 128, "..." : "..." },
"quality_tier": "standard",
"estimated_cost_per_minute": 0.023,
"system_preset": false,
"created_at": "2026-01-15T10:30:00Z",
"updated_at": "2026-01-15T10:30:00Z"
}
}Slugs
Every preset has a unique slug — a URL-safe identifier using lowercase letters, numbers, and underscores. Slugs must be unique within your app and are used to reference presets in job creation:
{
"outputs": [
{ "preset": "web_720p_fast" },
{ "preset": "pst_x9y8z7w6v5" }
]
}Both the slug and ID can be used in the preset field when creating jobs.
You can look up a preset by slug:
curl -X POST https://api.transcodely.com/transcodely.v1.PresetService/GetBySlug
-H "Authorization: Bearer {{API_KEY}}"
-H "X-Organization-ID: org_a1b2c3d4e5"
-H "Content-Type: application/json"
-d '{ "slug": "web_720p_fast" }'Video Settings
The video object defines all video encoding parameters:
| Field | Description | Example |
|---|---|---|
codec | Video codec | h264, h265, vp9, av1 |
resolution | Target resolution | 480p, 720p, 1080p, 1440p, 2160p, 4320p |
bitrate_mode | Rate control | crf, cbr, vbr |
crf | Quality factor (lower = higher quality) | 23 (H.264 range: 15-35) |
profile | Codec profile | baseline, main, high |
encoder_preset | Speed/quality tradeoff | ultrafast to slower |
tune | Content-aware tuning | film, animation, grain |
framerate | Target FPS (0 = keep original) | 30, 60 |
Audio Settings
| Field | Description | Example |
|---|---|---|
codec | Audio codec | aac, opus, mp3 |
bitrate_kbps | Target bitrate | 128, 192, 256 |
sample_rate | Sample rate in Hz | 44100, 48000 |
channels | Channel count (0 = keep original) | 2 (stereo) |
normalize | Apply EBU R128 loudness normalization | true |
Content Types
The content_type field optimizes encoder settings for specific content:
| Content Type | Best For |
|---|---|
film | Movies, TV shows — natural motion, fine detail |
animation | Anime, cartoons — flat colors, sharp edges |
grain | Vintage, noir — preserve film grain texture |
gaming | Game recordings — fast motion, screen content |
sports | Live sports — high motion, high framerate |
stillimage | Slideshows — mostly static frames |
Duplicating Presets
Clone any preset (system or custom) as a starting point for a new custom preset:
curl -X POST https://api.transcodely.com/transcodely.v1.PresetService/Duplicate
-H "Authorization: Bearer {{API_KEY}}"
-H "X-Organization-ID: org_a1b2c3d4e5"
-H "Content-Type: application/json"
-d '{
"source_id": "pst_x9y8z7w6v5",
"slug": "web_720p_fast_v2",
"name": "Web Optimized 720p (v2)"
}'This is particularly useful for creating variations of system presets — duplicate a system preset, then modify the copy to suit your needs.
Listing Presets
curl -X POST https://api.transcodely.com/transcodely.v1.PresetService/List
-H "Authorization: Bearer {{API_KEY}}"
-H "X-Organization-ID: org_a1b2c3d4e5"
-H "Content-Type: application/json"
-d '{
"include_system": true,
"video_codec": "h264",
"quality_tier": "standard",
"pagination": { "limit": 50 }
}'The response includes both system presets and your custom presets, filterable by content type, quality tier, and video codec.
Cost Estimation
Each preset includes an estimated_cost_per_minute field that shows the per-minute encoding cost based on the preset’s codec, resolution, framerate, and quality tier. This lets you estimate costs before submitting jobs. See Pricing for the full cost calculation.