Input and Output

🟨 Input and Output




The Input and Output blocks are the two terminals of a blackbox: together they define the "signature" of an encapsulated graph, much like a function's parameters and return value.


They always come as a pair and only exist in the Blackbox editor: you will not find them in the Add block menu of a Chatbot, Visual Novel or Draft graph. The points you declare on them automatically appear on the Open a graph block of every graph that calls this blackbox.


πŸ“₯ Inputs


Input block


  • No input : the Input block is the blackbox's starting terminal. Nothing reaches it from inside the graph; what feeds it are the points of the Open a graph block in the calling graph.


Output block


  • out (Stream) : the Output block's native point. It really is an input of the block: sending the flow into it ends the blackbox and hands control back to the calling graph.
  • Extra points (type of your choice) : every point you add in the Output block's Points editor becomes a value input. This is the blackbox's return value, collected on the outputs of the Open a graph block.


πŸ“€ Outputs


Input block


  • in (Stream) : the Input block's native point. It really is an output of the block: the flow leaves here towards the blackbox's first block.
  • Extra points (type of your choice) : every point added in the Input block's Points editor becomes a value output β€” a parameter received from the caller, available anywhere inside the blackbox.


Output block


  • No output : the Output block is a terminus; the flow does not leave it inside the graph.


πŸ’‘ Example of use



Scenario: a "Check password" blackbox reused across several graphs


  1. You create a blackbox named CheckPassword. Celestory automatically generates the graph, an Input CheckPassword block on the left and an Output CheckPassword block on the right.
  2. You double-click the Input block, then click Add point in the Points editor; you rename it entry and change its type from "Stream" to "Text". The blackbox now expects a text parameter.
  3. You double-click the Output block and add a correct point of type Boolean.
  4. Inside, you wire in to a Condition block comparing entry with the expected password, and bring both branches back to out, assigning correct accordingly.
  5. In your main graph, you drop an Open a graph block and select CheckPassword: the block immediately shows an entry input and a correct output, ready to be wired.


βš™οΈ Technical Details


  • Internal identifiers : input and output, both from the BlackboxTemplate template.
  • Counter-intuitive naming : the Input block's native point is called in although it is an output point of the block, and the Output block's is called out although it is an input point. The names are given from the point of view of the blackbox seen from outside, not of the block itself.
  • Automatic creation : you normally never place these blocks yourself. Creating a blackbox creates the graph, a Graph-type variable bearing its name, an Input <name> block at (0,0) and an Output <name> block at (400,0). The Ctrl/Cmd + B shortcut first asks for a name (Β« Blackbox name Β»), then turns the selection into a blackbox: the Input and the Output are placed on either side of the selection, and the rewired points are named after their type (in, out, then out (2), out (3)… when several are needed).
  • Uniqueness : the Input block is declared "unique" and the Output block "at least one". In practice the Add block menu refuses to add a second one in both cases, with a red alert (Can't add more input block in this graph, untranslated).
  • All Output blocks share the same point list : adding, renaming, removing or retyping a point from one Output block's Points editor applies the change to every Output block in the graph, so that each termination of the blackbox exposes the same signature.
  • A new point defaults to Stream : a freshly added point is of type "Stream" and is named point, point 1, point 2… Remember to rename it and give it its real type in the editor's dropdown.
  • Cascading propagation to callers : any change to these points is mirrored on the Open a graph blocks that point to this graph, across all the project's graphs.
  • ⚠️ Connections can disappear silently : removing a point removes the matching connections, including in the calling graphs. Changing a point's type removes every connection that has become incompatible, again on both sides.
  • ⚠️ An Input or Output cannot be encapsulated : trying to create a blackbox from a selection containing a Start, Input or Output block is refused ("Input or output of a blackbox can't be blackboxed").
  • Missing English label : the Input block's translation key only exists in French. In the English interface the Add block menu therefore shows the raw identifier graph.blockType.input instead of "Input".

Updated on: 23/09/2026

Was this article helpful?

Share your feedback

Cancel

Thank you!