Complete Manual
Drip Code Documentation
Everything you need to run the AI content pipeline — from creating a character to posting live across every platform.
Overview
Drip Code is a fully automated AI content creation and publishing pipeline. You create AI characters, generate video content of them, review it, and publish to social media — all from one interface, without touching a camera.
The system runs on a fixed pipeline: a written brief becomes a storyboard, the storyboard becomes a character-consistent image, the image becomes a video, the video gets reviewed, and then it posts to every connected platform at once.
Drip Code is a private system. The public landing page lives at dripcode.xyz. The actual app is at app.dripcode.xyz and requires login.
How It Works
Content flows through numbered stages. Understanding the stages helps you know where to look when something needs attention.
| Stage | What happens | Model / Tool |
|---|---|---|
| Storyboard | Your brief becomes a shot-by-shot script | Claude |
| Image | A character-consistent seed image is generated | FLUX.2 LoRA |
| Video | The image is animated into video | Kling 3.0 Pro |
| Review | Content waits in the queue for your approval | Content Queue |
| Publish | Approved content posts to all platforms | n8n + Social APIs |
Behind the scenes, the frontend runs on Vercel, automation runs through n8n on Railway, data lives in Supabase, and media is stored in Google Cloud Storage. You rarely need to touch these directly — the app handles it.
Accessing the App
Go to the app
Navigate to app.dripcode.xyz in your browser.
Log in
Sign in with your credentials. Unauthenticated visitors are redirected to the login page automatically.
Land on the dashboard
After login you land on the Dashboard. The top navigation gives you access to every section: Generate, Studio, Drip TV, Drip Stories, Queue, Characters, Closet, Environments, Analytics, and API Status.
Creating a Character
Every piece of content is built around a character. A character is a reusable AI persona with a trained visual identity, a voice, connected social accounts, and a wardrobe.
Open the Characters page
Click Characters in the top nav, then click + Add character.
Fill in Basic Info
Enter the character's name, slug (a URL-safe identifier like jax-mercer), tagline, description, and trigger word. The trigger word is the unique token used to activate the character's LoRA — pick something distinctive like JAXMERCER.
Add Appearance details
Optionally upload a hero photo and write a physical description (e.g. "young Black male, long curly dark hair, medium brown skin, athletic build, tattoos on arms, gold chain"). This description feeds directly into image generation.
Create the character
Click Create Character. The character now exists in the system but has no trained LoRA yet.
Generating Reference Images
Before you can train a LoRA, you need a set of reference images showing the character from multiple angles and expressions. The Character Setup Wizard generates these automatically.
Reference generation starts automatically
After creating a character with a description, the Generate Reference Images panel appears. It queues 20 images covering face close-ups, three-quarter shots, full body views, and expression variations.
Review each image
As each image completes, approve it (✓) or reject it (✕). Aim to approve the ones where the character looks consistent and clear.
Reach 15 approved
Once you have 15 or more approved images, the Proceed to LoRA Training button appears.
Reference images are generated at 1024×1536 portrait. The full set of 20 costs roughly $0.66 at FLUX.2 rates.
LoRA Training
A LoRA (Low-Rank Adaptation) is a small trained model that teaches the image generator exactly what your character looks like. This is what keeps the character consistent across every image and video.
Open Train LoRA
On the Characters page, click Train LoRA on the character's card.
Upload training images
Upload a ZIP of your best reference photos. The character's trigger word is used automatically as the activation token — no need to enter it again.
Set steps and train
Choose training steps (1000 is default, 1500 for higher quality) and click Train. Training runs on fal.ai and takes a few minutes.
Wait for the badge
When training finishes, the card shows a LoRA trained badge. The character is now ready to generate consistent content.
LoRAs must be trained on the FLUX.2 base model to work with the current pipeline. A LoRA trained on an older base model will be rejected with a tensor size mismatch error. If a character's images look generic, its LoRA likely needs retraining on FLUX.2.
Training a LoRA costs about $2.40 at 1000 steps (or $3.60 at 1500). You train it once and reuse it forever.
Platform Connections
Each character can connect to its own set of social media accounts. This lets different characters post to completely separate profiles.
On the character card (and on the Generate page when a character is selected), you'll see platform icons: Instagram, YouTube, X, TikTok, Facebook, and Fanvue. Click an icon to toggle it connected or disconnected for that character. Connections are stored per character, so toggling one character's platforms never affects another.
TikTok, Facebook, and Fanvue publishing are marked coming soon. Instagram, YouTube, and X are fully live.
Editing & Deleting Characters
Click Edit on any character card to change its details. The edit form covers name, tagline, description, aesthetic, and style notes. Vehicle, location, and color grade are no longer part of the character form — add vehicles through the Closet and put grade or location preferences in the style and aesthetic notes.
To remove a character, click Delete on its card. You'll be asked to confirm before it's permanently removed. Deleting a character removes it from the system but does not affect content it has already posted.
Drip Stories
Drip Stories is the storyboard-driven content studio. You write a creative brief, Claude expands it into a shot-by-shot storyboard, you review and edit each panel, and then generate the final video.
Write a brief
In the brief box, describe your video idea in plain language — for example, "Jax walking through South End Charlotte at blue hour in an all-black fit, ends with him getting in the Bronco."
Choose length and character
Select the video length — 5 seconds (3 panels), 10 seconds (5 panels), or 15 seconds (8 panels) — and pick the character.
Generate the storyboard
Click Generate Storyboard. Claude produces a panel-by-panel breakdown with action, shot type, camera movement, dialogue, location, and duration for each frame.
Review and edit panels
Each panel appears as a card with an editable script and a preview image. Change any field manually, regenerate individual panels, or regenerate the whole storyboard.
Approve and generate video
Once you're happy with the storyboard, approve it. Preview images generate, then the final video is produced with Kling 3.0 and sent to the Content Queue.
Drip TV
Drip TV is the fast, on-demand video studio. Instead of building a full storyboard, you write a single prompt and generate a video directly.
Settings
- Character — select any character. A LoRA-trained badge shows when the character has a trained model.
- Video model — Kling 2.6 Pro (cheaper), Kling 3.0 Pro (best quality, multi-shot, 4K), or Wan (coming soon).
- Shot type — Single shot for one continuous clip, or Multi-shot to build up to 6 connected shots each with its own prompt and duration.
- Duration — 5, 10, or 15 seconds.
- Aspect ratio — 9:16 for vertical (default), 16:9, or 1:1.
- Audio — On (native audio + lip-sync) or Off.
- Environment — optionally append a saved environment to the prompt.
The live cost estimator updates as you change settings so you always know what a generation will cost before you run it. Generated videos appear in the Recent Videos gallery where you can play, download, delete, or send them to the Content Queue.
Closet
The Closet is a character's wardrobe library. Upload outfit reference images so the pipeline can dress the character in specific looks.
Each garment or outfit can be set as the character's active look — only one full outfit is active at a time, and setting a new one deactivates the previous. Accessories layer independently on top. When you generate content, the pipeline uses the active outfit unless you override it per video.
Keep the Closet as a permanent library — you never need to delete outfits. Just set whichever one you want active for the next video.
Environments
Environments are background location images. Upload a scene so your character appears in a specific place rather than a generic backdrop.
Image specs
| Spec | Requirement |
|---|---|
| Aspect ratio | 9:16 vertical |
| Dimensions | 1080×1920 minimum, 1440×2560 ideal |
| Format | JPEG, PNG, or WebP |
| File size | 1–3 MB target, 5 MB hard cap |
| Content | Empty location, no people, even lighting |
Set an environment as active to use it by default, or pick a different one per video in the storyboard review card.
Content Queue
The Content Queue is where generated content waits for your approval before it posts. Each pending item shows the video, the image, and the captions for each platform.
Editing captions
Each platform caption (Instagram, YouTube, X) is an editable text box. Edit any caption before approving — your changes are saved to the content before posting is triggered.
Actions
- Approve — saves your caption edits and triggers posting to all connected platforms.
- Reject — marks the content as rejected so it won't post.
- Regenerate — runs the pipeline again to produce fresh content for that item.
- Schedule — set a specific post time instead of posting immediately on approve.
Review Mode
Review Mode is the safety gate that controls whether content posts automatically or waits for your approval.
| Mode | Behavior |
|---|---|
| Review Mode ON | All content lands in the queue and waits for you to approve before posting. This is the safe default. |
| Auto Mode | Content posts automatically as soon as it's generated, with no approval step. |
Keep Review Mode ON for normal operation. Only switch to Auto Mode when you're confident the pipeline is producing content you're happy to post unseen.
There's also a separate Storyboard Review toggle. When on, the pipeline pauses after the storyboard is drafted so you can edit it before any image or video is generated.
How Posting Works
When you approve content (with Review Mode on) or when content is generated (with Auto Mode on), the publishing stage fires. It:
- Reads the approved content and its captions
- Downloads the video and hosts it where each platform can fetch it
- Posts to each connected platform in parallel — Instagram Reels, Instagram Feed, YouTube Shorts, and X
- Writes back the post URLs and marks the content as posted
Each platform posts independently. If one platform's token has expired, the others may still post — check the status of each after publishing.
API Status Dashboard
The API Status page shows live health for every connected service, so you know when something needs topping up or reconnecting.
| Service | What it shows |
|---|---|
| fal.ai | Connection status and API key validity (image + video generation) |
| ElevenLabs | Voice generation character balance |
| Apify | Compute units for scraping |
| n8n | Automation instance health |
| Anthropic | Claude API (storyboard generation) |
| Google Cloud Storage | Media storage health |
| X / Instagram | Posting API status |
Token Management
Social platform tokens periodically expire and need refreshing. This is the most common cause of a failed post.
Instagram uses a Facebook Graph API token that expires every ~60 days. To refresh it:
- Go to
developers.facebook.com→ Graph API Explorer - Select your app and generate a token with these permissions:
instagram_basic,instagram_content_publish,pages_show_list,pages_read_engagement,business_management - Exchange it for a long-lived token
- Paste it into n8n → Credentials → Instagram credential → Access Token → Save
YouTube
YouTube uses Google OAuth. When it expires, go to n8n → Credentials → the YouTube credential → click Sign in with Google and log in with the correct channel account.
When re-authenticating YouTube, make sure you sign in with the character's dedicated channel account — not a personal Google account — or videos will post to the wrong channel.
Cost Reference
All generation costs are pay-as-you-go through fal.ai. Keep a credit buffer so runs don't fail mid-generation.
Image generation
| Item | Cost |
|---|---|
| Single image (FLUX.2 LoRA, 1024×1536) | ~$0.033 |
| 20 reference images | ~$0.66 |
| LoRA training (1000 steps) | ~$2.40 |
| LoRA training (1500 steps) | ~$3.60 |
Video generation (Kling 3.0 Pro)
| Duration | Audio Off | Audio On | Voice Control |
|---|---|---|---|
| 5 seconds | $0.56 | $0.84 | $0.98 |
| 10 seconds | $1.12 | $1.68 | $1.96 |
| 15 seconds | $1.68 | $2.52 | $2.94 |
Kling 2.6 Pro is cheaper if you don't need multi-shot — roughly $0.42–$0.56 for a 5-second clip.
Troubleshooting
Content isn't showing in the queue
If generated content doesn't appear in the Content Queue, the most common causes are: the character has no customer_id set, the content status isn't pending_review, or Review Mode is off (content auto-posted instead of queuing). Check the content's status first.
Character doesn't look right
If the generated character looks generic or inconsistent, the LoRA likely isn't applying. Confirm the character has a LoRA trained badge and that the LoRA was trained on FLUX.2. If it was trained on an older base model, retrain it.
A post failed
Failed posts are almost always expired tokens. Check the API Status page and the platform credentials in n8n. Instagram tokens expire every ~60 days; YouTube OAuth expires periodically. Re-authenticate the affected platform and re-run.
Generation failed mid-run
If image or video generation fails partway, check your fal.ai credit balance first — running out of credits mid-generation is the most common cause. Top up and re-run.
When a run fails, the pipeline is designed to surface the real error at the node where it occurred. Read the actual error message rather than assuming — it usually names the exact problem (expired token, insufficient credits, wrong model string).
Drip Code — Private documentation. Last updated July 2026.