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

# Update a Stream

> Updates pipeline parameters for an existing video processing stream

<Note>
  Rate limit: 300 requests per minute.
</Note>

This endpoint allows you to update pipeline parameters for an existing stream. You can modify prompts, ControlNet settings, IP Adapter configuration, and other generation parameters.

## Request Body Structure

```json theme={null}
{
  "pipeline": "streamdiffusion",
  "params": {
    "model_id": "Lykon/dreamshaper-8",
    "prompt": "new prompt",
    // ... only include parameters you want to change
  }
}
```

<Tip>
  The `pipeline` field defaults to `"streamdiffusion"` if omitted, so you can just send `params` for most updates.
</Tip>

## Hot-Swap vs Reload Parameters

<Warning>
  The following parameters can be updated dynamically (no reload required):

  * `prompt`, `negative_prompt`
  * `guidance_scale`, `delta`
  * `num_inference_steps`, `t_index_list`
  * `seed`
  * `controlnets.conditioning_scale`
  * `ip_adapter` settings
  * `ip_adapter_style_image_url`

  All other parameters trigger a full pipeline reload (\~30s).
</Warning>

## Example: Update Prompt

```bash theme={null}
curl -X PATCH \
  "https://api.daydream.live/v1/streams/${STREAM_ID}" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${DAYDREAM_API_KEY}" \
  -d '{
    "params": {
      "model_id": "Lykon/dreamshaper-8",
      "prompt": "cyberpunk cityscape, neon lights"
    }
  }'
```

## Example: Adjust ControlNet Strength

```bash theme={null}
curl -X PATCH \
  "https://api.daydream.live/v1/streams/${STREAM_ID}" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${DAYDREAM_API_KEY}" \
  -d '{
    "params": {
      "model_id": "Lykon/dreamshaper-8",
      "controlnets": [
        {
          "model_id": "lllyasviel/control_v11f1p_sd15_depth",
          "preprocessor": "depth_tensorrt",
          "conditioning_scale": 0.7,
          "enabled": true
        }
      ]
    }
  }'
```

<Note>
  For full parameter documentation, see the [Parameters](/api/parameters/SD15) section.
</Note>


## OpenAPI

````yaml PATCH /v1/streams/{id}
openapi: 3.1.0
info:
  title: Daydream API Documentation
  description: API documentation for Daydream API
  version: 1.0.0
servers:
  - url: https://api.daydream.live
    description: Production server
security: []
paths:
  /v1/streams/{id}:
    patch:
      tags:
        - Streams
        - public
      summary: Update a stream
      description: >-
        Updates pipeline parameters for a specific stream by ID for the
        authenticated user
      operationId: updateStream
      parameters:
        - schema:
            type: string
            minLength: 1
          in: path
          name: id
          required: true
          description: ID of the stream to update
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - $ref: '#/components/schemas/StreamDiffusion_4'
                - $ref: '#/components/schemas/Scope_4'
              discriminator:
                propertyName: pipeline
                mapping:
                  streamdiffusion:
                    $ref: '#/components/schemas/StreamDiffusion_4'
                  scope:
                    $ref: '#/components/schemas/Scope_4'
        required: true
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/StreamDiffusion_5'
                  - $ref: '#/components/schemas/Scope_5'
                discriminator:
                  propertyName: pipeline
                  mapping:
                    streamdiffusion:
                      $ref: '#/components/schemas/StreamDiffusion_5'
                    scope:
                      $ref: '#/components/schemas/Scope_5'
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    description: Always false for error responses
                    default: false
                    type: boolean
                  error:
                    description: User-facing error message
                    type: string
                  code:
                    description: >-
                      Stable machine-readable error code, e.g.,
                      STREAMS/NOT_FOUND
                    type: string
                  status:
                    description: HTTP status code
                    type: number
                  details:
                    description: Optional structured details about the error
                  requestId:
                    description: Request identifier for correlation
                    type: string
                  traceId:
                    description: OpenTelemetry trace id for correlation
                    type: string
                required:
                  - success
                  - error
                  - code
                  - status
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    description: Always false for error responses
                    default: false
                    type: boolean
                  error:
                    description: User-facing error message
                    type: string
                  code:
                    description: >-
                      Stable machine-readable error code, e.g.,
                      STREAMS/NOT_FOUND
                    type: string
                  status:
                    description: HTTP status code
                    type: number
                  details:
                    description: Optional structured details about the error
                  requestId:
                    description: Request identifier for correlation
                    type: string
                  traceId:
                    description: OpenTelemetry trace id for correlation
                    type: string
                required:
                  - success
                  - error
                  - code
                  - status
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    description: Always false for error responses
                    default: false
                    type: boolean
                  error:
                    description: User-facing error message
                    type: string
                  code:
                    description: >-
                      Stable machine-readable error code, e.g.,
                      STREAMS/NOT_FOUND
                    type: string
                  status:
                    description: HTTP status code
                    type: number
                  details:
                    description: Optional structured details about the error
                  requestId:
                    description: Request identifier for correlation
                    type: string
                  traceId:
                    description: OpenTelemetry trace id for correlation
                    type: string
                required:
                  - success
                  - error
                  - code
                  - status
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    description: Always false for error responses
                    default: false
                    type: boolean
                  error:
                    description: User-facing error message
                    type: string
                  code:
                    description: >-
                      Stable machine-readable error code, e.g.,
                      STREAMS/NOT_FOUND
                    type: string
                  status:
                    description: HTTP status code
                    type: number
                  details:
                    description: Optional structured details about the error
                  requestId:
                    description: Request identifier for correlation
                    type: string
                  traceId:
                    description: OpenTelemetry trace id for correlation
                    type: string
                required:
                  - success
                  - error
                  - code
                  - status
                additionalProperties: false
        '409':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    description: Always false for error responses
                    default: false
                    type: boolean
                  error:
                    description: User-facing error message
                    type: string
                  code:
                    description: >-
                      Stable machine-readable error code, e.g.,
                      STREAMS/NOT_FOUND
                    type: string
                  status:
                    description: HTTP status code
                    type: number
                  details:
                    description: Optional structured details about the error
                  requestId:
                    description: Request identifier for correlation
                    type: string
                  traceId:
                    description: OpenTelemetry trace id for correlation
                    type: string
                required:
                  - success
                  - error
                  - code
                  - status
                additionalProperties: false
        '429':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    description: Always false for error responses
                    default: false
                    type: boolean
                  error:
                    description: User-facing error message
                    type: string
                  code:
                    description: >-
                      Stable machine-readable error code, e.g.,
                      STREAMS/NOT_FOUND
                    type: string
                  status:
                    description: HTTP status code
                    type: number
                  details:
                    description: Optional structured details about the error
                  requestId:
                    description: Request identifier for correlation
                    type: string
                  traceId:
                    description: OpenTelemetry trace id for correlation
                    type: string
                required:
                  - success
                  - error
                  - code
                  - status
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    description: Always false for error responses
                    default: false
                    type: boolean
                  error:
                    description: User-facing error message
                    type: string
                  code:
                    description: >-
                      Stable machine-readable error code, e.g.,
                      STREAMS/NOT_FOUND
                    type: string
                  status:
                    description: HTTP status code
                    type: number
                  details:
                    description: Optional structured details about the error
                  requestId:
                    description: Request identifier for correlation
                    type: string
                  traceId:
                    description: OpenTelemetry trace id for correlation
                    type: string
                required:
                  - success
                  - error
                  - code
                  - status
                additionalProperties: false
      security:
        - Bearer: []
components:
  schemas:
    StreamDiffusion_4:
      title: StreamDiffusion
      type: object
      properties:
        pipeline:
          type: string
          enum:
            - streamdiffusion
        params:
          oneOf:
            - $ref: '#/components/schemas/SDTurbo_4'
            - $ref: '#/components/schemas/SDXL_4'
            - $ref: '#/components/schemas/SD1.5_4'
          discriminator:
            propertyName: model_id
            mapping:
              stabilityai/sd-turbo:
                $ref: '#/components/schemas/SDTurbo_4'
              stabilityai/sdxl-turbo:
                $ref: '#/components/schemas/SDXL_4'
              Lykon/dreamshaper-8:
                $ref: '#/components/schemas/SD1.5_4'
              prompthero/openjourney-v4:
                $ref: '#/components/schemas/SD1.5_4'
      required:
        - pipeline
        - params
    Scope_4:
      title: Scope
      type: object
      properties:
        pipeline:
          type: string
          enum:
            - scope
        params:
          description: Scope pipeline parameters. Accepts any JSON object.
          type: object
          additionalProperties: {}
      required:
        - pipeline
        - params
    StreamDiffusion_5:
      title: StreamDiffusion
      type: object
      properties:
        pipeline:
          type: string
          enum:
            - streamdiffusion
        params:
          oneOf:
            - $ref: '#/components/schemas/SDTurbo_5'
            - $ref: '#/components/schemas/SDXL_5'
            - $ref: '#/components/schemas/SD1.5_5'
          discriminator:
            propertyName: model_id
            mapping:
              stabilityai/sd-turbo:
                $ref: '#/components/schemas/SDTurbo_5'
              stabilityai/sdxl-turbo:
                $ref: '#/components/schemas/SDXL_5'
              Lykon/dreamshaper-8:
                $ref: '#/components/schemas/SD1.5_5'
              prompthero/openjourney-v4:
                $ref: '#/components/schemas/SD1.5_5'
        id:
          description: Unique identifier for the stream
          type: string
        stream_key:
          description: Unique key used for streaming to this endpoint
          type: string
        output_stream_url:
          description: URL where the processed stream output can be accessed
          type: string
        created_at:
          description: ISO timestamp when the stream was created
          type: string
        output_playback_id:
          description: Playback ID for accessing the stream output
          type: string
        name:
          description: Human-readable name of the stream
          type: string
        author:
          description: ID of the user who created this stream
          type: string
        from_playground:
          description: Whether this stream was created from the playground interface
          type: boolean
        gateway_host:
          description: Gateway server hostname handling this stream
          type: string
        is_smoke_test:
          description: Whether this is a smoke test stream
          type: boolean
        whip_url:
          description: WebRTC WHIP URL for stream ingestion
          type: string
      required:
        - pipeline
        - params
        - id
        - stream_key
        - created_at
        - output_playback_id
        - name
        - author
        - from_playground
        - gateway_host
        - is_smoke_test
        - whip_url
      additionalProperties: false
    Scope_5:
      title: Scope
      type: object
      properties:
        pipeline:
          type: string
          enum:
            - scope
        params:
          description: Scope pipeline parameters. Accepts any JSON object.
          type: object
          additionalProperties: {}
        id:
          description: Unique identifier for the stream
          type: string
        stream_key:
          description: Unique key used for streaming to this endpoint
          type: string
        output_stream_url:
          description: URL where the processed stream output can be accessed
          type: string
        created_at:
          description: ISO timestamp when the stream was created
          type: string
        output_playback_id:
          description: Playback ID for accessing the stream output
          type: string
        name:
          description: Human-readable name of the stream
          type: string
        author:
          description: ID of the user who created this stream
          type: string
        from_playground:
          description: Whether this stream was created from the playground interface
          type: boolean
        gateway_host:
          description: Gateway server hostname handling this stream
          type: string
        is_smoke_test:
          description: Whether this is a smoke test stream
          type: boolean
        whip_url:
          description: WebRTC WHIP URL for stream ingestion
          type: string
      required:
        - pipeline
        - params
        - id
        - stream_key
        - created_at
        - output_playback_id
        - name
        - author
        - from_playground
        - gateway_host
        - is_smoke_test
        - whip_url
      additionalProperties: false
    SDTurbo_4:
      title: SDTurbo
      type: object
      properties:
        model_id:
          type: string
          enum:
            - stabilityai/sd-turbo
        prompt:
          description: >-
            Text prompt describing the desired image. Can be a single string or
            weighted list of (prompt, weight) tuples.
          anyOf:
            - type: string
            - type: array
              items:
                type: array
                prefixItems:
                  - type: string
                    minLength: 1
                  - type: number
        prompt_interpolation_method:
          description: >-
            Method for interpolating between multiple prompts. Slerp provides
            smoother transitions than linear.
          type: string
          enum:
            - linear
            - slerp
        normalize_prompt_weights:
          description: >-
            Whether to normalize prompt weights to sum to 1.0 for consistent
            generation.
          type: boolean
        normalize_seed_weights:
          description: >-
            Whether to normalize seed weights to sum to 1.0 for consistent
            generation.
          type: boolean
        negative_prompt:
          description: Text describing what to avoid in the generated image.
          type: string
        guidance_scale:
          description: >-
            Strength of prompt adherence. Higher values make the model follow
            the prompt more strictly.
          type: number
        delta:
          description: >-
            Delta sets per-frame denoising progress: lower delta means steadier,
            less flicker but slower/softer; higher delta means faster, sharper
            but more flicker/artifacts (often reduce CFG).
          type: number
        num_inference_steps:
          description: >-
            Builds the full denoising schedule (the 'grid' of possible
            refinement steps). Changing it changes what each step number
            (t_index_list value) means. Keep it fixed for a session and only
            adjust if you're deliberately redefining the schedule; if you do,
            proportionally remap your t_index_list. Typical range 10-100 with
            default being 50.
          type: integer
          minimum: 1
          maximum: 100
        t_index_list:
          description: >-
            The ordered list of step indices from the num_inference_steps
            schedule to execute per frame. Each index is one model pass, so
            latency scales with the list length. Higher indices (e.g., 40–49 on
            a 50-step grid) mainly polish and preserve structure (lower
            flicker), while lower indices (<20) rewrite structure (more flicker,
            creative). Values must be non-decreasing, and each between 0 and
            num_inference_steps.


            ⚠️ NOTE: t_index_list must have 1–4 elements, non-decreasing, and
            within [0, num_inference_steps]. The value should not go above 50.
          minItems: 1
          maxItems: 4
          type: array
          items:
            type: integer
            minimum: -9007199254740991
            maximum: 9007199254740991
        use_safety_checker:
          description: Whether to use safety checker for content filtering
          type: boolean
        width:
          description: >-
            Output image width in pixels. Must be divisible by 64 and between
            384-1024.
          type: integer
          minimum: 384
          maximum: 1024
        height:
          description: >-
            Output image height in pixels. Must be divisible by 64 and between
            384-1024.
          type: integer
          minimum: 384
          maximum: 1024
        lora_dict:
          description: >-
            Dictionary mapping LoRA model paths to their weights for fine-tuning
            the base model.
          type: object
          nullable: true
        use_lcm_lora:
          description: Whether to use Latent Consistency Model LoRA for faster inference.
          type: boolean
        lcm_lora_id:
          description: >-
            Identifier for the LCM LoRA model to use. Example:
            "latent-consistency/lcm-lora-sdv1-5"
          type: string
        acceleration:
          description: >-
            Acceleration method for inference. Options: "none", "xformers",
            "tensorrt". TensorRT provides the best performance but requires
            engine compilation.
          type: string
          enum:
            - none
            - xformers
            - tensorrt
        use_denoising_batch:
          description: >-
            Whether to process multiple denoising steps in a single batch for
            efficiency.
          type: boolean
        do_add_noise:
          description: >-
            Whether to add noise to input frames before processing. Enabling
            this slightly re-noises each frame to improve temporal stability,
            reduce ghosting/texture sticking, and prevent drift; disabling can
            yield sharper, lower-latency results but may increase flicker and
            artifact accumulation over time.
          type: boolean
        seed:
          description: >-
            Random seed for generation. Can be a single integer or weighted list
            of (seed, weight) tuples.
          anyOf:
            - type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
            - type: array
              items:
                type: array
                prefixItems:
                  - type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                  - type: number
        seed_interpolation_method:
          description: >-
            Method for interpolating between multiple seeds. Slerp provides
            smoother transitions than linear.
          type: string
          enum:
            - linear
            - slerp
        enable_similar_image_filter:
          description: >-
            Whether to skip frames that are too similar to the previous output
            to reduce flicker.
          type: boolean
        similar_image_filter_threshold:
          description: >-
            Similarity threshold for the image filter. Higher values allow more
            variation between frames.
          type: number
          minimum: 0
          maximum: 1
        similar_image_filter_max_skip_frame:
          description: >-
            Maximum number of consecutive frames that can be skipped by the
            similarity filter.
          type: integer
          minimum: 0
          maximum: 9007199254740991
        skip_diffusion:
          description: >-
            Whether to skip the diffusion process. Any ControlNets or
            diffusion-only parameters are ignored when enabled.
                    Example use cases:
                    - Stream the output of a preprocessor (e.g. live depth maps or pose skeletons),
                    - Run post-processors like RealESRGAN upscaler on externally provided frames,
                    - Warm a pipeline without paying the diffusion cost.
                  ⚠️ NOTE: skip_diffusion is evaluated at pipeline creation time; switching mid-stream triggers a pipeline reload.
                  
          type: boolean
        image_preprocessing:
          description: List of image preprocessor configurations for image processing
          type: object
          properties:
            enabled:
              description: Whether this processor config is active
              type: boolean
            processors:
              description: List of image processors to apply
              type: array
              items:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                      - blur
                      - canny
                      - depth
                      - depth_tensorrt
                      - external
                      - feedback
                      - hed
                      - lineart
                      - mediapipe_pose
                      - mediapipe_segmentation
                      - openpose
                      - passthrough
                      - pose_tensorrt
                      - realesrgan_trt
                      - sharpen
                      - soft_edge
                      - standard_lineart
                      - temporal_net_tensorrt
                      - upscale
                  enabled:
                    description: Whether this processor is active
                    type: boolean
                  params:
                    type: object
                    additionalProperties: {}
                required:
                  - type
          required:
            - processors
        image_postprocessing:
          description: |-
            List of image postprocessor configurations for image processing
                  ⚠️ NOTE: realesrgan_trt processor requires a restart to change because it affects resolution.
                  
          type: object
          properties:
            enabled:
              description: Whether this processor config is active
              type: boolean
            processors:
              description: List of image processors to apply
              type: array
              items:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                      - blur
                      - canny
                      - depth
                      - depth_tensorrt
                      - external
                      - feedback
                      - hed
                      - lineart
                      - mediapipe_pose
                      - mediapipe_segmentation
                      - openpose
                      - passthrough
                      - pose_tensorrt
                      - realesrgan_trt
                      - sharpen
                      - soft_edge
                      - standard_lineart
                      - temporal_net_tensorrt
                      - upscale
                  enabled:
                    description: Whether this processor is active
                    type: boolean
                  params:
                    type: object
                    additionalProperties: {}
                required:
                  - type
          required:
            - processors
        latent_preprocessing:
          description: List of latent preprocessor configurations for latent processing
          type: object
          properties:
            enabled:
              description: Whether this processor config is active
              type: boolean
            processors:
              description: List of latent processors to apply
              type: array
              items:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                      - latent_feedback
                  enabled:
                    description: Whether this processor is active
                    type: boolean
                  params:
                    type: object
                    additionalProperties: {}
                required:
                  - type
          required:
            - processors
        latent_postprocessing:
          description: List of latent postprocessor configurations for latent processing
          type: object
          properties:
            enabled:
              description: Whether this processor config is active
              type: boolean
            processors:
              description: List of latent processors to apply
              type: array
              items:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                      - latent_feedback
                  enabled:
                    description: Whether this processor is active
                    type: boolean
                  params:
                    type: object
                    additionalProperties: {}
                required:
                  - type
          required:
            - processors
        controlnets:
          description: >-
            List of ControlNet configurations for guided generation. Each
            ControlNet provides different types of conditioning (pose, edges,
            depth, etc.). Dynamic updates limited to conditioning_scale changes
            only; cannot add new ControlNets or change
            model_id/preprocessor/params without reload.
          type: array
          items:
            type: object
            properties:
              model_id:
                description: >-
                  ⚠️ NOTE: ControlNet model_ids must be unique. Additionally,
                  they must be compatible with the selected base model.
                type: string
                enum:
                  - thibaud/controlnet-sd21-openpose-diffusers
                  - thibaud/controlnet-sd21-hed-diffusers
                  - thibaud/controlnet-sd21-canny-diffusers
                  - thibaud/controlnet-sd21-depth-diffusers
                  - thibaud/controlnet-sd21-color-diffusers
                  - daydreamlive/TemporalNet2-stable-diffusion-2-1
              conditioning_scale:
                description: >-
                  Strength of the ControlNet's influence on generation. Higher
                  values make the model follow the control signal more strictly.
                  Typical range 0.0-1.0, where 0.0 disables the control and 1.0
                  applies full control. Default: 1.0
                type: number
                minimum: 0
                maximum: 1
              preprocessor:
                description: >-
                  Preprocessor to apply to input frames before feeding to the
                  ControlNet. Must be one of the supported preprocessors.
                type: string
                enum:
                  - blur
                  - canny
                  - depth
                  - depth_tensorrt
                  - external
                  - feedback
                  - hed
                  - lineart
                  - mediapipe_pose
                  - mediapipe_segmentation
                  - openpose
                  - passthrough
                  - pose_tensorrt
                  - realesrgan_trt
                  - sharpen
                  - soft_edge
                  - standard_lineart
                  - temporal_net_tensorrt
                  - upscale
              preprocessor_params:
                description: >-
                  Additional parameters for the preprocessor. For example, canny
                  edge detection uses 'low_threshold' and 'high_threshold'
                  values.
                type: object
                additionalProperties: {}
              enabled:
                description: >-
                  Whether this ControlNet is active. Disabled ControlNets are
                  not loaded. Default: true
                type: boolean
              control_guidance_start:
                description: >-
                  Fraction of the denoising process (0.0-1.0) when ControlNet
                  guidance begins. 0.0 means guidance starts from the beginning.
                type: number
                minimum: 0
                maximum: 1
              control_guidance_end:
                description: >-
                  Fraction of the denoising process (0.0-1.0) when ControlNet
                  guidance ends. 1.0 means guidance continues until the end.
                type: number
                minimum: 0
                maximum: 1
            required:
              - model_id
              - conditioning_scale
              - preprocessor
              - enabled
      required:
        - model_id
      additionalProperties: false
    SDXL_4:
      title: SDXL
      type: object
      properties:
        model_id:
          type: string
          enum:
            - stabilityai/sdxl-turbo
        prompt:
          description: >-
            Text prompt describing the desired image. Can be a single string or
            weighted list of (prompt, weight) tuples.
          anyOf:
            - type: string
            - type: array
              items:
                type: array
                prefixItems:
                  - type: string
                    minLength: 1
                  - type: number
        prompt_interpolation_method:
          description: >-
            Method for interpolating between multiple prompts. Slerp provides
            smoother transitions than linear.
          type: string
          enum:
            - linear
            - slerp
        normalize_prompt_weights:
          description: >-
            Whether to normalize prompt weights to sum to 1.0 for consistent
            generation.
          type: boolean
        normalize_seed_weights:
          description: >-
            Whether to normalize seed weights to sum to 1.0 for consistent
            generation.
          type: boolean
        negative_prompt:
          description: Text describing what to avoid in the generated image.
          type: string
        guidance_scale:
          description: >-
            Strength of prompt adherence. Higher values make the model follow
            the prompt more strictly.
          type: number
        delta:
          description: >-
            Delta sets per-frame denoising progress: lower delta means steadier,
            less flicker but slower/softer; higher delta means faster, sharper
            but more flicker/artifacts (often reduce CFG).
          type: number
        num_inference_steps:
          description: >-
            Builds the full denoising schedule (the 'grid' of possible
            refinement steps). Changing it changes what each step number
            (t_index_list value) means. Keep it fixed for a session and only
            adjust if you're deliberately redefining the schedule; if you do,
            proportionally remap your t_index_list. Typical range 10-100 with
            default being 50.
          type: integer
          minimum: 1
          maximum: 100
        t_index_list:
          description: >-
            The ordered list of step indices from the num_inference_steps
            schedule to execute per frame. Each index is one model pass, so
            latency scales with the list length. Higher indices (e.g., 40–49 on
            a 50-step grid) mainly polish and preserve structure (lower
            flicker), while lower indices (<20) rewrite structure (more flicker,
            creative). Values must be non-decreasing, and each between 0 and
            num_inference_steps.


            ⚠️ NOTE: t_index_list must have 1–4 elements, non-decreasing, and
            within [0, num_inference_steps]. The value should not go above 50.
          minItems: 1
          maxItems: 4
          type: array
          items:
            type: integer
            minimum: -9007199254740991
            maximum: 9007199254740991
        use_safety_checker:
          description: Whether to use safety checker for content filtering
          type: boolean
        width:
          description: >-
            Output image width in pixels. Must be divisible by 64 and between
            384-1024.
          type: integer
          minimum: 384
          maximum: 1024
        height:
          description: >-
            Output image height in pixels. Must be divisible by 64 and between
            384-1024.
          type: integer
          minimum: 384
          maximum: 1024
        lora_dict:
          description: >-
            Dictionary mapping LoRA model paths to their weights for fine-tuning
            the base model.
          type: object
          nullable: true
        use_lcm_lora:
          description: Whether to use Latent Consistency Model LoRA for faster inference.
          type: boolean
        lcm_lora_id:
          description: >-
            Identifier for the LCM LoRA model to use. Example:
            "latent-consistency/lcm-lora-sdv1-5"
          type: string
        acceleration:
          description: >-
            Acceleration method for inference. Options: "none", "xformers",
            "tensorrt". TensorRT provides the best performance but requires
            engine compilation.
          type: string
          enum:
            - none
            - xformers
            - tensorrt
        use_denoising_batch:
          description: >-
            Whether to process multiple denoising steps in a single batch for
            efficiency.
          type: boolean
        do_add_noise:
          description: >-
            Whether to add noise to input frames before processing. Enabling
            this slightly re-noises each frame to improve temporal stability,
            reduce ghosting/texture sticking, and prevent drift; disabling can
            yield sharper, lower-latency results but may increase flicker and
            artifact accumulation over time.
          type: boolean
        seed:
          description: >-
            Random seed for generation. Can be a single integer or weighted list
            of (seed, weight) tuples.
          anyOf:
            - type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
            - type: array
              items:
                type: array
                prefixItems:
                  - type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                  - type: number
        seed_interpolation_method:
          description: >-
            Method for interpolating between multiple seeds. Slerp provides
            smoother transitions than linear.
          type: string
          enum:
            - linear
            - slerp
        enable_similar_image_filter:
          description: >-
            Whether to skip frames that are too similar to the previous output
            to reduce flicker.
          type: boolean
        similar_image_filter_threshold:
          description: >-
            Similarity threshold for the image filter. Higher values allow more
            variation between frames.
          type: number
          minimum: 0
          maximum: 1
        similar_image_filter_max_skip_frame:
          description: >-
            Maximum number of consecutive frames that can be skipped by the
            similarity filter.
          type: integer
          minimum: 0
          maximum: 9007199254740991
        skip_diffusion:
          description: >-
            Whether to skip the diffusion process. Any ControlNets or
            diffusion-only parameters are ignored when enabled.
                    Example use cases:
                    - Stream the output of a preprocessor (e.g. live depth maps or pose skeletons),
                    - Run post-processors like RealESRGAN upscaler on externally provided frames,
                    - Warm a pipeline without paying the diffusion cost.
                  ⚠️ NOTE: skip_diffusion is evaluated at pipeline creation time; switching mid-stream triggers a pipeline reload.
                  
          type: boolean
        image_preprocessing:
          description: List of image preprocessor configurations for image processing
          type: object
          properties:
            enabled:
              description: Whether this processor config is active
              type: boolean
            processors:
              description: List of image processors to apply
              type: array
              items:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                      - blur
                      - canny
                      - depth
                      - depth_tensorrt
                      - external
                      - feedback
                      - hed
                      - lineart
                      - mediapipe_pose
                      - mediapipe_segmentation
                      - openpose
                      - passthrough
                      - pose_tensorrt
                      - realesrgan_trt
                      - sharpen
                      - soft_edge
                      - standard_lineart
                      - temporal_net_tensorrt
                      - upscale
                  enabled:
                    description: Whether this processor is active
                    type: boolean
                  params:
                    type: object
                    additionalProperties: {}
                required:
                  - type
          required:
            - processors
        image_postprocessing:
          description: |-
            List of image postprocessor configurations for image processing
                  ⚠️ NOTE: realesrgan_trt processor requires a restart to change because it affects resolution.
                  
          type: object
          properties:
            enabled:
              description: Whether this processor config is active
              type: boolean
            processors:
              description: List of image processors to apply
              type: array
              items:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                      - blur
                      - canny
                      - depth
                      - depth_tensorrt
                      - external
                      - feedback
                      - hed
                      - lineart
                      - mediapipe_pose
                      - mediapipe_segmentation
                      - openpose
                      - passthrough
                      - pose_tensorrt
                      - realesrgan_trt
                      - sharpen
                      - soft_edge
                      - standard_lineart
                      - temporal_net_tensorrt
                      - upscale
                  enabled:
                    description: Whether this processor is active
                    type: boolean
                  params:
                    type: object
                    additionalProperties: {}
                required:
                  - type
          required:
            - processors
        latent_preprocessing:
          description: List of latent preprocessor configurations for latent processing
          type: object
          properties:
            enabled:
              description: Whether this processor config is active
              type: boolean
            processors:
              description: List of latent processors to apply
              type: array
              items:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                      - latent_feedback
                  enabled:
                    description: Whether this processor is active
                    type: boolean
                  params:
                    type: object
                    additionalProperties: {}
                required:
                  - type
          required:
            - processors
        latent_postprocessing:
          description: List of latent postprocessor configurations for latent processing
          type: object
          properties:
            enabled:
              description: Whether this processor config is active
              type: boolean
            processors:
              description: List of latent processors to apply
              type: array
              items:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                      - latent_feedback
                  enabled:
                    description: Whether this processor is active
                    type: boolean
                  params:
                    type: object
                    additionalProperties: {}
                required:
                  - type
          required:
            - processors
        controlnets:
          description: >-
            List of ControlNet configurations for guided generation. Each
            ControlNet provides different types of conditioning (pose, edges,
            depth, etc.). Dynamic updates limited to conditioning_scale changes
            only; cannot add new ControlNets or change
            model_id/preprocessor/params without reload.
          type: array
          items:
            type: object
            properties:
              model_id:
                description: >-
                  ⚠️ NOTE: ControlNet model_ids must be unique. Additionally,
                  they must be compatible with the selected base model.
                type: string
                enum:
                  - xinsir/controlnet-depth-sdxl-1.0
                  - xinsir/controlnet-canny-sdxl-1.0
                  - xinsir/controlnet-tile-sdxl-1.0
              conditioning_scale:
                description: >-
                  Strength of the ControlNet's influence on generation. Higher
                  values make the model follow the control signal more strictly.
                  Typical range 0.0-1.0, where 0.0 disables the control and 1.0
                  applies full control. Default: 1.0
                type: number
                minimum: 0
                maximum: 1
              preprocessor:
                description: >-
                  Preprocessor to apply to input frames before feeding to the
                  ControlNet. Must be one of the supported preprocessors.
                type: string
                enum:
                  - blur
                  - canny
                  - depth
                  - depth_tensorrt
                  - external
                  - feedback
                  - hed
                  - lineart
                  - mediapipe_pose
                  - mediapipe_segmentation
                  - openpose
                  - passthrough
                  - pose_tensorrt
                  - realesrgan_trt
                  - sharpen
                  - soft_edge
                  - standard_lineart
                  - temporal_net_tensorrt
                  - upscale
              preprocessor_params:
                description: Preprocessor parameters
                type: object
                additionalProperties: {}
              enabled:
                description: >-
                  Whether this ControlNet is active. Disabled ControlNets are
                  not loaded. Default: true
                type: boolean
              control_guidance_start:
                description: >-
                  Fraction of the denoising process (0.0-1.0) when ControlNet
                  guidance begins. 0.0 means guidance starts from the beginning.
                type: number
                minimum: 0
                maximum: 1
              control_guidance_end:
                description: >-
                  Fraction of the denoising process (0.0-1.0) when ControlNet
                  guidance ends. 1.0 means guidance continues until the end.
                type: number
                minimum: 0
                maximum: 1
            required:
              - model_id
              - conditioning_scale
              - preprocessor
              - enabled
        ip_adapter:
          description: >-
            IP adapter — Turns on IP-Adapter style conditioning and is fully
            hot-swappable. Available for SDXL, SDXL-faceid, SD1.5
          type: object
          properties:
            type:
              description: >-
                Type of IP adapter. Use 'faceid' for SDXL-faceid models,
                'regular' for others
              default: regular
              type: string
              enum:
                - regular
                - faceid
            enabled:
              description: Whether IP adapter is enabled
              type: boolean
            scale:
              description: Strength of IP adapter style conditioning
              type: number
            weight_type:
              description: >-
                Weight interpolation method for IP adapter style conditioning.
                Controls how the style influence changes throughout the
                generation process.
              type: string
              enum:
                - linear
                - ease in
                - ease out
                - ease in-out
                - reverse in-out
                - weak input
                - weak output
                - weak middle
                - strong middle
                - style transfer
                - composition
                - strong style transfer
                - style and composition
                - style transfer precise
                - composition precise
        ip_adapter_style_image_url:
          description: >-
            HTTPS URL or base64-encoded data URI (data:image/[type];base64,...)
            of the style image to use. Base64 images are automatically cached
            and uploaded to storage with content-based deduplication. Maximum
            size: 5MB. When set, the runtime downloads the image and configures
            the pipeline; if omitted, a default style image is used. For
            'faceid' type, the image must contain a clear face. Available for
            SDXL, SDXL-faceid, SD1.5
          type: string
        cached_attention:
          description: >-
            Cached attention (StreamV2V) configuration. Enable cached attention
            to reuse key/value tensors across frames. ⚠️ NOTE: Enabling or
            disabling cached_attention requires a pipeline reload as it uses a
            different pipeline.
          type: object
          properties:
            enabled:
              description: >-
                Whether this cached attention is active. Enable cached attention
                to reuse key/value tensors across frames.
              type: boolean
            max_frames:
              description: >-
                Number of frames retained in the attention cache. Number of
                historical K/V frames to retain. Limited by TensorRT engine
                exports.
              type: integer
              minimum: 1
              maximum: 4
            interval:
              description: >-
                Cadence (number of frames) for refreshing cached key/value
                tensors i.e How often (in number of frames) to refresh the
                cache.
                      It is now **frame-based** (not seconds). It accepts integers 1-240, representing how many frames elapse between cache refreshes.
                      
              type: integer
              minimum: 1
              maximum: 240
          required:
            - enabled
            - max_frames
            - interval
      required:
        - model_id
    SD1.5_4:
      title: SD1.5
      type: object
      properties:
        model_id:
          description: Model to use for generation
          type: string
          enum:
            - Lykon/dreamshaper-8
            - prompthero/openjourney-v4
        prompt:
          description: >-
            Text prompt describing the desired image. Can be a single string or
            weighted list of (prompt, weight) tuples.
          anyOf:
            - type: string
            - type: array
              items:
                type: array
                prefixItems:
                  - type: string
                    minLength: 1
                  - type: number
        prompt_interpolation_method:
          description: >-
            Method for interpolating between multiple prompts. Slerp provides
            smoother transitions than linear.
          type: string
          enum:
            - linear
            - slerp
        normalize_prompt_weights:
          description: >-
            Whether to normalize prompt weights to sum to 1.0 for consistent
            generation.
          type: boolean
        normalize_seed_weights:
          description: >-
            Whether to normalize seed weights to sum to 1.0 for consistent
            generation.
          type: boolean
        negative_prompt:
          description: Text describing what to avoid in the generated image.
          type: string
        guidance_scale:
          description: >-
            Strength of prompt adherence. Higher values make the model follow
            the prompt more strictly.
          type: number
        delta:
          description: >-
            Delta sets per-frame denoising progress: lower delta means steadier,
            less flicker but slower/softer; higher delta means faster, sharper
            but more flicker/artifacts (often reduce CFG).
          type: number
        num_inference_steps:
          description: >-
            Builds the full denoising schedule (the 'grid' of possible
            refinement steps). Changing it changes what each step number
            (t_index_list value) means. Keep it fixed for a session and only
            adjust if you're deliberately redefining the schedule; if you do,
            proportionally remap your t_index_list. Typical range 10-100 with
            default being 50.
          type: integer
          minimum: 1
          maximum: 100
        t_index_list:
          description: >-
            The ordered list of step indices from the num_inference_steps
            schedule to execute per frame. Each index is one model pass, so
            latency scales with the list length. Higher indices (e.g., 40–49 on
            a 50-step grid) mainly polish and preserve structure (lower
            flicker), while lower indices (<20) rewrite structure (more flicker,
            creative). Values must be non-decreasing, and each between 0 and
            num_inference_steps.


            ⚠️ NOTE: t_index_list must have 1–4 elements, non-decreasing, and
            within [0, num_inference_steps]. The value should not go above 50.
          minItems: 1
          maxItems: 4
          type: array
          items:
            type: integer
            minimum: -9007199254740991
            maximum: 9007199254740991
        use_safety_checker:
          description: Whether to use safety checker for content filtering
          type: boolean
        width:
          description: >-
            Output image width in pixels. Must be divisible by 64 and between
            384-1024.
          type: integer
          minimum: 384
          maximum: 1024
        height:
          description: >-
            Output image height in pixels. Must be divisible by 64 and between
            384-1024.
          type: integer
          minimum: 384
          maximum: 1024
        lora_dict:
          description: >-
            Dictionary mapping LoRA model paths to their weights for fine-tuning
            the base model.
          type: object
          nullable: true
        use_lcm_lora:
          description: Whether to use Latent Consistency Model LoRA for faster inference.
          type: boolean
        lcm_lora_id:
          description: >-
            Identifier for the LCM LoRA model to use. Example:
            "latent-consistency/lcm-lora-sdv1-5"
          type: string
        acceleration:
          description: >-
            Acceleration method for inference. Options: "none", "xformers",
            "tensorrt". TensorRT provides the best performance but requires
            engine compilation.
          type: string
          enum:
            - none
            - xformers
            - tensorrt
        use_denoising_batch:
          description: >-
            Whether to process multiple denoising steps in a single batch for
            efficiency.
          type: boolean
        do_add_noise:
          description: >-
            Whether to add noise to input frames before processing. Enabling
            this slightly re-noises each frame to improve temporal stability,
            reduce ghosting/texture sticking, and prevent drift; disabling can
            yield sharper, lower-latency results but may increase flicker and
            artifact accumulation over time.
          type: boolean
        seed:
          description: >-
            Random seed for generation. Can be a single integer or weighted list
            of (seed, weight) tuples.
          anyOf:
            - type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
            - type: array
              items:
                type: array
                prefixItems:
                  - type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                  - type: number
        seed_interpolation_method:
          description: >-
            Method for interpolating between multiple seeds. Slerp provides
            smoother transitions than linear.
          type: string
          enum:
            - linear
            - slerp
        enable_similar_image_filter:
          description: >-
            Whether to skip frames that are too similar to the previous output
            to reduce flicker.
          type: boolean
        similar_image_filter_threshold:
          description: >-
            Similarity threshold for the image filter. Higher values allow more
            variation between frames.
          type: number
          minimum: 0
          maximum: 1
        similar_image_filter_max_skip_frame:
          description: >-
            Maximum number of consecutive frames that can be skipped by the
            similarity filter.
          type: integer
          minimum: 0
          maximum: 9007199254740991
        skip_diffusion:
          description: >-
            Whether to skip the diffusion process. Any ControlNets or
            diffusion-only parameters are ignored when enabled.
                    Example use cases:
                    - Stream the output of a preprocessor (e.g. live depth maps or pose skeletons),
                    - Run post-processors like RealESRGAN upscaler on externally provided frames,
                    - Warm a pipeline without paying the diffusion cost.
                  ⚠️ NOTE: skip_diffusion is evaluated at pipeline creation time; switching mid-stream triggers a pipeline reload.
                  
          type: boolean
        image_preprocessing:
          description: List of image preprocessor configurations for image processing
          type: object
          properties:
            enabled:
              description: Whether this processor config is active
              type: boolean
            processors:
              description: List of image processors to apply
              type: array
              items:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                      - blur
                      - canny
                      - depth
                      - depth_tensorrt
                      - external
                      - feedback
                      - hed
                      - lineart
                      - mediapipe_pose
                      - mediapipe_segmentation
                      - openpose
                      - passthrough
                      - pose_tensorrt
                      - realesrgan_trt
                      - sharpen
                      - soft_edge
                      - standard_lineart
                      - temporal_net_tensorrt
                      - upscale
                  enabled:
                    description: Whether this processor is active
                    type: boolean
                  params:
                    type: object
                    additionalProperties: {}
                required:
                  - type
          required:
            - processors
        image_postprocessing:
          description: |-
            List of image postprocessor configurations for image processing
                  ⚠️ NOTE: realesrgan_trt processor requires a restart to change because it affects resolution.
                  
          type: object
          properties:
            enabled:
              description: Whether this processor config is active
              type: boolean
            processors:
              description: List of image processors to apply
              type: array
              items:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                      - blur
                      - canny
                      - depth
                      - depth_tensorrt
                      - external
                      - feedback
                      - hed
                      - lineart
                      - mediapipe_pose
                      - mediapipe_segmentation
                      - openpose
                      - passthrough
                      - pose_tensorrt
                      - realesrgan_trt
                      - sharpen
                      - soft_edge
                      - standard_lineart
                      - temporal_net_tensorrt
                      - upscale
                  enabled:
                    description: Whether this processor is active
                    type: boolean
                  params:
                    type: object
                    additionalProperties: {}
                required:
                  - type
          required:
            - processors
        latent_preprocessing:
          description: List of latent preprocessor configurations for latent processing
          type: object
          properties:
            enabled:
              description: Whether this processor config is active
              type: boolean
            processors:
              description: List of latent processors to apply
              type: array
              items:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                      - latent_feedback
                  enabled:
                    description: Whether this processor is active
                    type: boolean
                  params:
                    type: object
                    additionalProperties: {}
                required:
                  - type
          required:
            - processors
        latent_postprocessing:
          description: List of latent postprocessor configurations for latent processing
          type: object
          properties:
            enabled:
              description: Whether this processor config is active
              type: boolean
            processors:
              description: List of latent processors to apply
              type: array
              items:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                      - latent_feedback
                  enabled:
                    description: Whether this processor is active
                    type: boolean
                  params:
                    type: object
                    additionalProperties: {}
                required:
                  - type
          required:
            - processors
        controlnets:
          description: >-
            List of ControlNet configurations for guided generation. Each
            ControlNet provides different types of conditioning (pose, edges,
            depth, etc.). Dynamic updates limited to conditioning_scale changes
            only; cannot add new ControlNets or change
            model_id/preprocessor/params without reload.
          type: array
          items:
            type: object
            properties:
              model_id:
                description: >-
                  ⚠️ NOTE: ControlNet model_ids must be unique. Additionally,
                  they must be compatible with the selected base model.
                type: string
                enum:
                  - lllyasviel/control_v11f1p_sd15_depth
                  - lllyasviel/control_v11f1e_sd15_tile
                  - lllyasviel/control_v11p_sd15_canny
                  - daydreamlive/TemporalNet2-stable-diffusion-v1-5
              conditioning_scale:
                description: >-
                  Strength of the ControlNet's influence on generation. Higher
                  values make the model follow the control signal more strictly.
                  Typical range 0.0-1.0, where 0.0 disables the control and 1.0
                  applies full control. Default: 1.0
                type: number
                minimum: 0
                maximum: 1
              preprocessor:
                description: >-
                  Preprocessor to apply to input frames before feeding to the
                  ControlNet. Must be one of the supported preprocessors.
                type: string
                enum:
                  - blur
                  - canny
                  - depth
                  - depth_tensorrt
                  - external
                  - feedback
                  - hed
                  - lineart
                  - mediapipe_pose
                  - mediapipe_segmentation
                  - openpose
                  - passthrough
                  - pose_tensorrt
                  - realesrgan_trt
                  - sharpen
                  - soft_edge
                  - standard_lineart
                  - temporal_net_tensorrt
                  - upscale
              preprocessor_params:
                description: Preprocessor parameters
                type: object
                additionalProperties: {}
              enabled:
                description: >-
                  Whether this ControlNet is active. Disabled ControlNets are
                  not loaded. Default: true
                type: boolean
              control_guidance_start:
                description: >-
                  Fraction of the denoising process (0.0-1.0) when ControlNet
                  guidance begins. 0.0 means guidance starts from the beginning.
                type: number
                minimum: 0
                maximum: 1
              control_guidance_end:
                description: >-
                  Fraction of the denoising process (0.0-1.0) when ControlNet
                  guidance ends. 1.0 means guidance continues until the end.
                type: number
                minimum: 0
                maximum: 1
            required:
              - model_id
              - conditioning_scale
              - preprocessor
              - enabled
        ip_adapter:
          description: >-
            IP adapter — Turns on IP-Adapter style conditioning and is fully
            hot-swappable. Available for SDXL, SDXL-faceid, SD1.5
          type: object
          properties:
            type:
              description: >-
                Type of IP adapter. Use 'faceid' for SDXL-faceid models,
                'regular' for others
              default: regular
              type: string
              enum:
                - regular
            enabled:
              description: Whether IP adapter is enabled
              type: boolean
            scale:
              description: Strength of IP adapter style conditioning
              type: number
            weight_type:
              description: >-
                Weight interpolation method for IP adapter style conditioning.
                Controls how the style influence changes throughout the
                generation process.
              type: string
              enum:
                - linear
                - ease in
                - ease out
                - ease in-out
                - reverse in-out
                - weak input
                - weak output
                - weak middle
                - strong middle
                - style transfer
                - composition
                - strong style transfer
                - style and composition
                - style transfer precise
                - composition precise
        ip_adapter_style_image_url:
          description: >-
            HTTPS URL or base64-encoded data URI (data:image/[type];base64,...)
            of the style image to use. Base64 images are automatically cached
            and uploaded to storage with content-based deduplication. Maximum
            size: 5MB. When set, the runtime downloads the image and configures
            the pipeline; if omitted, a default style image is used. For
            'faceid' type, the image must contain a clear face. Available for
            SDXL, SDXL-faceid, SD1.5
          type: string
        cached_attention:
          description: >-
            Cached attention (StreamV2V) configuration. Enable cached attention
            to reuse key/value tensors across frames. ⚠️ NOTE: Enabling or
            disabling cached_attention requires a pipeline reload as it uses a
            different pipeline.
          type: object
          properties:
            enabled:
              description: >-
                Whether this cached attention is active. Enable cached attention
                to reuse key/value tensors across frames.
              type: boolean
            max_frames:
              description: >-
                Number of frames retained in the attention cache. Number of
                historical K/V frames to retain. Limited by TensorRT engine
                exports.
              type: integer
              minimum: 1
              maximum: 4
            interval:
              description: >-
                Cadence (number of frames) for refreshing cached key/value
                tensors i.e How often (in number of frames) to refresh the
                cache.
                      It is now **frame-based** (not seconds). It accepts integers 1-240, representing how many frames elapse between cache refreshes.
                      
              type: integer
              minimum: 1
              maximum: 240
          required:
            - enabled
            - max_frames
            - interval
      required:
        - model_id
    SDTurbo_5:
      title: SDTurbo
      type: object
      properties:
        model_id:
          type: string
          enum:
            - stabilityai/sd-turbo
        prompt:
          description: >-
            Text prompt describing the desired image. Can be a single string or
            weighted list of (prompt, weight) tuples.
          anyOf:
            - type: string
            - type: array
              items:
                type: array
                prefixItems:
                  - type: string
                    minLength: 1
                  - type: number
        prompt_interpolation_method:
          description: >-
            Method for interpolating between multiple prompts. Slerp provides
            smoother transitions than linear.
          type: string
          enum:
            - linear
            - slerp
        normalize_prompt_weights:
          description: >-
            Whether to normalize prompt weights to sum to 1.0 for consistent
            generation.
          type: boolean
        normalize_seed_weights:
          description: >-
            Whether to normalize seed weights to sum to 1.0 for consistent
            generation.
          type: boolean
        negative_prompt:
          description: Text describing what to avoid in the generated image.
          type: string
        guidance_scale:
          description: >-
            Strength of prompt adherence. Higher values make the model follow
            the prompt more strictly.
          type: number
        delta:
          description: >-
            Delta sets per-frame denoising progress: lower delta means steadier,
            less flicker but slower/softer; higher delta means faster, sharper
            but more flicker/artifacts (often reduce CFG).
          type: number
        num_inference_steps:
          description: >-
            Builds the full denoising schedule (the 'grid' of possible
            refinement steps). Changing it changes what each step number
            (t_index_list value) means. Keep it fixed for a session and only
            adjust if you're deliberately redefining the schedule; if you do,
            proportionally remap your t_index_list. Typical range 10-100 with
            default being 50.
          type: integer
          minimum: 1
          maximum: 100
        t_index_list:
          description: >-
            The ordered list of step indices from the num_inference_steps
            schedule to execute per frame. Each index is one model pass, so
            latency scales with the list length. Higher indices (e.g., 40–49 on
            a 50-step grid) mainly polish and preserve structure (lower
            flicker), while lower indices (<20) rewrite structure (more flicker,
            creative). Values must be non-decreasing, and each between 0 and
            num_inference_steps.


            ⚠️ NOTE: t_index_list must have 1–4 elements, non-decreasing, and
            within [0, num_inference_steps]. The value should not go above 50.
          minItems: 1
          maxItems: 4
          type: array
          items:
            type: integer
            minimum: -9007199254740991
            maximum: 9007199254740991
        use_safety_checker:
          description: Whether to use safety checker for content filtering
          type: boolean
        width:
          description: >-
            Output image width in pixels. Must be divisible by 64 and between
            384-1024.
          type: integer
          minimum: 384
          maximum: 1024
        height:
          description: >-
            Output image height in pixels. Must be divisible by 64 and between
            384-1024.
          type: integer
          minimum: 384
          maximum: 1024
        lora_dict:
          description: >-
            Dictionary mapping LoRA model paths to their weights for fine-tuning
            the base model.
          type: object
          nullable: true
        use_lcm_lora:
          description: Whether to use Latent Consistency Model LoRA for faster inference.
          type: boolean
        lcm_lora_id:
          description: >-
            Identifier for the LCM LoRA model to use. Example:
            "latent-consistency/lcm-lora-sdv1-5"
          type: string
        acceleration:
          description: >-
            Acceleration method for inference. Options: "none", "xformers",
            "tensorrt". TensorRT provides the best performance but requires
            engine compilation.
          type: string
          enum:
            - none
            - xformers
            - tensorrt
        use_denoising_batch:
          description: >-
            Whether to process multiple denoising steps in a single batch for
            efficiency.
          type: boolean
        do_add_noise:
          description: >-
            Whether to add noise to input frames before processing. Enabling
            this slightly re-noises each frame to improve temporal stability,
            reduce ghosting/texture sticking, and prevent drift; disabling can
            yield sharper, lower-latency results but may increase flicker and
            artifact accumulation over time.
          type: boolean
        seed:
          description: >-
            Random seed for generation. Can be a single integer or weighted list
            of (seed, weight) tuples.
          anyOf:
            - type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
            - type: array
              items:
                type: array
                prefixItems:
                  - type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                  - type: number
        seed_interpolation_method:
          description: >-
            Method for interpolating between multiple seeds. Slerp provides
            smoother transitions than linear.
          type: string
          enum:
            - linear
            - slerp
        enable_similar_image_filter:
          description: >-
            Whether to skip frames that are too similar to the previous output
            to reduce flicker.
          type: boolean
        similar_image_filter_threshold:
          description: >-
            Similarity threshold for the image filter. Higher values allow more
            variation between frames.
          type: number
          minimum: 0
          maximum: 1
        similar_image_filter_max_skip_frame:
          description: >-
            Maximum number of consecutive frames that can be skipped by the
            similarity filter.
          type: integer
          minimum: 0
          maximum: 9007199254740991
        skip_diffusion:
          description: >-
            Whether to skip the diffusion process. Any ControlNets or
            diffusion-only parameters are ignored when enabled.
                    Example use cases:
                    - Stream the output of a preprocessor (e.g. live depth maps or pose skeletons),
                    - Run post-processors like RealESRGAN upscaler on externally provided frames,
                    - Warm a pipeline without paying the diffusion cost.
                  ⚠️ NOTE: skip_diffusion is evaluated at pipeline creation time; switching mid-stream triggers a pipeline reload.
                  
          type: boolean
        image_preprocessing:
          description: List of image preprocessor configurations for image processing
          type: object
          properties:
            enabled:
              description: Whether this processor config is active
              type: boolean
            processors:
              description: List of image processors to apply
              type: array
              items:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                      - blur
                      - canny
                      - depth
                      - depth_tensorrt
                      - external
                      - feedback
                      - hed
                      - lineart
                      - mediapipe_pose
                      - mediapipe_segmentation
                      - openpose
                      - passthrough
                      - pose_tensorrt
                      - realesrgan_trt
                      - sharpen
                      - soft_edge
                      - standard_lineart
                      - temporal_net_tensorrt
                      - upscale
                  enabled:
                    description: Whether this processor is active
                    type: boolean
                  params:
                    type: object
                    additionalProperties: {}
                required:
                  - type
                additionalProperties: false
          required:
            - processors
          additionalProperties: false
        image_postprocessing:
          description: |-
            List of image postprocessor configurations for image processing
                  ⚠️ NOTE: realesrgan_trt processor requires a restart to change because it affects resolution.
                  
          type: object
          properties:
            enabled:
              description: Whether this processor config is active
              type: boolean
            processors:
              description: List of image processors to apply
              type: array
              items:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                      - blur
                      - canny
                      - depth
                      - depth_tensorrt
                      - external
                      - feedback
                      - hed
                      - lineart
                      - mediapipe_pose
                      - mediapipe_segmentation
                      - openpose
                      - passthrough
                      - pose_tensorrt
                      - realesrgan_trt
                      - sharpen
                      - soft_edge
                      - standard_lineart
                      - temporal_net_tensorrt
                      - upscale
                  enabled:
                    description: Whether this processor is active
                    type: boolean
                  params:
                    type: object
                    additionalProperties: {}
                required:
                  - type
                additionalProperties: false
          required:
            - processors
          additionalProperties: false
        latent_preprocessing:
          description: List of latent preprocessor configurations for latent processing
          type: object
          properties:
            enabled:
              description: Whether this processor config is active
              type: boolean
            processors:
              description: List of latent processors to apply
              type: array
              items:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                      - latent_feedback
                  enabled:
                    description: Whether this processor is active
                    type: boolean
                  params:
                    type: object
                    additionalProperties: {}
                required:
                  - type
                additionalProperties: false
          required:
            - processors
          additionalProperties: false
        latent_postprocessing:
          description: List of latent postprocessor configurations for latent processing
          type: object
          properties:
            enabled:
              description: Whether this processor config is active
              type: boolean
            processors:
              description: List of latent processors to apply
              type: array
              items:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                      - latent_feedback
                  enabled:
                    description: Whether this processor is active
                    type: boolean
                  params:
                    type: object
                    additionalProperties: {}
                required:
                  - type
                additionalProperties: false
          required:
            - processors
          additionalProperties: false
        controlnets:
          description: >-
            List of ControlNet configurations for guided generation. Each
            ControlNet provides different types of conditioning (pose, edges,
            depth, etc.). Dynamic updates limited to conditioning_scale changes
            only; cannot add new ControlNets or change
            model_id/preprocessor/params without reload.
          type: array
          items:
            type: object
            properties:
              model_id:
                description: >-
                  ⚠️ NOTE: ControlNet model_ids must be unique. Additionally,
                  they must be compatible with the selected base model.
                type: string
                enum:
                  - thibaud/controlnet-sd21-openpose-diffusers
                  - thibaud/controlnet-sd21-hed-diffusers
                  - thibaud/controlnet-sd21-canny-diffusers
                  - thibaud/controlnet-sd21-depth-diffusers
                  - thibaud/controlnet-sd21-color-diffusers
                  - daydreamlive/TemporalNet2-stable-diffusion-2-1
              conditioning_scale:
                description: >-
                  Strength of the ControlNet's influence on generation. Higher
                  values make the model follow the control signal more strictly.
                  Typical range 0.0-1.0, where 0.0 disables the control and 1.0
                  applies full control. Default: 1.0
                type: number
                minimum: 0
                maximum: 1
              preprocessor:
                description: >-
                  Preprocessor to apply to input frames before feeding to the
                  ControlNet. Must be one of the supported preprocessors.
                type: string
                enum:
                  - blur
                  - canny
                  - depth
                  - depth_tensorrt
                  - external
                  - feedback
                  - hed
                  - lineart
                  - mediapipe_pose
                  - mediapipe_segmentation
                  - openpose
                  - passthrough
                  - pose_tensorrt
                  - realesrgan_trt
                  - sharpen
                  - soft_edge
                  - standard_lineart
                  - temporal_net_tensorrt
                  - upscale
              preprocessor_params:
                description: >-
                  Additional parameters for the preprocessor. For example, canny
                  edge detection uses 'low_threshold' and 'high_threshold'
                  values.
                type: object
                additionalProperties: {}
              enabled:
                description: >-
                  Whether this ControlNet is active. Disabled ControlNets are
                  not loaded. Default: true
                type: boolean
              control_guidance_start:
                description: >-
                  Fraction of the denoising process (0.0-1.0) when ControlNet
                  guidance begins. 0.0 means guidance starts from the beginning.
                type: number
                minimum: 0
                maximum: 1
              control_guidance_end:
                description: >-
                  Fraction of the denoising process (0.0-1.0) when ControlNet
                  guidance ends. 1.0 means guidance continues until the end.
                type: number
                minimum: 0
                maximum: 1
            required:
              - model_id
              - conditioning_scale
              - preprocessor
              - enabled
            additionalProperties: false
      required:
        - model_id
      additionalProperties: false
    SDXL_5:
      title: SDXL
      type: object
      properties:
        model_id:
          type: string
          enum:
            - stabilityai/sdxl-turbo
        prompt:
          description: >-
            Text prompt describing the desired image. Can be a single string or
            weighted list of (prompt, weight) tuples.
          anyOf:
            - type: string
            - type: array
              items:
                type: array
                prefixItems:
                  - type: string
                    minLength: 1
                  - type: number
        prompt_interpolation_method:
          description: >-
            Method for interpolating between multiple prompts. Slerp provides
            smoother transitions than linear.
          type: string
          enum:
            - linear
            - slerp
        normalize_prompt_weights:
          description: >-
            Whether to normalize prompt weights to sum to 1.0 for consistent
            generation.
          type: boolean
        normalize_seed_weights:
          description: >-
            Whether to normalize seed weights to sum to 1.0 for consistent
            generation.
          type: boolean
        negative_prompt:
          description: Text describing what to avoid in the generated image.
          type: string
        guidance_scale:
          description: >-
            Strength of prompt adherence. Higher values make the model follow
            the prompt more strictly.
          type: number
        delta:
          description: >-
            Delta sets per-frame denoising progress: lower delta means steadier,
            less flicker but slower/softer; higher delta means faster, sharper
            but more flicker/artifacts (often reduce CFG).
          type: number
        num_inference_steps:
          description: >-
            Builds the full denoising schedule (the 'grid' of possible
            refinement steps). Changing it changes what each step number
            (t_index_list value) means. Keep it fixed for a session and only
            adjust if you're deliberately redefining the schedule; if you do,
            proportionally remap your t_index_list. Typical range 10-100 with
            default being 50.
          type: integer
          minimum: 1
          maximum: 100
        t_index_list:
          description: >-
            The ordered list of step indices from the num_inference_steps
            schedule to execute per frame. Each index is one model pass, so
            latency scales with the list length. Higher indices (e.g., 40–49 on
            a 50-step grid) mainly polish and preserve structure (lower
            flicker), while lower indices (<20) rewrite structure (more flicker,
            creative). Values must be non-decreasing, and each between 0 and
            num_inference_steps.


            ⚠️ NOTE: t_index_list must have 1–4 elements, non-decreasing, and
            within [0, num_inference_steps]. The value should not go above 50.
          minItems: 1
          maxItems: 4
          type: array
          items:
            type: integer
            minimum: -9007199254740991
            maximum: 9007199254740991
        use_safety_checker:
          description: Whether to use safety checker for content filtering
          type: boolean
        width:
          description: >-
            Output image width in pixels. Must be divisible by 64 and between
            384-1024.
          type: integer
          minimum: 384
          maximum: 1024
        height:
          description: >-
            Output image height in pixels. Must be divisible by 64 and between
            384-1024.
          type: integer
          minimum: 384
          maximum: 1024
        lora_dict:
          description: >-
            Dictionary mapping LoRA model paths to their weights for fine-tuning
            the base model.
          type: object
          nullable: true
        use_lcm_lora:
          description: Whether to use Latent Consistency Model LoRA for faster inference.
          type: boolean
        lcm_lora_id:
          description: >-
            Identifier for the LCM LoRA model to use. Example:
            "latent-consistency/lcm-lora-sdv1-5"
          type: string
        acceleration:
          description: >-
            Acceleration method for inference. Options: "none", "xformers",
            "tensorrt". TensorRT provides the best performance but requires
            engine compilation.
          type: string
          enum:
            - none
            - xformers
            - tensorrt
        use_denoising_batch:
          description: >-
            Whether to process multiple denoising steps in a single batch for
            efficiency.
          type: boolean
        do_add_noise:
          description: >-
            Whether to add noise to input frames before processing. Enabling
            this slightly re-noises each frame to improve temporal stability,
            reduce ghosting/texture sticking, and prevent drift; disabling can
            yield sharper, lower-latency results but may increase flicker and
            artifact accumulation over time.
          type: boolean
        seed:
          description: >-
            Random seed for generation. Can be a single integer or weighted list
            of (seed, weight) tuples.
          anyOf:
            - type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
            - type: array
              items:
                type: array
                prefixItems:
                  - type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                  - type: number
        seed_interpolation_method:
          description: >-
            Method for interpolating between multiple seeds. Slerp provides
            smoother transitions than linear.
          type: string
          enum:
            - linear
            - slerp
        enable_similar_image_filter:
          description: >-
            Whether to skip frames that are too similar to the previous output
            to reduce flicker.
          type: boolean
        similar_image_filter_threshold:
          description: >-
            Similarity threshold for the image filter. Higher values allow more
            variation between frames.
          type: number
          minimum: 0
          maximum: 1
        similar_image_filter_max_skip_frame:
          description: >-
            Maximum number of consecutive frames that can be skipped by the
            similarity filter.
          type: integer
          minimum: 0
          maximum: 9007199254740991
        skip_diffusion:
          description: >-
            Whether to skip the diffusion process. Any ControlNets or
            diffusion-only parameters are ignored when enabled.
                    Example use cases:
                    - Stream the output of a preprocessor (e.g. live depth maps or pose skeletons),
                    - Run post-processors like RealESRGAN upscaler on externally provided frames,
                    - Warm a pipeline without paying the diffusion cost.
                  ⚠️ NOTE: skip_diffusion is evaluated at pipeline creation time; switching mid-stream triggers a pipeline reload.
                  
          type: boolean
        image_preprocessing:
          description: List of image preprocessor configurations for image processing
          type: object
          properties:
            enabled:
              description: Whether this processor config is active
              type: boolean
            processors:
              description: List of image processors to apply
              type: array
              items:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                      - blur
                      - canny
                      - depth
                      - depth_tensorrt
                      - external
                      - feedback
                      - hed
                      - lineart
                      - mediapipe_pose
                      - mediapipe_segmentation
                      - openpose
                      - passthrough
                      - pose_tensorrt
                      - realesrgan_trt
                      - sharpen
                      - soft_edge
                      - standard_lineart
                      - temporal_net_tensorrt
                      - upscale
                  enabled:
                    description: Whether this processor is active
                    type: boolean
                  params:
                    type: object
                    additionalProperties: {}
                required:
                  - type
                additionalProperties: false
          required:
            - processors
          additionalProperties: false
        image_postprocessing:
          description: |-
            List of image postprocessor configurations for image processing
                  ⚠️ NOTE: realesrgan_trt processor requires a restart to change because it affects resolution.
                  
          type: object
          properties:
            enabled:
              description: Whether this processor config is active
              type: boolean
            processors:
              description: List of image processors to apply
              type: array
              items:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                      - blur
                      - canny
                      - depth
                      - depth_tensorrt
                      - external
                      - feedback
                      - hed
                      - lineart
                      - mediapipe_pose
                      - mediapipe_segmentation
                      - openpose
                      - passthrough
                      - pose_tensorrt
                      - realesrgan_trt
                      - sharpen
                      - soft_edge
                      - standard_lineart
                      - temporal_net_tensorrt
                      - upscale
                  enabled:
                    description: Whether this processor is active
                    type: boolean
                  params:
                    type: object
                    additionalProperties: {}
                required:
                  - type
                additionalProperties: false
          required:
            - processors
          additionalProperties: false
        latent_preprocessing:
          description: List of latent preprocessor configurations for latent processing
          type: object
          properties:
            enabled:
              description: Whether this processor config is active
              type: boolean
            processors:
              description: List of latent processors to apply
              type: array
              items:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                      - latent_feedback
                  enabled:
                    description: Whether this processor is active
                    type: boolean
                  params:
                    type: object
                    additionalProperties: {}
                required:
                  - type
                additionalProperties: false
          required:
            - processors
          additionalProperties: false
        latent_postprocessing:
          description: List of latent postprocessor configurations for latent processing
          type: object
          properties:
            enabled:
              description: Whether this processor config is active
              type: boolean
            processors:
              description: List of latent processors to apply
              type: array
              items:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                      - latent_feedback
                  enabled:
                    description: Whether this processor is active
                    type: boolean
                  params:
                    type: object
                    additionalProperties: {}
                required:
                  - type
                additionalProperties: false
          required:
            - processors
          additionalProperties: false
        controlnets:
          description: >-
            List of ControlNet configurations for guided generation. Each
            ControlNet provides different types of conditioning (pose, edges,
            depth, etc.). Dynamic updates limited to conditioning_scale changes
            only; cannot add new ControlNets or change
            model_id/preprocessor/params without reload.
          type: array
          items:
            type: object
            properties:
              model_id:
                description: >-
                  ⚠️ NOTE: ControlNet model_ids must be unique. Additionally,
                  they must be compatible with the selected base model.
                type: string
                enum:
                  - xinsir/controlnet-depth-sdxl-1.0
                  - xinsir/controlnet-canny-sdxl-1.0
                  - xinsir/controlnet-tile-sdxl-1.0
              conditioning_scale:
                description: >-
                  Strength of the ControlNet's influence on generation. Higher
                  values make the model follow the control signal more strictly.
                  Typical range 0.0-1.0, where 0.0 disables the control and 1.0
                  applies full control. Default: 1.0
                type: number
                minimum: 0
                maximum: 1
              preprocessor:
                description: >-
                  Preprocessor to apply to input frames before feeding to the
                  ControlNet. Must be one of the supported preprocessors.
                type: string
                enum:
                  - blur
                  - canny
                  - depth
                  - depth_tensorrt
                  - external
                  - feedback
                  - hed
                  - lineart
                  - mediapipe_pose
                  - mediapipe_segmentation
                  - openpose
                  - passthrough
                  - pose_tensorrt
                  - realesrgan_trt
                  - sharpen
                  - soft_edge
                  - standard_lineart
                  - temporal_net_tensorrt
                  - upscale
              preprocessor_params:
                description: Preprocessor parameters
                type: object
                additionalProperties: {}
              enabled:
                description: >-
                  Whether this ControlNet is active. Disabled ControlNets are
                  not loaded. Default: true
                type: boolean
              control_guidance_start:
                description: >-
                  Fraction of the denoising process (0.0-1.0) when ControlNet
                  guidance begins. 0.0 means guidance starts from the beginning.
                type: number
                minimum: 0
                maximum: 1
              control_guidance_end:
                description: >-
                  Fraction of the denoising process (0.0-1.0) when ControlNet
                  guidance ends. 1.0 means guidance continues until the end.
                type: number
                minimum: 0
                maximum: 1
            required:
              - model_id
              - conditioning_scale
              - preprocessor
              - enabled
            additionalProperties: false
        ip_adapter:
          description: >-
            IP adapter — Turns on IP-Adapter style conditioning and is fully
            hot-swappable. Available for SDXL, SDXL-faceid, SD1.5
          type: object
          properties:
            type:
              description: >-
                Type of IP adapter. Use 'faceid' for SDXL-faceid models,
                'regular' for others
              default: regular
              type: string
              enum:
                - regular
                - faceid
            enabled:
              description: Whether IP adapter is enabled
              type: boolean
            scale:
              description: Strength of IP adapter style conditioning
              type: number
            weight_type:
              description: >-
                Weight interpolation method for IP adapter style conditioning.
                Controls how the style influence changes throughout the
                generation process.
              type: string
              enum:
                - linear
                - ease in
                - ease out
                - ease in-out
                - reverse in-out
                - weak input
                - weak output
                - weak middle
                - strong middle
                - style transfer
                - composition
                - strong style transfer
                - style and composition
                - style transfer precise
                - composition precise
          required:
            - type
          additionalProperties: false
        ip_adapter_style_image_url:
          description: >-
            HTTPS URL or base64-encoded data URI (data:image/[type];base64,...)
            of the style image to use. Base64 images are automatically cached
            and uploaded to storage with content-based deduplication. Maximum
            size: 5MB. When set, the runtime downloads the image and configures
            the pipeline; if omitted, a default style image is used. For
            'faceid' type, the image must contain a clear face. Available for
            SDXL, SDXL-faceid, SD1.5
          type: string
        cached_attention:
          description: >-
            Cached attention (StreamV2V) configuration. Enable cached attention
            to reuse key/value tensors across frames. ⚠️ NOTE: Enabling or
            disabling cached_attention requires a pipeline reload as it uses a
            different pipeline.
          type: object
          properties:
            enabled:
              description: >-
                Whether this cached attention is active. Enable cached attention
                to reuse key/value tensors across frames.
              type: boolean
            max_frames:
              description: >-
                Number of frames retained in the attention cache. Number of
                historical K/V frames to retain. Limited by TensorRT engine
                exports.
              type: integer
              minimum: 1
              maximum: 4
            interval:
              description: >-
                Cadence (number of frames) for refreshing cached key/value
                tensors i.e How often (in number of frames) to refresh the
                cache.
                      It is now **frame-based** (not seconds). It accepts integers 1-240, representing how many frames elapse between cache refreshes.
                      
              type: integer
              minimum: 1
              maximum: 240
          required:
            - enabled
            - max_frames
            - interval
          additionalProperties: false
      required:
        - model_id
      additionalProperties: false
    SD1.5_5:
      title: SD1.5
      type: object
      properties:
        model_id:
          description: Model to use for generation
          type: string
          enum:
            - Lykon/dreamshaper-8
            - prompthero/openjourney-v4
        prompt:
          description: >-
            Text prompt describing the desired image. Can be a single string or
            weighted list of (prompt, weight) tuples.
          anyOf:
            - type: string
            - type: array
              items:
                type: array
                prefixItems:
                  - type: string
                    minLength: 1
                  - type: number
        prompt_interpolation_method:
          description: >-
            Method for interpolating between multiple prompts. Slerp provides
            smoother transitions than linear.
          type: string
          enum:
            - linear
            - slerp
        normalize_prompt_weights:
          description: >-
            Whether to normalize prompt weights to sum to 1.0 for consistent
            generation.
          type: boolean
        normalize_seed_weights:
          description: >-
            Whether to normalize seed weights to sum to 1.0 for consistent
            generation.
          type: boolean
        negative_prompt:
          description: Text describing what to avoid in the generated image.
          type: string
        guidance_scale:
          description: >-
            Strength of prompt adherence. Higher values make the model follow
            the prompt more strictly.
          type: number
        delta:
          description: >-
            Delta sets per-frame denoising progress: lower delta means steadier,
            less flicker but slower/softer; higher delta means faster, sharper
            but more flicker/artifacts (often reduce CFG).
          type: number
        num_inference_steps:
          description: >-
            Builds the full denoising schedule (the 'grid' of possible
            refinement steps). Changing it changes what each step number
            (t_index_list value) means. Keep it fixed for a session and only
            adjust if you're deliberately redefining the schedule; if you do,
            proportionally remap your t_index_list. Typical range 10-100 with
            default being 50.
          type: integer
          minimum: 1
          maximum: 100
        t_index_list:
          description: >-
            The ordered list of step indices from the num_inference_steps
            schedule to execute per frame. Each index is one model pass, so
            latency scales with the list length. Higher indices (e.g., 40–49 on
            a 50-step grid) mainly polish and preserve structure (lower
            flicker), while lower indices (<20) rewrite structure (more flicker,
            creative). Values must be non-decreasing, and each between 0 and
            num_inference_steps.


            ⚠️ NOTE: t_index_list must have 1–4 elements, non-decreasing, and
            within [0, num_inference_steps]. The value should not go above 50.
          minItems: 1
          maxItems: 4
          type: array
          items:
            type: integer
            minimum: -9007199254740991
            maximum: 9007199254740991
        use_safety_checker:
          description: Whether to use safety checker for content filtering
          type: boolean
        width:
          description: >-
            Output image width in pixels. Must be divisible by 64 and between
            384-1024.
          type: integer
          minimum: 384
          maximum: 1024
        height:
          description: >-
            Output image height in pixels. Must be divisible by 64 and between
            384-1024.
          type: integer
          minimum: 384
          maximum: 1024
        lora_dict:
          description: >-
            Dictionary mapping LoRA model paths to their weights for fine-tuning
            the base model.
          type: object
          nullable: true
        use_lcm_lora:
          description: Whether to use Latent Consistency Model LoRA for faster inference.
          type: boolean
        lcm_lora_id:
          description: >-
            Identifier for the LCM LoRA model to use. Example:
            "latent-consistency/lcm-lora-sdv1-5"
          type: string
        acceleration:
          description: >-
            Acceleration method for inference. Options: "none", "xformers",
            "tensorrt". TensorRT provides the best performance but requires
            engine compilation.
          type: string
          enum:
            - none
            - xformers
            - tensorrt
        use_denoising_batch:
          description: >-
            Whether to process multiple denoising steps in a single batch for
            efficiency.
          type: boolean
        do_add_noise:
          description: >-
            Whether to add noise to input frames before processing. Enabling
            this slightly re-noises each frame to improve temporal stability,
            reduce ghosting/texture sticking, and prevent drift; disabling can
            yield sharper, lower-latency results but may increase flicker and
            artifact accumulation over time.
          type: boolean
        seed:
          description: >-
            Random seed for generation. Can be a single integer or weighted list
            of (seed, weight) tuples.
          anyOf:
            - type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
            - type: array
              items:
                type: array
                prefixItems:
                  - type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                  - type: number
        seed_interpolation_method:
          description: >-
            Method for interpolating between multiple seeds. Slerp provides
            smoother transitions than linear.
          type: string
          enum:
            - linear
            - slerp
        enable_similar_image_filter:
          description: >-
            Whether to skip frames that are too similar to the previous output
            to reduce flicker.
          type: boolean
        similar_image_filter_threshold:
          description: >-
            Similarity threshold for the image filter. Higher values allow more
            variation between frames.
          type: number
          minimum: 0
          maximum: 1
        similar_image_filter_max_skip_frame:
          description: >-
            Maximum number of consecutive frames that can be skipped by the
            similarity filter.
          type: integer
          minimum: 0
          maximum: 9007199254740991
        skip_diffusion:
          description: >-
            Whether to skip the diffusion process. Any ControlNets or
            diffusion-only parameters are ignored when enabled.
                    Example use cases:
                    - Stream the output of a preprocessor (e.g. live depth maps or pose skeletons),
                    - Run post-processors like RealESRGAN upscaler on externally provided frames,
                    - Warm a pipeline without paying the diffusion cost.
                  ⚠️ NOTE: skip_diffusion is evaluated at pipeline creation time; switching mid-stream triggers a pipeline reload.
                  
          type: boolean
        image_preprocessing:
          description: List of image preprocessor configurations for image processing
          type: object
          properties:
            enabled:
              description: Whether this processor config is active
              type: boolean
            processors:
              description: List of image processors to apply
              type: array
              items:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                      - blur
                      - canny
                      - depth
                      - depth_tensorrt
                      - external
                      - feedback
                      - hed
                      - lineart
                      - mediapipe_pose
                      - mediapipe_segmentation
                      - openpose
                      - passthrough
                      - pose_tensorrt
                      - realesrgan_trt
                      - sharpen
                      - soft_edge
                      - standard_lineart
                      - temporal_net_tensorrt
                      - upscale
                  enabled:
                    description: Whether this processor is active
                    type: boolean
                  params:
                    type: object
                    additionalProperties: {}
                required:
                  - type
                additionalProperties: false
          required:
            - processors
          additionalProperties: false
        image_postprocessing:
          description: |-
            List of image postprocessor configurations for image processing
                  ⚠️ NOTE: realesrgan_trt processor requires a restart to change because it affects resolution.
                  
          type: object
          properties:
            enabled:
              description: Whether this processor config is active
              type: boolean
            processors:
              description: List of image processors to apply
              type: array
              items:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                      - blur
                      - canny
                      - depth
                      - depth_tensorrt
                      - external
                      - feedback
                      - hed
                      - lineart
                      - mediapipe_pose
                      - mediapipe_segmentation
                      - openpose
                      - passthrough
                      - pose_tensorrt
                      - realesrgan_trt
                      - sharpen
                      - soft_edge
                      - standard_lineart
                      - temporal_net_tensorrt
                      - upscale
                  enabled:
                    description: Whether this processor is active
                    type: boolean
                  params:
                    type: object
                    additionalProperties: {}
                required:
                  - type
                additionalProperties: false
          required:
            - processors
          additionalProperties: false
        latent_preprocessing:
          description: List of latent preprocessor configurations for latent processing
          type: object
          properties:
            enabled:
              description: Whether this processor config is active
              type: boolean
            processors:
              description: List of latent processors to apply
              type: array
              items:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                      - latent_feedback
                  enabled:
                    description: Whether this processor is active
                    type: boolean
                  params:
                    type: object
                    additionalProperties: {}
                required:
                  - type
                additionalProperties: false
          required:
            - processors
          additionalProperties: false
        latent_postprocessing:
          description: List of latent postprocessor configurations for latent processing
          type: object
          properties:
            enabled:
              description: Whether this processor config is active
              type: boolean
            processors:
              description: List of latent processors to apply
              type: array
              items:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                      - latent_feedback
                  enabled:
                    description: Whether this processor is active
                    type: boolean
                  params:
                    type: object
                    additionalProperties: {}
                required:
                  - type
                additionalProperties: false
          required:
            - processors
          additionalProperties: false
        controlnets:
          description: >-
            List of ControlNet configurations for guided generation. Each
            ControlNet provides different types of conditioning (pose, edges,
            depth, etc.). Dynamic updates limited to conditioning_scale changes
            only; cannot add new ControlNets or change
            model_id/preprocessor/params without reload.
          type: array
          items:
            type: object
            properties:
              model_id:
                description: >-
                  ⚠️ NOTE: ControlNet model_ids must be unique. Additionally,
                  they must be compatible with the selected base model.
                type: string
                enum:
                  - lllyasviel/control_v11f1p_sd15_depth
                  - lllyasviel/control_v11f1e_sd15_tile
                  - lllyasviel/control_v11p_sd15_canny
                  - daydreamlive/TemporalNet2-stable-diffusion-v1-5
              conditioning_scale:
                description: >-
                  Strength of the ControlNet's influence on generation. Higher
                  values make the model follow the control signal more strictly.
                  Typical range 0.0-1.0, where 0.0 disables the control and 1.0
                  applies full control. Default: 1.0
                type: number
                minimum: 0
                maximum: 1
              preprocessor:
                description: >-
                  Preprocessor to apply to input frames before feeding to the
                  ControlNet. Must be one of the supported preprocessors.
                type: string
                enum:
                  - blur
                  - canny
                  - depth
                  - depth_tensorrt
                  - external
                  - feedback
                  - hed
                  - lineart
                  - mediapipe_pose
                  - mediapipe_segmentation
                  - openpose
                  - passthrough
                  - pose_tensorrt
                  - realesrgan_trt
                  - sharpen
                  - soft_edge
                  - standard_lineart
                  - temporal_net_tensorrt
                  - upscale
              preprocessor_params:
                description: Preprocessor parameters
                type: object
                additionalProperties: {}
              enabled:
                description: >-
                  Whether this ControlNet is active. Disabled ControlNets are
                  not loaded. Default: true
                type: boolean
              control_guidance_start:
                description: >-
                  Fraction of the denoising process (0.0-1.0) when ControlNet
                  guidance begins. 0.0 means guidance starts from the beginning.
                type: number
                minimum: 0
                maximum: 1
              control_guidance_end:
                description: >-
                  Fraction of the denoising process (0.0-1.0) when ControlNet
                  guidance ends. 1.0 means guidance continues until the end.
                type: number
                minimum: 0
                maximum: 1
            required:
              - model_id
              - conditioning_scale
              - preprocessor
              - enabled
            additionalProperties: false
        ip_adapter:
          description: >-
            IP adapter — Turns on IP-Adapter style conditioning and is fully
            hot-swappable. Available for SDXL, SDXL-faceid, SD1.5
          type: object
          properties:
            type:
              description: >-
                Type of IP adapter. Use 'faceid' for SDXL-faceid models,
                'regular' for others
              default: regular
              type: string
              enum:
                - regular
            enabled:
              description: Whether IP adapter is enabled
              type: boolean
            scale:
              description: Strength of IP adapter style conditioning
              type: number
            weight_type:
              description: >-
                Weight interpolation method for IP adapter style conditioning.
                Controls how the style influence changes throughout the
                generation process.
              type: string
              enum:
                - linear
                - ease in
                - ease out
                - ease in-out
                - reverse in-out
                - weak input
                - weak output
                - weak middle
                - strong middle
                - style transfer
                - composition
                - strong style transfer
                - style and composition
                - style transfer precise
                - composition precise
          required:
            - type
          additionalProperties: false
        ip_adapter_style_image_url:
          description: >-
            HTTPS URL or base64-encoded data URI (data:image/[type];base64,...)
            of the style image to use. Base64 images are automatically cached
            and uploaded to storage with content-based deduplication. Maximum
            size: 5MB. When set, the runtime downloads the image and configures
            the pipeline; if omitted, a default style image is used. For
            'faceid' type, the image must contain a clear face. Available for
            SDXL, SDXL-faceid, SD1.5
          type: string
        cached_attention:
          description: >-
            Cached attention (StreamV2V) configuration. Enable cached attention
            to reuse key/value tensors across frames. ⚠️ NOTE: Enabling or
            disabling cached_attention requires a pipeline reload as it uses a
            different pipeline.
          type: object
          properties:
            enabled:
              description: >-
                Whether this cached attention is active. Enable cached attention
                to reuse key/value tensors across frames.
              type: boolean
            max_frames:
              description: >-
                Number of frames retained in the attention cache. Number of
                historical K/V frames to retain. Limited by TensorRT engine
                exports.
              type: integer
              minimum: 1
              maximum: 4
            interval:
              description: >-
                Cadence (number of frames) for refreshing cached key/value
                tensors i.e How often (in number of frames) to refresh the
                cache.
                      It is now **frame-based** (not seconds). It accepts integers 1-240, representing how many frames elapse between cache refreshes.
                      
              type: integer
              minimum: 1
              maximum: 240
          required:
            - enabled
            - max_frames
            - interval
          additionalProperties: false
      required:
        - model_id
      additionalProperties: false
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT

````