Search Documentation
Search across all documentation pages
Presets

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:

TypeDescriptionModifiableAvailable To
SystemBuilt-in presets maintained by TranscodelyNoAll apps
CustomCreated by your team for your specific needsYesYour 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:

FieldDescriptionExample
codecVideo codech264, h265, vp9, av1
resolutionTarget resolution480p, 720p, 1080p, 1440p, 2160p, 4320p
bitrate_modeRate controlcrf, cbr, vbr
crfQuality factor (lower = higher quality)23 (H.264 range: 15-35)
profileCodec profilebaseline, main, high
encoder_presetSpeed/quality tradeoffultrafast to slower
tuneContent-aware tuningfilm, animation, grain
framerateTarget FPS (0 = keep original)30, 60

Audio Settings

FieldDescriptionExample
codecAudio codecaac, opus, mp3
bitrate_kbpsTarget bitrate128, 192, 256
sample_rateSample rate in Hz44100, 48000
channelsChannel count (0 = keep original)2 (stereo)
normalizeApply EBU R128 loudness normalizationtrue

Content Types

The content_type field optimizes encoder settings for specific content:

Content TypeBest For
filmMovies, TV shows — natural motion, fine detail
animationAnime, cartoons — flat colors, sharp edges
grainVintage, noir — preserve film grain texture
gamingGame recordings — fast motion, screen content
sportsLive sports — high motion, high framerate
stillimageSlideshows — 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.