# Return only the requested number of frames | EasyNet Source: https://easynet.run/cases/paired-device-camera # Return only the requested number of frames A caller requests a fixed number of synthetic PGM frames; the provider exposes neither a full camera API nor an unlimited stream. [All source cases](https://easynet.run/cases)[Inspect the pinned project](https://github.com/EasyRemote/EasyRemote/tree/44c768ca26d0f92a5ab9d1d03342895c29c27dc6/gallery/projects/06_runtime_device_capability_injection) ## The problem Remote media access often exposes a whole device API or a long-lived uncontrolled stream. ## What gets published Expose one finite media operation with explicit frame and byte bounds. ## What stays local Frame generation implementation, provider process state, and machine access. ## Business data crossing the call boundary Requested frame count and finite typed media frames. ## What this shows A future agent adapter can request device output like an ordinary function while keeping the same input and result limits. ## What it doesn't prove The fixture generates synthetic PGM bytes; it does not open a camera or prove pairing, real-device access, zero-copy transfer, or bandwidth performance. ## Public source evidence for this case Evidence level Source layout and declarations are anonymously inspectable Pinned public EasyRemote revision 44c768ca26d0f92a5ab9d1d03342895c29c27dc6 Public inspection [Public inspection](https://easynet.run/docs/source-check#run-check) Expected check Required files, Python syntax, and @node.register declaration are checked without installing dependencies Runtime invocation Not established by this source fixture; record separate discovery, Invocation, and terminal Receipt evidence ## Run in a compatible source workspace This Provider/Client walkthrough requires compatible EasyRemote, EasyNet-Cli, and EasyNet-Axon sibling source checkouts, a compatible Hub, and a paired, running Runtime. The source is public; clean installation from public packages is not yet verified. Technical Alpha offers guided setup. Use the pinned EasyRemote revision below; this page does not pin the other components. Runtime admission still determines whether the caller may execute the function. ``` # From EasyRemote revision 44c768ca26d0f92a5ab9d1d03342895c29c27dc6 cd gallery/projects/06_runtime_device_capability_injection # Terminal 1 uv sync --frozen uv run python node.py # Terminal 2 (same project) uv run python client.py ``` [Connect your own function](https://easynet.run/docs/connect/function) Read the setup first. You need compatible sibling source checkouts, a compatible Hub, and a paired, running Runtime. Technical Alpha offers guided help; public-package clean installation is not yet verified. [All source cases](https://easynet.run/cases)[Request technical alpha](https://easynet.run/pilot)