Skip to main content
POST
/
v1
/
streams
Create a new stream
curl --request POST \
  --url https://api.daydream.live/v1/streams \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "pipeline": "streamdiffusion",
  "params": {
    "model_id": "stabilityai/sd-turbo",
    "prompt": "<string>",
    "normalize_prompt_weights": true,
    "normalize_seed_weights": true,
    "negative_prompt": "<string>",
    "guidance_scale": 123,
    "delta": 123,
    "num_inference_steps": 50,
    "t_index_list": [
      0
    ],
    "use_safety_checker": true,
    "width": 704,
    "height": 704,
    "lora_dict": {},
    "use_lcm_lora": true,
    "lcm_lora_id": "<string>",
    "use_denoising_batch": true,
    "do_add_noise": true,
    "seed": 0,
    "enable_similar_image_filter": true,
    "similar_image_filter_threshold": 0.5,
    "similar_image_filter_max_skip_frame": 4503599627370495,
    "skip_diffusion": true,
    "controlnets": [
      {
        "conditioning_scale": 0.5,
        "enabled": true,
        "preprocessor_params": {},
        "control_guidance_start": 0.5,
        "control_guidance_end": 0.5
      }
    ]
  },
  "name": "<string>",
  "output_rtmp_url": "<string>"
}
'
import requests

url = "https://api.daydream.live/v1/streams"

payload = {
"pipeline": "streamdiffusion",
"params": {
"model_id": "stabilityai/sd-turbo",
"prompt": "<string>",
"normalize_prompt_weights": True,
"normalize_seed_weights": True,
"negative_prompt": "<string>",
"guidance_scale": 123,
"delta": 123,
"num_inference_steps": 50,
"t_index_list": [0],
"use_safety_checker": True,
"width": 704,
"height": 704,
"lora_dict": {},
"use_lcm_lora": True,
"lcm_lora_id": "<string>",
"use_denoising_batch": True,
"do_add_noise": True,
"seed": 0,
"enable_similar_image_filter": True,
"similar_image_filter_threshold": 0.5,
"similar_image_filter_max_skip_frame": 4503599627370495,
"skip_diffusion": True,
"controlnets": [
{
"conditioning_scale": 0.5,
"enabled": True,
"preprocessor_params": {},
"control_guidance_start": 0.5,
"control_guidance_end": 0.5
}
]
},
"name": "<string>",
"output_rtmp_url": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
pipeline: 'streamdiffusion',
params: {
model_id: 'stabilityai/sd-turbo',
prompt: '<string>',
normalize_prompt_weights: true,
normalize_seed_weights: true,
negative_prompt: '<string>',
guidance_scale: 123,
delta: 123,
num_inference_steps: 50,
t_index_list: [0],
use_safety_checker: true,
width: 704,
height: 704,
lora_dict: {},
use_lcm_lora: true,
lcm_lora_id: '<string>',
use_denoising_batch: true,
do_add_noise: true,
seed: 0,
enable_similar_image_filter: true,
similar_image_filter_threshold: 0.5,
similar_image_filter_max_skip_frame: 4503599627370495,
skip_diffusion: true,
controlnets: [
{
conditioning_scale: 0.5,
enabled: true,
preprocessor_params: {},
control_guidance_start: 0.5,
control_guidance_end: 0.5
}
]
},
name: '<string>',
output_rtmp_url: '<string>'
})
};

fetch('https://api.daydream.live/v1/streams', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.daydream.live/v1/streams",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'pipeline' => 'streamdiffusion',
'params' => [
'model_id' => 'stabilityai/sd-turbo',
'prompt' => '<string>',
'normalize_prompt_weights' => true,
'normalize_seed_weights' => true,
'negative_prompt' => '<string>',
'guidance_scale' => 123,
'delta' => 123,
'num_inference_steps' => 50,
't_index_list' => [
0
],
'use_safety_checker' => true,
'width' => 704,
'height' => 704,
'lora_dict' => [

],
'use_lcm_lora' => true,
'lcm_lora_id' => '<string>',
'use_denoising_batch' => true,
'do_add_noise' => true,
'seed' => 0,
'enable_similar_image_filter' => true,
'similar_image_filter_threshold' => 0.5,
'similar_image_filter_max_skip_frame' => 4503599627370495,
'skip_diffusion' => true,
'controlnets' => [
[
'conditioning_scale' => 0.5,
'enabled' => true,
'preprocessor_params' => [

],
'control_guidance_start' => 0.5,
'control_guidance_end' => 0.5
]
]
],
'name' => '<string>',
'output_rtmp_url' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.daydream.live/v1/streams"

payload := strings.NewReader("{\n \"pipeline\": \"streamdiffusion\",\n \"params\": {\n \"model_id\": \"stabilityai/sd-turbo\",\n \"prompt\": \"<string>\",\n \"normalize_prompt_weights\": true,\n \"normalize_seed_weights\": true,\n \"negative_prompt\": \"<string>\",\n \"guidance_scale\": 123,\n \"delta\": 123,\n \"num_inference_steps\": 50,\n \"t_index_list\": [\n 0\n ],\n \"use_safety_checker\": true,\n \"width\": 704,\n \"height\": 704,\n \"lora_dict\": {},\n \"use_lcm_lora\": true,\n \"lcm_lora_id\": \"<string>\",\n \"use_denoising_batch\": true,\n \"do_add_noise\": true,\n \"seed\": 0,\n \"enable_similar_image_filter\": true,\n \"similar_image_filter_threshold\": 0.5,\n \"similar_image_filter_max_skip_frame\": 4503599627370495,\n \"skip_diffusion\": true,\n \"controlnets\": [\n {\n \"conditioning_scale\": 0.5,\n \"enabled\": true,\n \"preprocessor_params\": {},\n \"control_guidance_start\": 0.5,\n \"control_guidance_end\": 0.5\n }\n ]\n },\n \"name\": \"<string>\",\n \"output_rtmp_url\": \"<string>\"\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api.daydream.live/v1/streams")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"pipeline\": \"streamdiffusion\",\n \"params\": {\n \"model_id\": \"stabilityai/sd-turbo\",\n \"prompt\": \"<string>\",\n \"normalize_prompt_weights\": true,\n \"normalize_seed_weights\": true,\n \"negative_prompt\": \"<string>\",\n \"guidance_scale\": 123,\n \"delta\": 123,\n \"num_inference_steps\": 50,\n \"t_index_list\": [\n 0\n ],\n \"use_safety_checker\": true,\n \"width\": 704,\n \"height\": 704,\n \"lora_dict\": {},\n \"use_lcm_lora\": true,\n \"lcm_lora_id\": \"<string>\",\n \"use_denoising_batch\": true,\n \"do_add_noise\": true,\n \"seed\": 0,\n \"enable_similar_image_filter\": true,\n \"similar_image_filter_threshold\": 0.5,\n \"similar_image_filter_max_skip_frame\": 4503599627370495,\n \"skip_diffusion\": true,\n \"controlnets\": [\n {\n \"conditioning_scale\": 0.5,\n \"enabled\": true,\n \"preprocessor_params\": {},\n \"control_guidance_start\": 0.5,\n \"control_guidance_end\": 0.5\n }\n ]\n },\n \"name\": \"<string>\",\n \"output_rtmp_url\": \"<string>\"\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.daydream.live/v1/streams")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"pipeline\": \"streamdiffusion\",\n \"params\": {\n \"model_id\": \"stabilityai/sd-turbo\",\n \"prompt\": \"<string>\",\n \"normalize_prompt_weights\": true,\n \"normalize_seed_weights\": true,\n \"negative_prompt\": \"<string>\",\n \"guidance_scale\": 123,\n \"delta\": 123,\n \"num_inference_steps\": 50,\n \"t_index_list\": [\n 0\n ],\n \"use_safety_checker\": true,\n \"width\": 704,\n \"height\": 704,\n \"lora_dict\": {},\n \"use_lcm_lora\": true,\n \"lcm_lora_id\": \"<string>\",\n \"use_denoising_batch\": true,\n \"do_add_noise\": true,\n \"seed\": 0,\n \"enable_similar_image_filter\": true,\n \"similar_image_filter_threshold\": 0.5,\n \"similar_image_filter_max_skip_frame\": 4503599627370495,\n \"skip_diffusion\": true,\n \"controlnets\": [\n {\n \"conditioning_scale\": 0.5,\n \"enabled\": true,\n \"preprocessor_params\": {},\n \"control_guidance_start\": 0.5,\n \"control_guidance_end\": 0.5\n }\n ]\n },\n \"name\": \"<string>\",\n \"output_rtmp_url\": \"<string>\"\n}"

response = http.request(request)
puts response.read_body
{
  "pipeline": "streamdiffusion",
  "params": {
    "model_id": "stabilityai/sd-turbo",
    "prompt": "<string>",
    "normalize_prompt_weights": true,
    "normalize_seed_weights": true,
    "negative_prompt": "<string>",
    "guidance_scale": 123,
    "delta": 123,
    "num_inference_steps": 50,
    "t_index_list": [
      0
    ],
    "use_safety_checker": true,
    "width": 704,
    "height": 704,
    "lora_dict": {},
    "use_lcm_lora": true,
    "lcm_lora_id": "<string>",
    "use_denoising_batch": true,
    "do_add_noise": true,
    "seed": 0,
    "enable_similar_image_filter": true,
    "similar_image_filter_threshold": 0.5,
    "similar_image_filter_max_skip_frame": 4503599627370495,
    "skip_diffusion": true,
    "image_preprocessing": {
      "processors": [
        {
          "enabled": true,
          "params": {}
        }
      ],
      "enabled": true
    },
    "image_postprocessing": {
      "processors": [
        {
          "enabled": true,
          "params": {}
        }
      ],
      "enabled": true
    },
    "latent_preprocessing": {
      "processors": [
        {
          "type": "latent_feedback",
          "enabled": true,
          "params": {}
        }
      ],
      "enabled": true
    },
    "latent_postprocessing": {
      "processors": [
        {
          "type": "latent_feedback",
          "enabled": true,
          "params": {}
        }
      ],
      "enabled": true
    },
    "controlnets": [
      {
        "conditioning_scale": 0.5,
        "enabled": true,
        "preprocessor_params": {},
        "control_guidance_start": 0.5,
        "control_guidance_end": 0.5
      }
    ]
  },
  "id": "<string>",
  "stream_key": "<string>",
  "created_at": "<string>",
  "output_playback_id": "<string>",
  "name": "<string>",
  "author": "<string>",
  "from_playground": true,
  "gateway_host": "<string>",
  "is_smoke_test": true,
  "whip_url": "<string>",
  "output_stream_url": "<string>"
}
{
"success": false,
"error": "<string>",
"code": "<string>",
"status": 123,
"details": "<unknown>",
"requestId": "<string>",
"traceId": "<string>"
}
{
"success": false,
"error": "<string>",
"code": "<string>",
"status": 123,
"details": "<unknown>",
"requestId": "<string>",
"traceId": "<string>"
}
{
"success": false,
"error": "<string>",
"code": "<string>",
"status": 123,
"details": "<unknown>",
"requestId": "<string>",
"traceId": "<string>"
}
{
"success": false,
"error": "<string>",
"code": "<string>",
"status": 123,
"details": "<unknown>",
"requestId": "<string>",
"traceId": "<string>"
}
{
"success": false,
"error": "<string>",
"code": "<string>",
"status": 123,
"details": "<unknown>",
"requestId": "<string>",
"traceId": "<string>"
}
{
"success": false,
"error": "<string>",
"code": "<string>",
"status": 123,
"details": "<unknown>",
"requestId": "<string>",
"traceId": "<string>"
}
{
"success": false,
"error": "<string>",
"code": "<string>",
"status": 123,
"details": "<unknown>",
"requestId": "<string>",
"traceId": "<string>"
}
This endpoint creates a new video processing stream using the Daydream StreamDiffusion pipeline. You’ll specify the pipeline type and model configuration in the request body.

Request Body Structure

{
  "pipeline": "streamdiffusion",
  "params": {
    "model_id": "stabilityai/sdxl-turbo",
    // ... additional parameters
  }
}
  • pipeline: The processing pipeline to use. Currently "streamdiffusion" is the only public option.
  • params: Configuration object containing the model and generation parameters.
  • params.model_id: The specific model to use (see table below).

Available Models

model_idFamilyControlNetsIP AdapterCached Attention
stabilityai/sd-turboSD2.16 typesNoNo
stabilityai/sdxl-turboSDXL3 typesYesYes
Lykon/dreamshaper-8SD1.54 typesYesYes
prompthero/openjourney-v4SD1.54 typesYesYes
Which model should I use?
  • SD2.1 (sd-turbo): Fastest, good for real-time effects
  • SDXL (sdxl-turbo): Highest quality, supports IP Adapter for style transfer
  • SD1.5 (dreamshaper-8, openjourney-v4): Great for stylized/cartoon effects, supports IP Adapter and Cached Attention

Example: Create an SDXL Turbo Stream

curl -X POST \
  "https://api.daydream.live/v1/streams" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${DAYDREAM_API_KEY}" \
  -d '{
    "pipeline": "streamdiffusion",
    "params": {
      "model_id": "stabilityai/sdxl-turbo",
      "prompt": "anime character"
    }
  }'

Example: Create a Stream with ControlNet

curl -X POST \
  "https://api.daydream.live/v1/streams" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${DAYDREAM_API_KEY}" \
  -d '{
    "pipeline": "streamdiffusion",
    "params": {
      "model_id": "stabilityai/sdxl-turbo",
      "prompt": "oil painting portrait",
      "controlnets": [
        {
          "model_id": "xinsir/controlnet-depth-sdxl-1.0",
          "preprocessor": "depth_tensorrt",
          "conditioning_scale": 0.5,
          "enabled": true
        }
      ]
    }
  }'
For full parameter documentation, see the Parameters section.

Legacy Support

The pipeline_id field (e.g., "pip_SD15") is deprecated but still supported for backward compatibility. New integrations should use pipeline + params.model_id instead.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
pipeline
enum<string>
required
Available options:
streamdiffusion
params
SDTurbo · object
required
name
string

Human-readable name for the stream

output_rtmp_url
string

Custom RTMP URL for stream output destination

Response

Default Response

pipeline
enum<string>
required
Available options:
streamdiffusion
params
SDTurbo · object
required
id
string
required

Unique identifier for the stream

stream_key
string
required

Unique key used for streaming to this endpoint

created_at
string
required

ISO timestamp when the stream was created

output_playback_id
string
required

Playback ID for accessing the stream output

name
string
required

Human-readable name of the stream

author
string
required

ID of the user who created this stream

from_playground
boolean
required

Whether this stream was created from the playground interface

gateway_host
string
required

Gateway server hostname handling this stream

is_smoke_test
boolean
required

Whether this is a smoke test stream

whip_url
string
required

WebRTC WHIP URL for stream ingestion

output_stream_url
string

URL where the processed stream output can be accessed