What you can build with Decart’s realtime and batch AI models
Decart’s models power a range of creative and production applications — from realtime character transformation on mobile to batch video generation for content pipelines. This page highlights the most common use cases with recommended models and starter code for each.
Turn yourself into any character — live on camera. Lucy 2 takes a reference image and maps your facial expressions, head movements, and gestures onto that character.Best for: virtual cosplay, social filters, virtual try-on, character-driven content creation.
Copy
Ask AI
import { createDecartClient, models } from "@decartai/sdk";const client = createDecartClient({ apiKey: "your-api-key-here" });const model = models.realtime("lucy_2_rt");const stream = await navigator.mediaDevices.getUserMedia({ video: { frameRate: model.fps, width: model.width, height: model.height },});const realtimeClient = await client.realtime.connect(stream, { model, onRemoteStream: (transformed) => { document.getElementById("output").srcObject = transformed; },});// Upload a character reference and transformconst characterPhoto = document.querySelector("input[type=file]").files[0]; // from file inputawait realtimeClient.set({ prompt: "Transform into this character", image: characterPhoto, // File, Blob, or URL enhance: true,});// Switch characters without reconnectingconst anotherPhoto = await fetch("/another-character.jpg").then((r) => r.blob());await realtimeClient.set({ image: anotherPhoto });
Lucy 2 also works without a reference image — pass only a prompt to set() for text-based editing.
Transform the entire visual style of a live video feed. Mirage applies artistic styles in realtime — ideal for Twitch, YouTube Live, or TikTok.Best for: social media filters, creative livestreams, virtual events, themed video calls.
Copy
Ask AI
import { createDecartClient, models } from "@decartai/sdk";const client = createDecartClient({ apiKey: "your-api-key-here" });const model = models.realtime("mirage_v2");const stream = await navigator.mediaDevices.getUserMedia({ video: { frameRate: model.fps, width: model.width, height: model.height },});const realtimeClient = await client.realtime.connect(stream, { model, onRemoteStream: (styled) => { document.getElementById("output").srcObject = styled; },});// Apply a stylerealtimeClient.setPrompt("Studio Ghibli animation style", { enhance: true });// Switch styles on the flyrealtimeClient.setPrompt("Cyberpunk city with neon lighting");realtimeClient.setPrompt("Watercolor painting with soft edges");
Make targeted edits to live video using text prompts. Add objects, change clothing, swap backgrounds — all without interrupting the stream.Best for: interactive experiences, photo booths, AR-style effects, live content creation.
Copy
Ask AI
import { createDecartClient, models } from "@decartai/sdk";const client = createDecartClient({ apiKey: "your-api-key-here" });const model = models.realtime("lucy_2_rt");const stream = await navigator.mediaDevices.getUserMedia({ video: { frameRate: model.fps, width: model.width, height: model.height },});const realtimeClient = await client.realtime.connect(stream, { model, onRemoteStream: (edited) => { document.getElementById("output").srcObject = edited; },});// Add objects, change outfits, modify the sceneawait realtimeClient.set({ prompt: "Add a small dog running around", enhance: true });await realtimeClient.set({ prompt: "Change the outfit to a sharp black tuxedo with satin lapels" });await realtimeClient.set({ prompt: "Replace the background with a beach at sunset" });
If you maintain an older integration, lucy_v2v_720p_rt remains available. lucy_2_rt adds character reference support in the same realtime flow.
Animate any portrait photo with audio input. The avatar speaks with synchronized lip movements and natural facial expressions — no camera needed.Best for: AI customer agents, virtual presenters, educational content, interactive characters.
Transform existing videos with text instructions. Change styles, replace objects, or modify entire scenes while preserving the original motion.Best for: post-production, content repurposing, brand transformations, visual effects.
Copy
Ask AI
# Submit a video editing jobcurl -X POST https://api.decart.ai/v1/jobs/lucy-pro-v2v \ -H "X-API-KEY: your-api-key-here" \ -F "data=@input.mp4" \ -F "prompt=Transform into Studio Ghibli animation style"# Poll for resultcurl https://api.decart.ai/v1/jobs/{job_id} \ -H "X-API-KEY: your-api-key-here"# Download when completecurl https://api.decart.ai/v1/jobs/{job_id}/content \ -H "X-API-KEY: your-api-key-here" \ --output result.mp4
For faster turnaround at lower cost, use lucy-fast-v2v instead of lucy-pro-v2v. Quality is slightly lower but processing is significantly faster.
Realtime and batch models use the same @decartai/sdk package. The difference is how you connect — client.realtime.connect() for realtime, client.queue.submitAndPoll() for video, client.process() for images.