C2C Integration Requirements
This checklist outlines the best practices and requirements for joining the C2C ecosystem. While not every item applies to all C2C devices or applications, the C2C Partnerships team will work with you to define specific requirements during the C2C Certification Program.
Basic Integration Requirements
All integrations must include:
- User code: Display a 6-digit code to the user
- For web interfaces or QR code-capable devices, use the
verification_url_complete
to provide users a hyperlink option for logging in and selecting a project to connect to. - Project name display: Shows the connected project name so users can quickly verify their connection without searching through Frame.io's UI
-
Clear upload status indicators:
- Remaining file count
- Total remaining file size
- Current file upload progress
- Status of completed, queued, and failed uploads
- Network connection status display
- Automatic access token refresh after 8 hours with no user interaction or alerts (unless there's a refresh error)
- Cancellable authorization flow at each step
- Socket status for real-time communication
- Firmware version header in all HTTPS endpoint calls
Security Requirements
At Frame.io, security is paramount. Our requirements include:
- HTTPS-only requests (HTTP requests are rejected)
- Direct device/application connection to Frame.io (no intermediary services)
- Protected
client_secret
andclient_id
(not user-accessible) - Protected
access_token
andrefresh_token
credentials - Encrypted storage of secrets and tokens (optional but recommended)
Uploader Requirements
Reliable media upload is crucial, especially in challenging conditions. Integrations must:
- Support automatic uploads either in real-time during recording (preferred) or upon file completion
- Show clear upload status, including queue and results
- Write files to user-accessible local storage
-
Maintain a robust upload queue that handles:
- Concurrent uploads
- Network interruptions
- Power cycles
-
Implement automatic retry for:
- Network issues
- Power interruptions
- Non-fatal errors (timeouts, network errors, expired tokens)
- Resume uploads from last successful chunk
-
Honor PAUSED state:
- No uploads while paused
- Track
offset
value - Resume uploads after RESUMED state
- Handle AWS non-fatal errors: details here
- Manage corrupted media without blocking other uploads
-
Provide flexible upload options:
- Toggle automatic/manual uploads
- Individual/bulk file selection
- File type prioritization (optional)
- Queue prioritization (optional)
- Parallel uploads (optional)
- Allow cancellation of individual or all uploads
Networking Requirements
Integrations must:
- Achieve minimum 50Mbps upload speeds (network conditions permitting)
- Support WPA2 WiFi security (Ethernet optional but recommended)
- Handle both DHCP and static IP
- Display clear network status (connection type, speed, health)
- Switch networks without project re-pairing
- Save known WiFi networks
Testing Requirements
C2C is designed for challenging conditions, requiring thorough testing across:
Network Configurations (test all applicable connection types):
-
Commercial router with:
- Hardline WAN
- Bonded cellular modem
- Commercial cellular modem
- Hotspot-style modem
- Meshed router setups (including 802.11r FT protocol)
-
Direct connections to:
- Bonded cellular modem
- Commercial cellular modem
- Hotspot-style modem
- Cellphone hotspot
Resilience Testing:
- Unexpected power outages
- Network disconnections
- ISP issues
- Corrupted media handling
- Offline asset creation and reconnection
Workflow Requirements
C2C is an ecosystem, not just a feature. Device/application-specific requirements include:
SDI/HDMI Recording Devices:
- Automatic recording trigger from camera
- Flexible camera options
- Timecode offset adjustment
- Manual recording capability
- Consistent filename handling
- Accurate timecode synchronization
Proxy File Creation:
- Matching filename/timecode/metadata with hero file/OCF
- LTE-optimized (1-12Mbps bitrate)
-
Standard codec support:
- Video: AVC/HEVC/ProRes/etc.
- Audio: WAV/AAC/MP3/etc.
General Requirements:
- Timecode streams for video/audio
- Multi-format upload support (Proxy, OCF, LUT, WAV, RAW, JPG, HEIF, TIFF)
- Project name change handling (use
project_id
instead of name strings)
Quality Assurance
At frame.io, quality is essential. Key test areas include:
Basic Functionality:
- Stable launch and operation
- Project connection
- Hardware code generation
- Login/logout capability
- Project/user info display
- Device management
- Asset upload
- Format support
- Upload pause/resume
- Status indication
- Project name changes
- Offline operation
Technical Requirements:
- Upload resumption after interruptions
- Progress display
- Network status indication
- 8-hour connection persistence
- Cancellable authorization
- Direct Frame.io connection
- Credential security
- Network speed optimization
Future Improvements
The Frame.io Camera to Cloud API evolves continuously. While maintaining backward compatibility, we welcome ongoing dialogue about future developments to keep our API aligned with real-world usage.
That's all, folks!
Congratulations on completing the UC2CIG (University of C2C Integration Guides)! We hope you found this guide valuable.
Please share any feedback about unclear or missing information, or reach out with C2C-related questions. We're here to help!
If you haven't already, please review the Implementing C2C: Setting Up guide before proceeding.
You'll need the access_token
obtained during the authentication and authorization process.
This checklist builds on the Basic Upload guide and Advanced Uploads guide.