Overview
The Reality Defender SDK allows you to integrate powerful AI-based deepfake detection capabilities into your applications. With this SDK, you can:- Upload media files for deepfake and manipulation analysis
- Receive detailed results about the authenticity of media
- Get model-specific confidence scores and detection results
- Integrate via event-based or polling approaches
- Process multiple files concurrently with configurable concurrency limits
- Handle both image, video, audio and text files with optimized processing
Available SDKs
SDK implementations are available for multiple programming languages:- TypeScript/JavaScript SDK - For web and Node.js applications
- Python SDK - For Python applications and data science workflows
- Go SDK - For Go applications
- Rust SDK - For Rust applications
- Java SDK - For Java applications
Getting Started
- Obtain an API key from the Reality Defender Platform
- Choose the SDK for your preferred programming language
- Follow the installation and usage instructions in the language-specific README
Supported File Types
- Documents:
.pdf
,.doc
,.docx
,.txt
- Images:
.jpg
,.jpeg
,.png
,.gif
,.webp
- Audio:
.mp3
,.wav
,.m4a
,.aac
,.ogg
,.flac
,.alac
- Video:
.mp4
,.mov
- Text:
.txt
Size Limits
- Documents: up to 5MB
- Images: up to 10MB
- Audio: up to 20MB
- Video: up to 250MB
Architecture
The SDKs follow a consistent architecture across all language implementations:- Client Layer: Handles HTTP communication with the Reality Defender API
- Core: Manages configuration, constants, and event handling
- Detection: Processes media uploads and results
- Types/Models: Defines data structures for API responses and SDK interfaces
- Utils: Provides file operations and helper functions
Key Features
- Cross-language compatibility: Consistent API across TypeScript, Python, Go, and Rust
- Async/Sync support: Both asynchronous and synchronous programming models
- Score normalization: All scores are normalized to a 0-1 range (0.0 to 1.0)
- Resource management: Proper cleanup of resources to prevent leaks
- Flexible integration: Event-based or polling-based approaches
- Batch processing: Process multiple files concurrently with optimized performance
- Media type support: Handle audio, image, video and text files with appropriate processing strategies