Nodes/VLM_nodes/VLA Actions From JSON
ComfyUI Node Runs on cloud

VLA Actions From JSON

Paste robot actions as JSON and replay them in ComfyUI

By gokayfem·Created 3 years ago·Updated 9 days ago· 583
VLA Actions From JSON
    • actions
    • actions_summary
    actions_json[[0, 0, 0, 0, 0, 0, 0, 0]]

    Sometimes you don't need a policy to generate actions - you need to replay the ones you already have. That's what VLA Actions From JSON is for: it parses raw numeric action arrays, named action-stream objects, or the pack's versioned VLA action JSON, and turns them into a validated VLA_ACTIONS socket that everything else in the robotics section understands. If you've got a recorded trajectory from a real robot, a simulation dump, or a saved policy response, this is the node that feeds it back into the graph for inspection, plotting, or the safety gate.

    The single required input is actions_json, a multiline text field with a default of [[0, 0, 0, 0, 0, 0, 0, 0]] - an 8-dimensional, single-step, all-zeros action chunk. That default is a hint about the format: an action chunk is a list of steps, and each step is a list of numeric action values. Your recorded trajectory is just a bigger version of that. The parser also accepts named action-stream objects (each key a stream, each value its array) and the versioned VLA action JSON the pack's policy nodes emit - so you can round-trip a inference_report or a saved actions JSON straight back into the graph.

    Two outputs: actions (the typed VLA_ACTIONS handle) and actions_summary - a short string describing what got parsed (how many steps, what horizon, what action dimension). That summary is your first sanity check: if it says 8 dimensions and you expected 7, you've caught the bug before it reaches the safety gate.

    Installing it

    Part of the main pack - ComfyUI Manager (search "ComfyUI VLM nodes") or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/gokayfem/ComfyUI_VLM_nodes
    python -m pip install -r ComfyUI/custom_nodes/ComfyUI_VLM_nodes/requirements.txt
    

    No extra dependencies. This is a pure data node; it never talks to a policy server or a robot.

    Common issues

    • Malformed JSON → the parser is strict by design. Watch for trailing commas, single quotes instead of double, and non-numeric entries - all common when pasting from a log.
    • Dimension surprises → an 8-value row when your embodiment expects 7 will flow through here fine but get caught later by the safety gate. Check actions_summary early and you'll save yourself the trip.
    • "Why is my trajectory only one step?" → you gave it a single step, in other words. The format is a list of lists; make sure the outer list wraps all your steps.
    • Not sure what format you have → try the raw numeric array first; if that fails validation, the error message usually points at what shape it expected.

    Where this node shines is testing and simulation: you can take a recorded trajectory, run it through the safety gate, feed it to the trajectory preview/inspect nodes, and verify your downstream tooling without a live robot in the loop. It's the "let's make sure everything downstream is sane before we trust the hardware" node.

    CategoryVLM Nodes/Robotics/Actions

    Inputs (1)

    NameTypeDefaultDescription
    actions_jsonSTRING[[0, 0, 0, 0, 0, 0, 0, 0]]

    Outputs (2)

    NameTypeDescription
    actionsVLA_ACTIONS
    actions_summarySTRING