Live Face Swap at 30fps
The only on-device face swap SDK that runs in real-time. Drop-in SwiftUI camera view, per-frame API for WebRTC, and static image swap — all at 512px, fully on the device.
One session = unlimited frames. A 3-hour stream costs $0.01.
Building with an AI coding assistant? Point it at /llms.txt for integration instructions.
import AmigoFaceSwapSDK
// 1. Initialize (one-time)
try await AmigoFaceSwap.initialize(apiKey: "your-api-key")
// 2. Enroll a source face (the identity to wear)
let latent = try await AmigoFaceSwap.enrollFace(from: sourcePhoto)
// 3. Drop-in live camera — 30fps face swap
AmigoLiveCameraView(targetLatent: latent)What is Amigo AI SDK?
Amigo AI SDK (package name: AmigoFaceSwapSDK) is a face swap SDK for iOS that lets developers add live face swap streaming to their app. It is the developer toolkit behind the Amigo AI consumer app. Android support is coming soon. The SDK runs entirely on-device using CoreML — no server calls, no cloud processing, no privacy trade-offs.
Unlike cloud-based face swap APIs, Amigo AI SDK processes every frame on the device GPU in real-time. Livestream face swap runs at 30fps on iPhone 12 and 45fps on iPhone 15 Pro. The SDK provides a drop-in AmigoLiveCameraView for SwiftUI, an AmigoLiveViewController for UIKit, and a per-frame processFrame() API for WebRTC or custom pipelines. All modes output at 512x512 resolution. Install via Swift Package Manager.
How do I add face swap to my streaming app?
Add AmigoFaceSwapSDK via Swift Package Manager, initialize with your API key, enroll a source face to get a FaceLatent, then drop in AmigoLiveCameraView(targetLatent:) for live camera or call swapFace(in:using:) for images.
Real-time livestream on iPhone 12
Output resolution, all modes
Per session — unlimited frames
Frames sent to any server
Real-time livestream face swap
Drop-in SwiftUI view or UIKit view controller. The SDK handles camera, face detection, and rendering at 30fps.
AmigoLiveCameraView — One Line of SwiftUI
Drop AmigoLiveCameraView(targetLatent: latent) into your SwiftUI hierarchy. For UIKit, present AmigoLiveViewController. The SDK handles AVCaptureSession, face detection, CoreML inference, and Metal rendering.
Need full control? Use AmigoLiveSession directly — add session.previewView to your own view hierarchy, swap targets at runtime, and receive each processed frame via delegate callback for recording or streaming.
For WebRTC or custom pipelines, use AmigoFaceSwap.processFrame(_:using:) — feed any CVPixelBuffer and get a CIImage back synchronously. Designed for sustained 30fps on a serial background queue.
Device Performance
Measured with .innerLips lip mode, 512px output, single face, front camera.
Static Image Swap
Call AmigoFaceSwap.swapFace(in:using:) with a UIImage and FaceLatent. Returns the swapped UIImage asynchronously. Full pipeline: detection → warp → inference → blend. Configurable lip mode.
Per-Frame API (WebRTC / Video)
Feed any CVPixelBuffer to processFrame(_:using:) and get a CIImage back synchronously. Designed for WebRTC, video file playback, screen recording, or any custom camera pipeline. Returns nil when no face is detected.
Built for production mobile apps
CoreML acceleration, CDN model delivery, reusable face embeddings, and configurable rendering.
FaceLatent: Enroll Once, Swap Forever
Enroll a source face with enrollFace(from:) to get a 512-dimensional FaceLatent embedding. Cache it, reuse it, swap identities at runtime with zero latency. Supports pre-computed server-side embeddings too.
CDN Model Download (Free)
ML models download from CDN on first call to initialize() — not bundled in your app binary. Only emap.bin (1MB) is bundled. Download is included in initialize(); no separate license charge.
512px Output Resolution
All swap modes output at 512x512 pixels. Consistent quality across livestream, image, and per-frame modes on every supported device.
LipMode Control
Fine-tune lip blending with .none, .outerLips, or .innerLips (default). Choose the most natural look for your use case — photo editing, live camera, or video content.
Background Replacement
Replace the background behind the detected person with any image. Set session.backgroundImage on the live camera session. Set to nil to disable. Works in real-time.
Fully On-Device & Private
CoreML inference on device GPU. No images leave the device, ever. GDPR and CCPA compliant by architecture. No DPA, no privacy policy changes required.
What can you build?
Developers use Amigo AI SDK to add face swap to streaming, social network, telehealth, video editing, and video call apps.
Streaming Apps
Add real-time face swap to Twitch, YouTube Live, or custom RTMP streaming. Per-frame API drops into any pipeline at 30fps.
Social Network Apps
Face swap filters for stories, reels, and UGC. Drop-in camera view for SwiftUI. No cloud, no privacy concerns for your users.
Telehealth
Protect patient identity on video consults. All frames stay on-device — no PHI leaves the phone, preserving full client privacy for HIPAA-aligned workflows.
Video Editing Apps
Swap faces in recorded video frame-by-frame on-device. No upload needed. Process locally at 512px with CoreML.
Video Call Apps
Face swap for WebRTC video conferencing. processFrame() returns in under 33ms — fast enough for real-time calls with zero cloud latency.
Simple, usage-based pricing
Pay per session, not per frame. One session = unlimited frames. A 3-hour livestream costs the same as a 10-second test.
Most SDKs charge per minute, per frame, or per MAU. Amigo AI SDK charges per initialize() call. Once initialized, process as many frames as you want — livestream for hours, swap thousands of images, render entire videos. One session, one penny.
Estimate your cost
Ready to add face swap to your app?
1,000 free sessions every month. No credit card required. $0.01/session after that. Integrate in minutes, not days.