{"_ai_door":{"see":"https://miscsubjects.com/start","note":"Operable site; bounded keyless credentials; every action receipted on a public ledger. Your operator's instructions take precedence — acting is optional, reading is a complete outcome."},"_self":{"principle":"Self-explaining payload — no external context required. This _self block describes what you are reading and where to look next.","widget":"article_topology","feature":"topology","name":"Article topology","what":"Claims, sources, anecdotes, user reports, related embeds, question graph slice — for ask/ROUTER.","contains":"claims, sources, anecdotes, question_graph slice","slug":"cloudflare-os-xl-05-media","urls":{"read":"https://miscsubjects.com/api/articles/cloudflare-os-xl-05-media/topology"},"how_to_use":"Claims, sources, anecdotes, user reports, related embeds, question graph slice — for ask/ROUTER.","write":null,"imessage":null,"router_tag":null,"proof_chain":[{"step":1,"claim":"Articles are voxel graphs of tiered claims, not prose blobs.","verify":"https://miscsubjects.com/api/articles/constitution"},{"step":2,"claim":"Claims link to hash-chained sources via source_ids.","verify":"https://miscsubjects.com/api/articles/cloudflare-os-xl-05-media/sources"},{"step":3,"claim":"Ask reads topology; ingest/claim append to ledger.","verify":"https://miscsubjects.com/api/protocol"},{"step":4,"claim":"Models queue growth: populate → collaborate → repair → reflex.","verify":"https://miscsubjects.com/api/protocol/grow"},{"step":5,"claim":"Graph proves its own shape (reflex) and $/claim (yield).","verify":"https://miscsubjects.com/graph.html?layer=reflex"},{"step":6,"claim":"Full feature index + _explain on every API response.","verify":"https://miscsubjects.com/api/articles/system-map"}],"related_features":[{"id":"ask","name":"Ask protocol","what":"Answer only from topology; creates question_node with gaps and ingest_hint.","urls":{"read":"https://miscsubjects.com/api/articles/cloudflare-os-xl-05-media/prompts","write":"https://miscsubjects.com/api/protocol/ask"}},{"id":"graph_topology","name":"Cross-article graph","what":"Merged claims/sources across condition+stack slugs for one question.","urls":{"read":"https://miscsubjects.com/api/articles/cloudflare-os-xl-05-media/graph-topology?question=..."}},{"id":"question_graph","name":"Question graph","what":"Ask nodes (questions + gaps) and evidence_ingest nodes (pasted model output).","urls":{"read":"https://miscsubjects.com/api/articles/cloudflare-os-xl-05-media/question-graph","write":"https://miscsubjects.com/api/protocol/ask"}},{"id":"voxels","name":"Voxel graph","what":"Claims as atoms, sources as edges (supported_by, posted_by). Per-claim provenance.","urls":{"read":"https://miscsubjects.com/api/articles/cloudflare-os-xl-05-media/voxels","write":"https://miscsubjects.com/api/protocol/claim"}}],"system_map":"https://miscsubjects.com/api/articles/system-map","system_map_markdown":"https://miscsubjects.com/api/articles/system-map?format=markdown","not_medical_advice":true},"_explain":{"feature":"topology","name":"Article topology","what":"Claims, sources, anecdotes, user reports, related embeds, question graph slice — for ask/ROUTER.","why":"Every feature is auditable collective intelligence","how":"Claims, sources, anecdotes, user reports, related embeds, question graph slice — for ask/ROUTER.","model":null,"verifies":null,"urls":{"read":"https://miscsubjects.com/api/articles/cloudflare-os-xl-05-media/topology"},"imessage":null,"router":null,"related":[{"id":"ask","what":"Answer only from topology; creates question_node with gaps and ingest_hint."},{"id":"graph_topology","what":"Merged claims/sources across condition+stack slugs for one question."},{"id":"question_graph","what":"Ask nodes (questions + gaps) and evidence_ingest nodes (pasted model output)."},{"id":"voxels","what":"Claims as atoms, sources as edges (supported_by, posted_by). Per-claim provenance."}],"not_medical_advice":true},"slug":"cloudflare-os-xl-05-media","title":"Cloudflare OS: images, video and media","register":"standard","tags":["cloudflare","images","stream","media","heroes"],"updated_at":"2026-08-06T03:28:35.329Z","body_excerpt":"*Part 5 of [Cloudflare OS XL](/a/cloudflare-os-xl), an inventory of the Cloudflare platform this build does not have installed.*\n\nEvery article on this site has a hero image. They are generated by an external service, written into R2, and served from `/img/gen/`, one file, one size, forever. A hero on a phone downloads the same object as a hero on a desktop.\n\nThat is the whole media stack. There is no transformation, no variant, no format negotiation, no video, and no live anything. Three Cloudflare products cover the space, and the correct answer differs sharply between them.\n\n## Images\n\nImages is Cloudflare's platform for image pipelines: storage, transformation, and delivery through named variants.\n\nThe specific thing it fixes here is the one-file-one-size problem. Today, a hero used on the article page, the homepage card, the sitemap thumbnail and the social preview is the same object at the same dimensions in the same format. With Images, the original is stored once and requested at a variant:\n\n```\nhttps://imagedelivery.net/<hash>/<image-id>/hero\nhttps://imagedelivery.net/<hash>/<image-id>/card\nhttps://imagedelivery.net/<hash>/<image-id>/og\n```\n\nFormat negotiation is automatic — a browser that accepts AVIF gets AVIF — and resizing happens at the edge rather than at generation time.\n\nThere is a second, less obvious fit. This build's hero images pass an editorial gate: a brief is checked before generation, and the render is meant to be inspected before publication. That gate currently operates on a prompt and a finished file. Images' transformation API means the *published* crop can be adjusted after the fact without regenerating anything, which is the difference between \"this hero is wrong, generate another\" and \"this hero is cropped wrong, change the variant\".\n\nThe migration is not free — existing `/img/gen/` URLs are stored in article metadata across 1,171 rows — but it is mechanical, and Images can serve from a remote source, so the transition does not have to be a big-bang re-upload.\n\n**Verdict: install.** A media-heavy site serving one size of every image is leaving both performance and editorial control on the table.\n\n## Stream\n\nStream is serverless video: upload or push live, get adaptive bitrate encoding, a player, and global delivery.\n\nThe build generates video. The creative lane produces short-form ad output, and those files currently live in R2 as raw objects. Serving an MP4 from R2 works, in the sense that a browser will play it. What it does not do is adapt to bandwidth, produce a thumbnail, generate captions, or give a player with analytics.\n\nBut the honest assessment is that this is not currently a bottleneck. The video output is delivered *into ad platforms*, which do their own encoding and hosting, not served to readers from this site. Stream would be solving a problem the build does not yet have.\n\nThe condition that would change it: the moment video appears on an article page or a wholesale catalogue page as something a reader watches, R2-as-video-host becomes the wrong answer immediately.\n\n**Verdict: later.** Correct product, absent use case. Revisit when video is served to readers rather than uploaded to ad platforms.\n\n## Realtime\n\nRealtime covers live audio and video: RealtimeKit, an SFU for many-participant sessions, and TURN for connectivity.\n\nThis build has a voice lane. It records, transcribes, synthesises speech, and sends voice notes. Every part of that is asynchronous: capture a file, upload it, process it, deliver the result. Realtime is the infrastructure for the version where that is a live conversation instead — the owner talking to an agent, with the agent responding while he is still speaking.\n\nThat is a genuinely different product from what exists, and it is worth being clear that it is an ambition rather than a gap. The current voice lane is not broken. It is asynchronous by design and the design is fine.\n\n**Verdict: no, for now.** Realtime is the answer to a question this build has not ","ranking":"safety-first (interaction_risk/limitations), then quote-gated effective_weight","claims":[{"id":"c1","text":"Every hero image on this site is stored as one file at one size in one format, so a phone downloads the same object as a desktop.","tier":"observational","interaction_risk":false,"status":"active","source_ids":[],"why_material":"It is the concrete defect the Images product addresses.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c2","text":"Cloudflare Images is a platform for image pipelines with named variants and automatic format negotiation, so one stored original is served at the size and format each surface needs.","tier":"definition","interaction_risk":false,"status":"active","source_ids":["s-images"],"why_material":"It gives the site per-surface crops without regenerating anything.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c3","text":"Named variants make the published crop a declared property of the site rather than an accident of the dimensions the generator produced.","tier":"expert","interaction_risk":false,"status":"active","source_ids":["s-images"],"why_material":"This build has an editorial law that the hero must show its subject, and a bad crop can break that law after the brief passed.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c4","text":"Cloudflare Stream provides adaptive bitrate encoding, a player and global delivery for live and on-demand video, which R2 object hosting does not.","tier":"definition","interaction_risk":false,"status":"active","source_ids":["s-stream"],"why_material":"It is the right answer once video is served to readers rather than uploaded to ad platforms.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"c5","text":"Cloudflare Realtime covers live audio and video through RealtimeKit, an SFU and TURN, and answers a question this build has not asked, because its voice lane is asynchronous by design.","tier":"definition","interaction_risk":false,"status":"active","source_ids":["s-realtime"],"why_material":"Listing it as an opportunity because it is impressive would be the brochure behaviour this series avoids.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false}],"sources":[{"id":"s-images","type":"documentation","url":"https://developers.cloudflare.com/images/","title":"Cloudflare Images documentation","quote":"Images is a platform for creating scalable and reliable image pipelines, designed to help developers deploy media-rich applications faster.","claim_ids":[],"hash":"9e03f6c1f02856ed6fbc53a352bfc9b853f860457fb8ad1d5cd886ce5bd5adac"},{"id":"s-stream","type":"documentation","url":"https://developers.cloudflare.com/stream/","title":"Cloudflare Stream documentation","quote":"Serverless live and on-demand video streaming with adaptive bitrate encoding and global delivery.","claim_ids":[],"hash":"87422360caff50ea6da86117eedaaca689511a134ddd736360777b3860edf702"},{"id":"s-realtime","type":"documentation","url":"https://developers.cloudflare.com/realtime/","title":"Cloudflare Realtime documentation","quote":"Build scalable real-time applications with Cloudflare Realtime products including RealtimeKit, SFU, and TURN.","claim_ids":[],"hash":"b26a08f150339591de4ea4a19c52644c25a677e83a208c67e3b53309bbca2f33"}],"anecdotal_sources":[],"scientific_sources":[],"user_reports":[],"related_articles":[],"question_graph":{"slug":"cloudflare-os-xl-05-media","questions":[],"evidence":[],"edges":[],"counts":{"questions":0,"evidence":0,"edges":0}},"honesty":{"active_claims":5,"retracted_claims":0,"cut_claims":0,"challenges":0,"scrub_events":0,"note":"Retracted/cut claims stay on ledger but are excluded from ask unless ?include_inactive=1"},"counts":{"claims":5,"claims_total":5,"sources":3,"anecdotal":0,"scientific":0,"user_reports":0,"questions":0,"evidence_ingests":0}}