Developer Documentation
API reference and integration guides for quantum-resistant watermarking
Quick Start
Get started with ZRY watermarking API in minutes
1. Get API Access
Sign up at zry.dev/signup to receive your Firebase authentication credentials.
- C2PA watermarking (always included)
- 100MB max file size (1GB when authenticated)
- All media formats supported
2. Make Your First Request
Use the upload-session workflow to sign a file (requires jq):
# 1) Request an upload session
curl -sS -X POST https://api.zry.dev/api/v1/uploads/initiate \
-H "Authorization: Bearer YOUR_FIREBASE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"filename":"image.jpg","contentType":"image/jpeg"}' \
| tee /tmp/sign-session.json
# 2) Upload the asset using the signed URL
UPLOAD_URL=$(jq -r '.uploadUri' /tmp/sign-session.json)
curl -sS -X PUT "$UPLOAD_URL" \
-H "Content-Type: image/jpeg" \
--data-binary @image.jpg
# 3) Mark the session as complete (optional metadata)
SESSION_ID=$(jq -r '.sessionId' /tmp/sign-session.json)
curl -sS -X POST "https://api.zry.dev/api/v1/uploads/$SESSION_ID/complete" \
-H "Authorization: Bearer YOUR_FIREBASE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"metadata":{"creator":"Your Company"}}'
# 4) Request signing (return URL instead of binary)
curl -sS -X POST https://api.zry.dev/api/v1/sign \
-H "Authorization: Bearer YOUR_FIREBASE_TOKEN" \
-H "Content-Type: application/json" \
-d "{"sessionId":"$SESSION_ID","returnUrl":true}"3. Verify Watermark
Verify a watermarked file (no authentication required):
curl -X POST https://api.zry.dev/api/v1/verify \
-F "file=@watermarked.jpg"
# Response
{
"success": true,
"valid": true,
"manifest": { /* C2PA manifest */ },
"layersDetected": ["c2pa"],
"confidence": 0.95
}4. MCP Server Integration
Connect your AI assistant (Claude Desktop, Cursor, VS Code) to ZRY with our hosted MCP server:
Quick Setup (30 seconds)
Add this to your AI IDE configuration:
Cursor IDE
Add to ~/.cursor/mcp_settings.json:
{
"mcpServers": {
"ZRY": {
"url": "https://mcp-production-80a0.up.railway.app/sse",
"headers": {
"X-API-Key": "wm_live_YOUR_KEY_HERE"
}
}
}
}Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"ZRY": {
"url": "https://mcp-production-80a0.up.railway.app/sse",
"headers": {
"X-API-Key": "wm_live_YOUR_KEY_HERE"
}
}
}
}What You Can Do
Once connected, ask your AI assistant:
- • "Watermark this image: https://example.com/photo.jpg"
- • "Process 20 product images with subtle watermarks"
- • "Sign this video with C2PA metadata"
- • "Check my account usage and limits"
- • "Verify if this image has a watermark"
- • "Setup webhook notifications for completed jobs"
Available Tools
Query API
Discover capabilities, check status, view usage, and plan workflows
Process Content
Watermark images/videos, sign with C2PA, verify watermarks
Manage Resources
Configure webhooks, validate parameters, manage account settings
Base URL
https://api.zry.dev