{"id":36432,"date":"2024-12-11T07:00:00","date_gmt":"2024-12-11T15:00:00","guid":{"rendered":"https:\/\/cloudinary.com\/blog\/?p=36432"},"modified":"2024-12-11T11:55:27","modified_gmt":"2024-12-11T19:55:27","slug":"simple-simulcast-live-streaming-cloudinary-obs","status":"publish","type":"post","link":"https:\/\/cloudinary.com\/blog\/simple-simulcast-live-streaming-cloudinary-obs","title":{"rendered":"Simple Simulcast Live Streaming With Cloudinary and OBS"},"content":{"rendered":"<div class=\"wp-block-cloudinary-markdown \"><p>In this blog post, we\u2019ll use the <a href=\"https:\/\/cloudinary.com\/documentation\/video_live_streaming\">Cloudinary Live Streaming feature<\/a> to start a live stream that we can simulcast to other services like YouTube and Twitch using <a href=\"https:\/\/obsproject.com\/\">OBS (Open Broadcaster Software)<\/a>.<\/p>\n<h2>Setting Up the API Keys<\/h2>\n<p>At the time of this post, the only way to manage your live streams is via the Cloudinary API. Fortunately, Cloudinary has high-quality API documentation that makes this process mostly frictionless.<\/p>\n<p>Before getting started making calls to the API, you need to collect a few details from the Cloudinary dashboard. The API calls will require your cloud name, API key, and API secret. You can find these details in <strong>Settings<\/strong> &gt; <strong>API Keys<\/strong>. Once you have these ready, go to the <a href=\"https:\/\/cloudinary.com\/documentation\/video_live_streaming_reference#tag\/live-stream\">Video Live Streaming API documentation page<\/a>.<\/p>\n<p>Enter your API details near the top of the page. This will allow you to copy calls to the API endpoints with your credentials already added. This UI allows you to test API calls directly from the browser, but please keep in mind that the cloudName variable isn\u2019t automatically prefilled. You\u2019ll need to do this manually. For the examples in this post, we\u2019ll use the shell\/terminal to make curl requests to the API.<\/p>\n<p><img width=\"870\" height=\"606\" data-public-id=\"Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-1\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-1.png\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/w_870,h_606,c_scale\/f_auto,q_auto\/v1733946449\/Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-1\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-1.png?_i=AA\" alt=\"API call\" loading=\"lazy\" class=\"c-transformed-asset wp-image-36435\" data-format=\"png\" data-transformations=\"f_auto,q_auto\" data-version=\"1733946449\" data-seo=\"1\" srcset=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1733946449\/Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-1\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-1.png?_i=AA 870w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1733946449\/Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-1\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-1.png?_i=AA 300w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1733946449\/Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-1\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-1.png?_i=AA 768w\" sizes=\"(max-width: 870px) 100vw, 870px\" \/><\/p>\n<p>Once you get your cloudName and API keys set in the documentation, you should be able to copy curl commands and execute requests to the <a href=\"https:\/\/cloudinary.com\/documentation\/video_live_streaming\">Cloudinary Live Streaming<\/a> API. To confirm this, copy the command for <a href=\"https:\/\/cloudinary.com\/documentation\/video_live_streaming_reference#tag\/live-stream\/GET\/live_streams\">GET \/live_streams<\/a> in your terminal. You should get back a <code>JSON<\/code> response with an empty array value for the data.<\/p>\n<pre class=\"js-syntax-highlighted\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"JSON \/ JSON with Comments\" data-shcb-language-slug=\"json\"><span><code class=\"hljs language-json shcb-wrap-lines\">{\n  <span class=\"hljs-attr\">\"request_id\"<\/span>: <span class=\"hljs-string\">\"3131e028f1e4ea7d024e15dd1153a586\"<\/span>,\n  <span class=\"hljs-attr\">\"data\"<\/span>: &#91;]\n}\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JSON \/ JSON with Comments<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">json<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n<h2>Creating a New Stream<\/h2>\n<p>Before you can start live streaming, you\u2019ll need to create a stream. Copy the curl command from the <a href=\"https:\/\/cloudinary.com\/documentation\/video_live_streaming_reference#tag\/live-stream\/POST\/live_streams\"><code>POST \/live_streams<\/code><\/a> endpoint and run it in your terminal. With the default options, this will create a new RTMP live stream named \u201cMy first stream.\u201d<\/p>\n<p>We\u2019ve trimmed out some of the response values to focus on the important parts of the new stream that we will be using for this tutorial. (We\u2019ve also replaced any sensitive data related to my personal account.)<\/p>\n<pre class=\"js-syntax-highlighted\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"JSON \/ JSON with Comments\" data-shcb-language-slug=\"json\"><span><code class=\"hljs language-json shcb-wrap-lines\">{\n  <span class=\"hljs-attr\">\"request_id\"<\/span>: <span class=\"hljs-string\">\"2c41da07b90183b48c4f93b5a83ded20\"<\/span>,\n  <span class=\"hljs-attr\">\"data\"<\/span>: {\n    <span class=\"hljs-attr\">\"id\"<\/span>: <span class=\"hljs-string\">\"&#91;REDACTED]\"<\/span>,\n    <span class=\"hljs-attr\">\"name\"<\/span>: <span class=\"hljs-string\">\"My first stream\"<\/span>,\n    <span class=\"hljs-attr\">\"input\"<\/span>: {\n      <span class=\"hljs-attr\">\"type\"<\/span>: <span class=\"hljs-string\">\"rtmp\"<\/span>,\n      <span class=\"hljs-attr\">\"uri\"<\/span>: <span class=\"hljs-string\">\"rtmp:\/\/live.cloudinary.com\/streams\"<\/span>,\n      <span class=\"hljs-attr\">\"stream_key\"<\/span>: <span class=\"hljs-string\">\"&#91;REDACTED]\"<\/span>\n    },\n    <span class=\"hljs-attr\">\"status\"<\/span>: <span class=\"hljs-string\">\"idle\"<\/span>,\n    <span class=\"hljs-attr\">\"outputs\"<\/span>: &#91;\n      {\n        <span class=\"hljs-attr\">\"id\"<\/span>: <span class=\"hljs-string\">\"&#91;REDACTED]\"<\/span>,\n        <span class=\"hljs-attr\">\"name\"<\/span>: <span class=\"hljs-string\">\"default hls\"<\/span>,\n        <span class=\"hljs-attr\">\"type\"<\/span>: <span class=\"hljs-string\">\"hls\"<\/span>,\n        <span class=\"hljs-attr\">\"uri\"<\/span>: <span class=\"hljs-string\">\"https:\/\/res.cloudinary.com\/{cloudName}\/video\/live\/live_stream_{stream_id}_hls.m3u8\"<\/span>,\n        <span class=\"hljs-attr\">\"created_at\"<\/span>: <span class=\"hljs-number\">1730130837173<\/span>,\n        <span class=\"hljs-attr\">\"updated_at\"<\/span>: <span class=\"hljs-number\">1730130837173<\/span>\n      },\n    ],\n  }\n}\n\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JSON \/ JSON with Comments<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">json<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n<p><code>data<\/code> includes the details of our stream input. We will need these values to start broadcasting to our new stream with OBS. <code>outputs<\/code> contain the URL to the HLS stream that will be used to access and watch the stream. The HLS stream is the default output provided by the Cloudinary service. Later we will add additional outputs to our stream for simulcasting. Simulcasting allows us to broadcast the same stream to multiple platforms or devices simultaneously.<\/p>\n<h2>Broadcasting With OBS<\/h2>\n<p>It\u2019s time for the fun part. Now that we\u2019ve created our stream, we can start broadcasting with OBS. You\u2019ll want to open OBS to get your scenes and sources set up to your preferences for your broadcast. Once you\u2019ve completed that, we can configure our Cloudinary Stream RTMP input.<\/p>\n<p>Open OBS settings and navigate to the Stream page. For service, you will select Custom. This will provide  <code>Server<\/code> and <code>Stream Key<\/code> inputs. <code>Stream<\/code> will take our input <code>uri<\/code> value and <code>Stream Key<\/code> will take the input <code>stream_key<\/code> from our stream data.<\/p>\n<p>Once you fill these in your settings screen should look something like this:<\/p>\n<p><img width=\"1968\" height=\"1518\" data-public-id=\"Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-2\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-2.png\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/w_1968,h_1518,c_scale\/f_auto,q_auto\/v1733946442\/Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-2\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-2.png?_i=AA\" alt=\"settings screen\" loading=\"lazy\" class=\"c-transformed-asset wp-image-36436\" data-format=\"png\" data-transformations=\"f_auto,q_auto\" data-version=\"1733946442\" data-seo=\"1\" srcset=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1733946442\/Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-2\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-2.png?_i=AA 1968w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1733946442\/Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-2\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-2.png?_i=AA 300w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1733946442\/Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-2\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-2.png?_i=AA 768w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1733946442\/Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-2\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-2.png?_i=AA 1024w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1733946442\/Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-2\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-2.png?_i=AA 1536w\" sizes=\"(max-width: 1968px) 100vw, 1968px\" \/><\/p>\n<p>Click <strong>OK<\/strong> once you have these filled in and you\u2019re ready to start broadcasting!<\/p>\n<p>You can now click <strong>Start Streaming<\/strong> in your OBS Controls, and you\u2019ll be broadcasting live via Cloudinary Streaming.<\/p>\n<p><img width=\"990\" height=\"350\" data-public-id=\"Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-3\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-3.png\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/w_990,h_350,c_scale\/f_auto,q_auto\/v1733946437\/Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-3\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-3.png?_i=AA\" alt=\"OBS controls start streaming\" loading=\"lazy\" class=\"c-transformed-asset wp-image-36437\" data-format=\"png\" data-transformations=\"f_auto,q_auto\" data-version=\"1733946437\" data-seo=\"1\" srcset=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1733946437\/Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-3\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-3.png?_i=AA 990w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1733946437\/Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-3\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-3.png?_i=AA 300w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1733946437\/Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-3\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-3.png?_i=AA 768w\" sizes=\"(max-width: 990px) 100vw, 990px\" \/><\/p>\n<p><img width=\"966\" height=\"328\" data-public-id=\"Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-4\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-4.png\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/w_966,h_328,c_scale\/f_auto,q_auto\/v1733946433\/Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-4\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-4.png?_i=AA\" alt=\"OBS controls stop streaming\" loading=\"lazy\" class=\"c-transformed-asset wp-image-36438\" data-format=\"png\" data-transformations=\"f_auto,q_auto\" data-version=\"1733946433\" data-seo=\"1\" srcset=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1733946433\/Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-4\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-4.png?_i=AA 966w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1733946433\/Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-4\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-4.png?_i=AA 300w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1733946433\/Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-4\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-4.png?_i=AA 768w\" sizes=\"(max-width: 966px) 100vw, 966px\" \/><\/p>\n<h2>Viewing Your Stream<\/h2>\n<p>In our stream data, Cloudinary provided an HLS output URL <code>outputs[].uri<\/code>. Once you\u2019ve started broadcasting, you can use this URI in an HLS stream player. You can test out your stream as a viewer using a <a href=\"https:\/\/hlsjs.video-dev.org\/demo\/\">web based HLS<\/a> stream player. This will let us confirm that our stream is working as expected.<\/p>\n<p>Once you add your output URI to the input, your live stream should be loaded into the video player.<\/p>\n<p><img width=\"1066\" height=\"298\" data-public-id=\"Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-5\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-5.png\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/w_1066,h_298,c_scale\/f_auto,q_auto\/v1733946430\/Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-5\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-5.png?_i=AA\" alt=\"HLS URI output\" loading=\"lazy\" class=\"c-transformed-asset wp-image-36439\" data-format=\"png\" data-transformations=\"f_auto,q_auto\" data-version=\"1733946430\" data-seo=\"1\" srcset=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1733946430\/Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-5\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-5.png?_i=AA 1066w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1733946430\/Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-5\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-5.png?_i=AA 300w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1733946430\/Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-5\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-5.png?_i=AA 768w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1733946430\/Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-5\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-5.png?_i=AA 1024w\" sizes=\"(max-width: 1066px) 100vw, 1066px\" \/><\/p>\n<p><img width=\"1999\" height=\"1109\" data-public-id=\"Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-6\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-6.png\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/w_1999,h_1109,c_scale\/f_auto,q_auto\/v1733946425\/Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-6\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-6.png?_i=AA\" alt=\"live stream\" loading=\"lazy\" class=\"c-transformed-asset wp-image-36440\" data-format=\"png\" data-transformations=\"f_auto,q_auto\" data-version=\"1733946425\" data-seo=\"1\" srcset=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1733946425\/Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-6\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-6.png?_i=AA 1999w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1733946425\/Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-6\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-6.png?_i=AA 300w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1733946425\/Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-6\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-6.png?_i=AA 768w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1733946425\/Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-6\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-6.png?_i=AA 1024w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1733946425\/Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-6\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-6.png?_i=AA 1536w\" sizes=\"(max-width: 1999px) 100vw, 1999px\" \/><\/p>\n<p>Congratulations! Cloudinary made it pretty easy to start broadcasting a live stream. Next, we\u2019ll cover one of the coolest features of Cloudinary\u2019s live streaming service.<\/p>\n<h2>Simulcasting<\/h2>\n<p>You might have bigger ambitions than just setting up a live stream on your personal website. Luckily, Cloudinary Live Streaming supports <a href=\"https:\/\/cloudinary.com\/documentation\/video_live_streaming#define_or_update_outputs\">simulcasting<\/a>. This means that you can send your live stream to broadcast on other services like Twitch and YouTube simultaneously.<\/p>\n<p>To start simulcasting, you just need to add outputs to an existing live stream. For this demo, I\u2019ll add a YouTube output. It\u2019s a similar setup process to adding our Cloudinary stream to OBS. Providers like YouTube and Twitch will provide an RTMP address and stream key.<\/p>\n<p>Head to YouTube and click <strong>Create<\/strong> &gt; <strong>Go Live<\/strong> in the top-right navigation bar. Follow the dialogs to start a live stream. Once you\u2019re finished, you should be on a dashboard that includes the RTMP URL and stream key.<\/p>\n<p>Navigate to <a href=\"https:\/\/cloudinary.com\/documentation\/video_live_streaming_reference#tag\/live-stream\/POST\/live_streams\/%7BliveStreamId%7D\/outputs\">Create a new live stream output<\/a> in the Cloudinary documentation. Copy the curl request. You\u2019ll need to update some of the values before sending it.<\/p>\n<p>First you need to replace <code>__LIVESTREAMID__<\/code> with the ID provided from the curl call to create the stream earlier <code>(data.id)<\/code>.<\/p>\n<pre class=\"js-syntax-highlighted\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php shcb-wrap-lines\">curl --request POST \\\n  --url https:<span class=\"hljs-comment\">\/\/api.cloudinary.com\/v2\/dtkji4khh\/video\/live_streams\/{stream_id}\/outputs \\<\/span>\n  --header <span class=\"hljs-string\">'Authorization: Basic {auth_token}'<\/span> \\\n  --header <span class=\"hljs-string\">'Content-Type: application\/json'<\/span> \\\n  --data <span class=\"hljs-string\">'{\n  \"name\": \"new youtube\",\n  \"type\": \"simulcast\",\n  \"uri\": \"rtmp:\/\/a.rtmp.youtube.com\/live2\",\n  \"stream_key\": \"&#91;REDACTED]\",\n  \"vendor\": \"youtube\"\n}'<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n<p>Once you update your request data and send the curl request, your Cloudinary live stream will start simulcasting to YouTube!<\/p>\n<p><img width=\"1654\" height=\"1182\" data-public-id=\"Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-7\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-7.png\" decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/w_1654,h_1182,c_scale\/f_auto,q_auto\/v1733946417\/Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-7\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-7.png?_i=AA\" alt=\"live stream simulcast\" loading=\"lazy\" class=\"c-transformed-asset wp-image-36441\" data-format=\"png\" data-transformations=\"f_auto,q_auto\" data-version=\"1733946417\" data-seo=\"1\" srcset=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1733946417\/Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-7\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-7.png?_i=AA 1654w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1733946417\/Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-7\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-7.png?_i=AA 300w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1733946417\/Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-7\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-7.png?_i=AA 768w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1733946417\/Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-7\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-7.png?_i=AA 1024w, https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1733946417\/Web_Assets\/blog\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-7\/blog-Simple-Simulcast-Live-Streaming-With-Cloudinary-and-OBS-7.png?_i=AA 1536w\" sizes=\"(max-width: 1654px) 100vw, 1654px\" \/><\/p>\n<h2>Summary<\/h2>\n<p>Broadcasting to Cloudinary live streaming using OBS is really fun! At the time of this writing it requires a little extra work manually making the API calls, as the feature is still in beta. The process to get a stream going will remain mostly the same though. You need to create a live stream, add any outputs for simulcasting, and start broadcasting using software like OBS. Cloudinary manages all the hard stuff! Just plug in RTMP URLs and stream keys and you\u2019re all set.<\/p>\n<p>If you haven\u2019t already, <a href=\"https:\/\/cloudinary.com\/users\/register_free\">sign up for a free Cloudinary account<\/a> and try creating your own live stream today. And, if you found this blog post helpful and want to discuss it in more detail, head over to the <a href=\"https:\/\/community.cloudinary.com\/\">Cloudinary Community forum<\/a> and its associated <a href=\"https:\/\/community.cloudinary.com\/\">Discord<\/a>.<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":87,"featured_media":36442,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_cloudinary_featured_overwrite":false,"footnotes":""},"categories":[1],"tags":[332,393],"class_list":["post-36432","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-api","tag-streaming"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.6 (Yoast SEO v26.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Learn How to Live Stream With Cloudinary and OBS<\/title>\n<meta name=\"description\" content=\"Learn how to create, simulcast, and broadcast live streams to YouTube, Twitch, and more using Cloudinary&#039;s Live Streaming API and OBS software.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cloudinary.com\/blog\/simple-simulcast-live-streaming-cloudinary-obs\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Simple Simulcast Live Streaming With Cloudinary and OBS\" \/>\n<meta property=\"og:description\" content=\"Learn how to create, simulcast, and broadcast live streams to YouTube, Twitch, and more using Cloudinary&#039;s Live Streaming API and OBS software.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cloudinary.com\/blog\/simple-simulcast-live-streaming-cloudinary-obs\" \/>\n<meta property=\"og:site_name\" content=\"Cloudinary Blog\" \/>\n<meta property=\"article:published_time\" content=\"2024-12-11T15:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-12-11T19:55:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/v1733775712\/simple_simulcast_live_streaming\/simple_simulcast_live_streaming-jpg?_i=AA\" \/>\n\t<meta property=\"og:image:width\" content=\"2000\" \/>\n\t<meta property=\"og:image:height\" content=\"1100\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"melindapham\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"NewsArticle\",\"@id\":\"https:\/\/cloudinary.com\/blog\/simple-simulcast-live-streaming-cloudinary-obs#article\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/simple-simulcast-live-streaming-cloudinary-obs\"},\"author\":{\"name\":\"melindapham\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/0d5ad601e4c3b5be89245dfb14be42d9\"},\"headline\":\"Simple Simulcast Live Streaming With Cloudinary and OBS\",\"datePublished\":\"2024-12-11T15:00:00+00:00\",\"dateModified\":\"2024-12-11T19:55:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/simple-simulcast-live-streaming-cloudinary-obs\"},\"wordCount\":8,\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/simple-simulcast-live-streaming-cloudinary-obs#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1733775712\/simple_simulcast_live_streaming\/simple_simulcast_live_streaming.jpg?_i=AA\",\"keywords\":[\"API\",\"Streaming\"],\"inLanguage\":\"en-US\",\"copyrightYear\":\"2024\",\"copyrightHolder\":{\"@id\":\"https:\/\/cloudinary.com\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cloudinary.com\/blog\/simple-simulcast-live-streaming-cloudinary-obs\",\"url\":\"https:\/\/cloudinary.com\/blog\/simple-simulcast-live-streaming-cloudinary-obs\",\"name\":\"Learn How to Live Stream With Cloudinary and OBS\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/simple-simulcast-live-streaming-cloudinary-obs#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/simple-simulcast-live-streaming-cloudinary-obs#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1733775712\/simple_simulcast_live_streaming\/simple_simulcast_live_streaming.jpg?_i=AA\",\"datePublished\":\"2024-12-11T15:00:00+00:00\",\"dateModified\":\"2024-12-11T19:55:27+00:00\",\"description\":\"Learn how to create, simulcast, and broadcast live streams to YouTube, Twitch, and more using Cloudinary's Live Streaming API and OBS software.\",\"breadcrumb\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/simple-simulcast-live-streaming-cloudinary-obs#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cloudinary.com\/blog\/simple-simulcast-live-streaming-cloudinary-obs\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/simple-simulcast-live-streaming-cloudinary-obs#primaryimage\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1733775712\/simple_simulcast_live_streaming\/simple_simulcast_live_streaming.jpg?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1733775712\/simple_simulcast_live_streaming\/simple_simulcast_live_streaming.jpg?_i=AA\",\"width\":2000,\"height\":1100},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cloudinary.com\/blog\/simple-simulcast-live-streaming-cloudinary-obs#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cloudinary.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Simple Simulcast Live Streaming With Cloudinary and OBS\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\",\"url\":\"https:\/\/cloudinary.com\/blog\/\",\"name\":\"Cloudinary Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/cloudinary.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\",\"name\":\"Cloudinary Blog\",\"url\":\"https:\/\/cloudinary.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA\",\"width\":312,\"height\":60,\"caption\":\"Cloudinary Blog\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/0d5ad601e4c3b5be89245dfb14be42d9\",\"name\":\"melindapham\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/e6f989fa97fe94be61596259d8629c3df65aec4c7da5c0000f90d810f313d4f4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/e6f989fa97fe94be61596259d8629c3df65aec4c7da5c0000f90d810f313d4f4?s=96&d=mm&r=g\",\"caption\":\"melindapham\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Learn How to Live Stream With Cloudinary and OBS","description":"Learn how to create, simulcast, and broadcast live streams to YouTube, Twitch, and more using Cloudinary's Live Streaming API and OBS software.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/cloudinary.com\/blog\/simple-simulcast-live-streaming-cloudinary-obs","og_locale":"en_US","og_type":"article","og_title":"Simple Simulcast Live Streaming With Cloudinary and OBS","og_description":"Learn how to create, simulcast, and broadcast live streams to YouTube, Twitch, and more using Cloudinary's Live Streaming API and OBS software.","og_url":"https:\/\/cloudinary.com\/blog\/simple-simulcast-live-streaming-cloudinary-obs","og_site_name":"Cloudinary Blog","article_published_time":"2024-12-11T15:00:00+00:00","article_modified_time":"2024-12-11T19:55:27+00:00","og_image":[{"width":2000,"height":1100,"url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/v1733775712\/simple_simulcast_live_streaming\/simple_simulcast_live_streaming-jpg?_i=AA","type":"image\/jpeg"}],"author":"melindapham","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/cloudinary.com\/blog\/simple-simulcast-live-streaming-cloudinary-obs#article","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/simple-simulcast-live-streaming-cloudinary-obs"},"author":{"name":"melindapham","@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/0d5ad601e4c3b5be89245dfb14be42d9"},"headline":"Simple Simulcast Live Streaming With Cloudinary and OBS","datePublished":"2024-12-11T15:00:00+00:00","dateModified":"2024-12-11T19:55:27+00:00","mainEntityOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/simple-simulcast-live-streaming-cloudinary-obs"},"wordCount":8,"publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/simple-simulcast-live-streaming-cloudinary-obs#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1733775712\/simple_simulcast_live_streaming\/simple_simulcast_live_streaming.jpg?_i=AA","keywords":["API","Streaming"],"inLanguage":"en-US","copyrightYear":"2024","copyrightHolder":{"@id":"https:\/\/cloudinary.com\/#organization"}},{"@type":"WebPage","@id":"https:\/\/cloudinary.com\/blog\/simple-simulcast-live-streaming-cloudinary-obs","url":"https:\/\/cloudinary.com\/blog\/simple-simulcast-live-streaming-cloudinary-obs","name":"Learn How to Live Stream With Cloudinary and OBS","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/simple-simulcast-live-streaming-cloudinary-obs#primaryimage"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/simple-simulcast-live-streaming-cloudinary-obs#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1733775712\/simple_simulcast_live_streaming\/simple_simulcast_live_streaming.jpg?_i=AA","datePublished":"2024-12-11T15:00:00+00:00","dateModified":"2024-12-11T19:55:27+00:00","description":"Learn how to create, simulcast, and broadcast live streams to YouTube, Twitch, and more using Cloudinary's Live Streaming API and OBS software.","breadcrumb":{"@id":"https:\/\/cloudinary.com\/blog\/simple-simulcast-live-streaming-cloudinary-obs#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cloudinary.com\/blog\/simple-simulcast-live-streaming-cloudinary-obs"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/simple-simulcast-live-streaming-cloudinary-obs#primaryimage","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1733775712\/simple_simulcast_live_streaming\/simple_simulcast_live_streaming.jpg?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1733775712\/simple_simulcast_live_streaming\/simple_simulcast_live_streaming.jpg?_i=AA","width":2000,"height":1100},{"@type":"BreadcrumbList","@id":"https:\/\/cloudinary.com\/blog\/simple-simulcast-live-streaming-cloudinary-obs#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cloudinary.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Simple Simulcast Live Streaming With Cloudinary and OBS"}]},{"@type":"WebSite","@id":"https:\/\/cloudinary.com\/blog\/#website","url":"https:\/\/cloudinary.com\/blog\/","name":"Cloudinary Blog","description":"","publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cloudinary.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/cloudinary.com\/blog\/#organization","name":"Cloudinary Blog","url":"https:\/\/cloudinary.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA","width":312,"height":60,"caption":"Cloudinary Blog"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/0d5ad601e4c3b5be89245dfb14be42d9","name":"melindapham","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/e6f989fa97fe94be61596259d8629c3df65aec4c7da5c0000f90d810f313d4f4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e6f989fa97fe94be61596259d8629c3df65aec4c7da5c0000f90d810f313d4f4?s=96&d=mm&r=g","caption":"melindapham"}}]}},"jetpack_featured_media_url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1733775712\/simple_simulcast_live_streaming\/simple_simulcast_live_streaming.jpg?_i=AA","_links":{"self":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/36432","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/users\/87"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/comments?post=36432"}],"version-history":[{"count":1,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/36432\/revisions"}],"predecessor-version":[{"id":36443,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/36432\/revisions\/36443"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media\/36442"}],"wp:attachment":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media?parent=36432"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/categories?post=36432"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/tags?post=36432"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}