What is the Camera to Cloud API?
The Camera to Cloud (C2C) API provides a secure method for transmitting media directly to Frame.io immediately after recording completes, without requiring additional user input. At Frame.io, we aim to make media available for review and collaboration as soon as recording stops or metadata is entered.
During development, we determined that to deliver the best experience for both integrators and users, the C2C API needed to function as its own specialized backend system, separate from Frame.io's main ecosystem. While this architectural decision may not seem intuitive at first, this document explains our reasoning by exploring the guiding principles behind C2C.
Beyond Camera Footage
While named "Camera to Cloud" for clarity and recognition, the API's capabilities extend beyond camera footage. The C2C API handles many types of digital content. Whether your device produces audio, video, PDFs, or other file types, Frame.io can accommodate them all. The API streamlines the transfer of any digital asset from creation to cloud storage with minimal friction.
Write, but Don't Read
Frame.io maintains strong security standards, and introducing device connectivity presents potential security considerations. Many media capture devices lack traditional security features like passwords or screen locks, as they weren't originally designed for network connectivity. Providing full Frame.io API access to these devices could create security vulnerabilities if left unattended.
Additionally, device operators often need access only to specific elements rather than the entire project. Their role may be limited to creating particular media assets rather than managing the complete project.
This led to our core design principle: recording devices exist primarily to create media, not to review or comment on content from other sources. The best security approach was to develop an API specifically limited to its essential function—uploading data to the cloud. By eliminating read capabilities entirely, we effectively prevented unauthorized access to sensitive project information.
Designing for Devices with Limited Interfaces
Frame.io's existing APIs were designed assuming they would interface with applications featuring graphical user interfaces. These applications could display options to users who would make selections that would then be sent to the server.
The C2C ecosystem, however, includes physical devices with limited or no GUI capabilities, and potentially no user input mechanisms. This required a fundamentally different approach to user interaction.
When designing C2C, we needed to create a system that could function effectively on devices with limited interface capabilities. This meant developing an interaction model that didn't require user input on the device itself, as such input might be impossible in many cases.
This constraint eliminated the possibility of using our existing API architecture, which relied on web-based authentication flows and user selection of target folders. We needed to simplify not only the actions a device could perform but also the entire user experience surrounding those actions.
Accommodating Intermittent Connectivity
Beyond interface limitations, many devices in the C2C ecosystem operate in environments with unpredictable network connectivity. We designed our API to minimize backend communication, reducing the number of necessary calls during operation to ensure a reliable experience for professionals working in remote locations with limited WiFi or cellular service.