Skip to main content

Run in Colab

Step through this example interactively
The question() helper accepts a video() node alongside a natural-language prompt and returns a textual answer. Combine with reasoning=True for step-by-step analysis of long-horizon episodes — assembly walkthroughs, training videos, customer-session recordings, and other content where the answer depends on watching what happens over time.

Basic usage

Parameters: Returns: PerceiveResult object:
  • text (str): The answer to your question.
  • reasoning (str | None): The model’s chain-of-thought when reasoning=True.
  • clips, points, boxes, polygons (list | None): Populated when the corresponding expects is requested.

Example: Robot assembly walkthrough

In this example we download a short robot-assembly clip, ask Perceptron Mk1 to identify the overall goal and the sub-goals it observes, and let it think through the episode before answering.

Best practices

  • Reach for expects="clip" when you need timestamps: If the answer needs to point at when something happens in the video, switch to the Video Clipping workflow instead.
  • Asking several questions about the same clip? Use the Multilook endpoint to send up to 16 prompts over one shared video in a single call. The video is prefilled once and reused, and the reused tokens are billed at the reduced cache-read rate.
Run through the full Jupyter notebook here. Reach out to Perceptron support if you have questions.