<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/missing-layer-in-live-video-streaming-apis-vkdb9incj" -->

---
title: Missing layer in live video streaming APIs | daily.dev
description: A survey of approaches to programmable video composition APIs in live streaming infrastructure. The post contrasts prebuilt template galleries, imperative...
canonical: https://daily.dev/posts/missing-layer-in-live-video-streaming-apis-vkdb9incj
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Missing layer in live video streaming APIs | daily.dev
og:description: A survey of approaches to programmable video composition APIs in live streaming infrastructure. The post contrasts prebuilt template galleries, imperative...
og:url: https://daily.dev/posts/missing-layer-in-live-video-streaming-apis-vkdb9incj
og:image: https://api.daily.dev/og/posts/vKdb9InCJ.png
og:image:alt: Missing layer in live video streaming APIs
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Missing layer in live video streaming APIs

**[Software Mansion](https://daily.dev/sources/swmansion)** · 6 min read · 0 upvotes · 0 comments

## Summary

A survey of approaches to programmable video composition APIs in live streaming infrastructure. The post contrasts prebuilt template galleries, imperative REST-style APIs (used by Twilio Video, AWS IVS, BBC Brave), declarative custom DSLs, and declarative React-based composition. It argues that React is the most expressive and developer-friendly model because video layouts map naturally to component trees with state. Smelter, built by Software Mansion, uses react-reconciler to compile React components to a native GPU scene graph rather than running headless Chromium like Daily.co VCS or LiveKit Egress. Fishjam ships both imperative and declarative React paths on its managed cloud service built on top of Smelter.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://swmansion.com/blog/the-missing-layer-in-live-video-streaming-ap-is-programmable-video-composition>

---

Tags: [#react](https://daily.dev/tags/react)

[View this post on daily.dev](https://daily.dev/posts/missing-layer-in-live-video-streaming-apis-vkdb9incj)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Missing layer in live video streaming APIs","url":"https://daily.dev/posts/missing-layer-in-live-video-streaming-apis-vkdb9incj","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/missing-layer-in-live-video-streaming-apis-vkdb9incj"},"datePublished":"2026-08-02T07:15:54.782Z","dateModified":"2026-08-02T07:43:03.058Z","description":"A survey of approaches to programmable video composition APIs in live streaming infrastructure. The post contrasts prebuilt template galleries, imperative...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/4c0cb78f8c25bb6162adafac673d1185?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/4c0cb78f8c25bb6162adafac673d1185?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Software Mansion","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Software Mansion","logo":"https://media.daily.dev/image/upload/s--sOx0vaVZ--/f_auto,q_auto/v1785654908/logos/swmansion?_a=BAMAMicg0","url":"https://daily.dev/sources/swmansion"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/missing-layer-in-live-video-streaming-apis-vkdb9incj","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"react","timeRequired":"PT6M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Software Mansion","item":"https://daily.dev/sources/swmansion"},{"@type":"ListItem","position":3,"name":"Missing layer in live video streaming APIs"}]}
```

