Cloud Video Architecture you control.

Make Video Streaming Easy and Efficient, Using the Storage, CDN, and Player You Choose.

Architecture

Stream-Based Transcoding

Ingesting and transcoding are performed in parallel by multiple dedicated transcoders, delivering exceptional performance and cost efficiency for the most CPU-intensive video codecs and resolutions.

20%
Transcoder [01]
8vCPU
38%
Transcoder [02]
8vCPU
76%
Transcoder [03]
8vCPU

Dedicated transcoders

Each transcoder working on a job is dedicated, not shared, ensuring optimal performance.

Scalable and efficient

Our horizontal scaling architecture allows us to process thousands of jobs simultaneously, delivering exceptional performance.

Global infrastructure

Chunkify's service is available in multiple regions in North America, Europe, and Asia, ensuring fast and reliable transcoding for your videos.

Per-chunk encoding

Great visual quality.
Smaller files.

Every scene compresses differently. Trained on 100K+ videos across 12 content categories, Chunkify’s model analyzes motion, texture, and detail in each chunk to select the CRF or average bitrate needed for consistently high visual quality.

Chunkify per-chunk encoding
Video
Chunk 01
Chunk 03
Chunk 05
Extracted features
Motion
Texture
Detail
Model output
Selected CRF
29
CRF
20
CRF
21
CRF
Outcome
Visual quality
Consistent quality target
51%
Smaller file
AV1 vs fixed CRF 30 · VMAF 95.62
AV1 benchmark · Tears of Steel 4K
Method File size VMAF
Fixed CRF 30 757 MB 96.96
Chunkify 370 MB 95.62
Tears of Steel · 3840 × 1714 · Chunkify per-title vs fixed CRF Per-title docs →
Pricing

Compute-time pricing,
finally for video transcoding

A fair and proven model where billing is based on the exact compute time needed to process a video reflecting your real usage.

Always the Best Balance
Between Speed and Cost

Manually set the number of transcoders and their type to control the balance between performance and cost.
Switch to Auto Mode and let our algorithm trained on hundreds of thousands of videos find the optimal trade-off for a specific video file.

See our plans
Transcoders

Transcoder types
Auto Mode

Optimal balance between transcoding speed and cost

SDK

API-First,
Built for Developers

A streamlined REST API with official SDKs for Go, TypeScript, Python, and PHP. Plus a React component for seamless integration into your Nextjs application.

Complete API for modern applications

Our API is focused on Developer Experience and very easy to use. Integrate Chunkify into your application in no time.

Explore documentation
import Chunkify from '@chunkify/chunkify';

// Initialize the client with your project token
const client = new Chunkify({
    projectAccessToken: 'sk_project_token',
});

// Create a source first
const source = await client.sources.create({
    url: 'https://s3.amazonaws.com/bucket/your_source.mp4',
});

// Use h264 format with 1080p resolution and 10 transcoders with 8vCPU for this job
const job = await client.jobs.create({
    source_id: source.id,
    format: { 
        id: 'mp4_h264',
        height: 1080,
    }
    transcoder: {
        type: '8vCPU',
        quantity: 10,
    }
});

console.log('Job created with ID:', job.id);
import {
    ChunkifyUploader,
    ChunkifyUploaderFileSelect,
    ChunkifyUploaderProgressText,
    ChunkifyUploaderProgressBar,
    ChunkifyUploaderError,
    ChunkifyUploaderSuccess,
} from '@chunkify/uploader/react';

export default function App() {
    return (
        <ChunkifyUploader endpoint="https://your.presign.upload.url">
            <ChunkifyUploaderFileSelect>
                Select a file
            </ChunkifyUploaderFileSelect>
            <ChunkifyUploaderProgressText />
            <ChunkifyUploaderProgressBar />
            <ChunkifyUploaderError>
                Upload Error
            </ChunkifyUploaderError>
            <ChunkifyUploaderSuccess>
                Upload Success!
            </ChunkifyUploaderSuccess>
        </ChunkifyUploader>
    );
}
import(
    "context"
    "fmt"
    "github.com/chunkifydev/chunkify-go"
    "github.com/chunkifydev/chunkify-go/option"
)

func main() {
	// Initialize the client with your project token
	client := chunkify.NewClient(
    	option.WithProjectAccessToken("sk_project_token"),
	)

	// Create a new source
	source, err := client.Sources.New(context.TODO(), chunkify.SourceNewParams{
		URL: "https://s3.amazonaws.com/bucket/your_source.mp4",
	})

	if err != nil {
		panic(err)
	}

	// Transcode using h264 format with 1080p resolution
	config := &chunkify.MP4H264Param{
		Height: chunkify.Int(1080),
		Crf:    chunkify.Int(21),
	}

	// Use 10 transcoders with 8vCPU for this job
	jobParams := chunkify.JobNewParams{
		SourceID: source.ID,
		Format: chunkify.JobNewParamsFormatUnion{
			OfMP4H264: config,
		},
		Transcoder: chunkify.JobNewParamsTranscoder{
			Quantity: chunkify.Int(10),
			Type: "8vCPU",
		},
	}   

	// Start the job
	job, err := client.Jobs.New(context.TODO(), jobParams)

	if err != nil {
		panic(err)
	}

	fmt.Println("Job created with ID:", job.Id)
}
<?php

require_once __DIR__ . '/vendor/autoload.php';

use Chunkify\Client;

// Initialize the client with your project token
$client = new Client(
    projectAccessToken: 'sk_project_token',
);

// Create a new source
$source = $client->sources->create(
    url: 'https://s3.amazonaws.com/bucket/your_source.mp4',
);

// Transcode to H.264 at 1080p
// Use 10 transcoders with 8vCPU for this job
$job = $client->jobs->create(
    format: [
        'id' => 'mp4_h264',
        'height' => 1080,
        'crf' => 21,
    ],
    sourceID: $source->id,
    transcoder: [
        'quantity' => 10,
        'type' => '8vCPU',
    ],
);

echo 'Job created with ID: ' . $job->id;
from chunkify import Chunkify

# Initialize client with your project token
client = Chunkify(
    project_token="sk_project_token"
)

# Create a new source
source = client.sources.create(
    url="https://s3.amazonaws.com/bucket/your_source.mp4",
)

# Transcode using mp4 format with h264 codec and 1080p resolution
# Using 10 transcoders of type 8vCPU.
job = client.jobs.create(
    source_id=source.id,
    format={
        "id": "mp4_h264",
        "height": 1080,
    },
    transcoder={
        "type": "8vCPU",
        "quantity": 10,
    }
);

print(f"Job created with ID:", {job.id});
Metrics

Dashboard &
Workflow Optimization

Track everything in real time, gain insights into your video activity, and continuously optimize your transcoding strategy.

mp4_av1
us-east-1
Resolution
1080p
Video quality
CRF 21
Framerate
30
Filters
Search
job_2wiVrY6CL78hetvFKrwAm3lW7ze0
0%
job_2wiVxtKxT4xVpglhsy30Xi3fXpz
34%
job_2wiWMw5hEMte8bFNGX4aphE5oCD
100%
job_2wiVxT3FJD5fJCbLbcCkJhSdAQ
89%
Transcoders
16 vCPU
Transcoder #1
FPS: 38.94, Speed: 1.67x
42%
Transcoder #2
FPS: 34.25, Speed: 3.99x
4%
Transcoder #3
FPS: 110.58, Speed: 4.45x
100%
4vCPU
8vCPU
16vCPU

FAQ

Frequently
asked questions

Need more information? Contact our sales team to schedule a demo.

Talk to our sales team

What is Chunkify?

Chunkify is the next generation of cloud-based video transcoding platform, designed to handle CPU-intensive codecs like AV1, VP9 and H.265.

How does Chunkify's transcoding technology work?

Chunkify has built a highly scalable, distributed transcoding system from the ground up. Video files are ingested and transcoded in parallel by multiple dedicated transcoders, which allows us to achieve very high performance and cost efficiency for the most CPU-intensive video codecs and resolutions.

Why choose Chunkify over traditional transcoding solutions?

Unlike sequential pipelines, Chunkify particularly excels at transcoding long and heavy videos and converting them to next-generation codecs like AV1, VP9, and H.265. It is also very efficient for transcoding to H.264.

Who Can Benefit from Chunkify?

Chunkify is perfect for any business that relies on video at scale, from streaming platforms and e-learning providers to short-form video apps and any platform using video as a driver for growth. A Command-Line tool for transcoding your local videos, similar to FFmpeg, is also available.

What video formats are supported?

For output formats, Chunkify supports MP4/H.264, MP4/H.265, MP4/AV1, WebM/VP9, HLS/H.264, HLS/H.265, HLS/AV1, and JPG thumbnails. For input formats, we support all video formats that FFmpeg does.