Files
VrchStudio-comfyui-web-viewer/docs/text_nodes.md
T

5.3 KiB

Node: JSON URL Loader @ vrch.ai (vrch.ai/text)

  1. Add the JSON URL Loader @ vrch.ai node to your ComfyUI workflow.

  2. Configure the Node:

    • URL:
      • url: Provide the URL from which the node will load JSON content.
    • Optional Settings:
      • print_to_console: Toggle this option to print the loaded JSON to the console for debugging purposes.
  3. Load JSON:

    • The node sends a GET request to the specified URL with a 5-second timeout.
    • Upon success, it parses the response into a JSON object.
    • In case of a request failure or if the JSON is invalid, the node outputs an empty JSON object ({}).
    • If enabled, the node prints a formatted version of the JSON to the console for inspection.

Note:

  • Ensure that the URL is accessible and returns valid JSON data.

Node: TEXT Word Replacer @ vrch.ai (vrch.ai/text)

  1. Add the TEXT Word Replacer @ vrch.ai node to your ComfyUI workflow.

  2. Configure the Node:

    • Text:
      • text: Input text to transform.
    • Rules:
      • rules: One replacement rule per line.
      • Use source => target format:
        # source => target
        happy => joyful
        sad => melancholic
        high energy => energetic
        
      • Empty lines and lines starting with # are ignored.
      • If the target side is empty, the matched text is removed.
      • If the same source appears more than once, the last rule wins.
    • Match Mode:
      • whole_word: Matches full words or phrases only. This is the default and avoids replacing sad inside sadness.
      • literal: Matches the source text anywhere, including inside longer words.
    • Case Sensitive:
      • case_sensitive: Toggle this option to require exact uppercase/lowercase matching.
    • Debug:
      • debug: Print the replacement report to the console.
  3. Replacement Behavior:

    • The node applies all rules in one pass, so replacements do not cascade.
    • Longer source phrases are matched before shorter source phrases. For example, cat girl is matched before cat.
    • Rules are treated as literal text, not regular expressions.
  4. Outputs:

    • TEXT: The transformed text.
    • REPLACE_REPORT: JSON report with rule and replacement counts:
      {
        "rules_count": 3,
        "ignored_rules_count": 0,
        "replaced_count": 5,
        "matched": {
          "happy": 2,
          "sad": 3
        },
        "match_mode": "whole_word",
        "case_sensitive": false
      }
      

Example:

Input text:

happy and sad, high energy music

Rules:

happy => joyful
sad => melancholic
high energy => energetic

Output text:

joyful and melancholic, energetic music

Node: TEXT SRT Player @ vrch.ai (vrch.ai/text)

  1. Add the TEXT SRT Player @ vrch.ai node to your ComfyUI workflow.

  2. Configure the Node:

    • SRT Text Input:
      • srt_text: Provide the SRT-formatted text containing subtitle timing and content. The text should follow proper SRT formatting.
    • Placeholder Text:
      • placeholder_text: Specify the text that will be output when no subtitle is active (i.e., when current_selection is set to -1).
    • Loop:
      • loop: Toggle this option to enable or disable looping playback of the SRT file.
    • Current Selection:
      • current_selection: This integer value is automatically updated during playback to indicate the currently active subtitle. When the playback time is outside any subtitle interval, the value is set to -1, causing the placeholder text to be output instead.
    • Debug:
      • debug: Enable debug mode to print detailed parsing and playback logs to the console (useful for troubleshooting or verifying SRT parsing).
  3. Play SRT Text & Interactive Controls:

    • Subtitle Parsing & Playback:
      • The node uses an SRT parsing library to convert the provided SRT text into a list of subtitle entries.
      • As the node “plays” the subtitles, it continuously updates current_selection based on the current playback time.
    • Play/Pause Button:
      • Toggles between playing and pausing the subtitle playback. The button text updates to reflect the current state.
    • Reset Button:
      • Resets the playback time to the beginning (0 seconds).
    • Playback Time Display:
      • Shows the current playback time (in seconds) and updates in real time while subtitles are playing.
    • Progress Slider:
      • An interactive timeline bar for jumping to a specific time within the SRT file.
      • Dragging the slider updates the playback time accordingly, and the displayed subtitle changes if a new subtitle range is entered.
    • Looping:
      • If loop is enabled, playback automatically restarts at 0 seconds after the last subtitle entry ends.
  4. Node Output:

    • The node outputs the text of the currently active subtitle entry. If the playback time is not within any subtitle range, the node outputs the placeholder_text.
    • You can chain this output into subsequent nodes in your ComfyUI workflow for further processing or display.

Note:

  • Ensure that your SRT text is correctly formatted (with sequential numbering, time range lines, and subtitle text).