specs-camera

Access Spectacles camera frames via CameraModule for streaming, capture, cropping, and 3D projection.

16|2|Updated Apr 13, 2026
One-click install
npx skills add https://github.com/lens-studio-devs/ls-extensions --skill specs-camera-lens-studio-devs
Or copy as Structured Prompt for Agentā–¼
Please help me install this Agent Skill.
Skill: specs-camera
Source: https://github.com/lens-studio-devs/ls-extensions/tree/main/plugins/ls-clad/skills/specs-camera
Command: npx skills add https://github.com/lens-studio-devs/ls-extensions --skill specs-camera-lens-studio-devs

SYSTEM DOCUMENTATION & REQUIREMENTS

šŸ’” This Skill includes scripts (resource) and references (resource) components.

What problem does it solve? Building camera-driven Lenses for Spectacles requires navigating CameraModule lifecycle rules, permission constraints, texture providers, and editor wiring pitfalls that cause silent failures. This Skill provides tested TypeScript components, scene-setup recipes, and API references so camera features work correctly in both the Lens Studio editor and on device. ## Core Features & Use Cases - Live camera streaming: Display the continuous camera feed on a world-space panel using programmatic-first components with zero editor wiring. - Still capture and freeze-frame: Take high-resolution stills on device via requestImage, or freeze frames in the editor with Texture.copyFrame(). - Crop and composite pipelines: Crop the feed to regions of interest, cycle aspect ratios, share one camera request across consumers, and bake virtual scene content into captures via the Render Target. - Camera intrinsics: Read focal length, principal point, and pose, and project/unproject between 3D world points and 2D pixels for AR overlays and CV. - Use Case: Build an AR overlay Lens that streams the left color camera, crops it to 16:9, sends frames to an AI model over the network, and captures composite snapshots including virtual UI. ## Quick Start Ask the agent to add a live camera feed panel to the Lens Studio scene using the CameraFrameStream component from this skill.

Frequently Asked Questions about specs-camera

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I show the live camera feed in a Lens Studio Lens?ā–¼

Request the camera with CameraModule.createCameraRequest() and requestCamera(), then assign the returned Texture to an Image component's mainPass.baseTex. The CameraFrameStream component does this programmatically with no inspector wiring required.

How do I capture a still photo on Spectacles?ā–¼

Use CameraModule.createImageRequest() and await cameraModule.requestImage(), which returns an ImageFrame containing a high-resolution Texture. This works on device only; in the editor, freeze frames with Texture.copyFrame() on the live camera texture instead.

Can I combine camera access with internet in a published Lens?ā–¼

Yes, camera plus internet is publishable through Transparent Permission. The user sees an explicit permission prompt at launch and the device LED blinks while the camera is active; users with Extended Permissions skip the prompt.

Why does my camera texture encode as a blank JPEG?ā–¼

Immediately after requestCamera() the texture handle exists but the GPU has not filled it yet. Await a single onNewFrame event from the CameraTextureProvider before calling Base64.encodeTextureAsync or uploading the frame.

Why does my script input show 'not found' when wiring in the editor?ā–¼

The ScriptComponent schema is stale because TypeScript has not been recompiled since the @input was added. Recompile the script, re-read the scene to get the refreshed component, then wire inputs using setProperty with @id:<uuid> references.

How do I crop the camera feed to a region or aspect ratio?ā–¼

Create a Screen Crop Texture asset and set its RectCropTextureProvider inputTexture to the camera texture, then write cropRect bounds in normalized -1 to 1 coordinates. Changing the crop rect rather than scaling the panel produces true aspect-ratio crops.