How to Create a Consistent AI Character for Social Media and Virtual Influencers
A practical guide to creating AI virtual influencers and social media personas with consistent visual identity. Covers the workflow from face creation to daily content generation for platforms like Instagram, TikTok, and Xiaohongshu.
The Rise of AI Virtual Influencers
Virtual influencers are no longer a novelty. AI-generated personas are running Instagram accounts, posting on TikTok, and building followings on Xiaohongshu (小红书). Some have sponsorship deals. Some have millions of followers.
The technical barrier to entry has dropped dramatically. You don't need a 3D modeling team or a CGI pipeline anymore. But you do need one thing that most AI image tools can't deliver: the same face in every post.
If your virtual influencer looks different in Monday's cafe photo and Wednesday's beach photo, followers notice immediately. The illusion breaks. The account looks fake (well, faker than it already is).
The Consistency Challenge for Content Creators
Here's what a typical week of content looks like for a virtual influencer:
- Monday: Morning coffee selfie
- Tuesday: Outfit of the day (OOTD) in the city
- Wednesday: Workout at the gym
- Thursday: Cooking at home
- Friday: Night out, cocktail bar
- Weekend: Beach trip, casual vibes
That's 7+ images of the same person in completely different settings. With standard AI image generation, you'd get 7 different people.
The Workflow That Works
Step 1: Design Your Character
Start with a face. You have two options:
Option A: Start from a real photo. If you have a face reference (your own, a model's with permission, or a stock photo), use it directly.
Option B: Generate a face first. Use any image generation tool to create the initial face you want. Midjourney, Stable Diffusion, whatever produces the look you're going for. This becomes your base reference.
Step 2: Lock the Identity
Generate a standardized identity baseline from your face reference:
curl -X POST https://www.aurashot.art/v1/character/id-photo \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"images": {"face": "https://example.com/character-face.jpg"}}'
This produces a 4-in-1 ID photo (front, left 45°, right 45°, smiling) that becomes your character's identity anchor. Save this — you'll reference it for every single post.
Step 3: Generate Daily Content
Now you can generate your character in any scene:
# Monday: Morning coffee
curl -X POST https://www.aurashot.art/v1/character/generate \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "morning selfie in a bright kitchen, holding a coffee mug, messy hair, natural light, cozy oversized sweater",
"images": {"face": "https://example.com/id-photo.png"}
}'
# Tuesday: OOTD
curl -X POST https://www.aurashot.art/v1/character/generate \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "full body shot on a city street, trendy streetwear, confident pose, golden hour lighting",
"images": {
"face": "https://example.com/id-photo.png",
"clothes": "https://example.com/streetwear-reference.jpg"
}
}'
Same face, different scene, different outfit. Every time.
Step 4: Edit and Iterate
Not happy with the pose? Edit instead of regenerating:
curl -X POST https://www.aurashot.art/v1/character/edit \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "change to a more relaxed pose, add a slight smile",
"images": {
"target": "https://example.com/tuesday-ootd.png",
"face": "https://example.com/id-photo.png"
}
}'
Content Prompt Library
Here's a starter library of prompts for common social media content types:
Lifestyle
| Content Type | Prompt Template | |-------------|----------------| | Morning selfie | "morning selfie in bed/kitchen, natural light, [outfit], sleepy/fresh expression" | | Coffee shop | "sitting in a cozy cafe, holding a latte, [outfit], warm lighting, candid feel" | | Cooking | "in a modern kitchen, cooking [dish], apron, natural light, candid" | | Reading | "curled up on a sofa with a book, cozy lighting, [outfit], relaxed" |
Fashion
| Content Type | Prompt Template | |-------------|----------------| | OOTD | "full body shot, [location], [outfit description], confident pose, [lighting]" | | Close-up | "close-up portrait, [outfit], [background], soft focus background" | | Mirror selfie | "mirror selfie in a [room], [outfit], phone in hand, casual pose" |
Travel
| Content Type | Prompt Template | |-------------|----------------| | Beach | "at the beach, [swimwear/outfit], ocean background, golden hour, relaxed" | | City | "walking through [city landmark], [outfit], street photography style" | | Resort | "at a luxury resort pool, [outfit], tropical plants, bright daylight" |
Seasonal
| Content Type | Prompt Template | |-------------|----------------| | Summer | "summer vibes, [light outfit], outdoor, bright sunshine, vibrant" | | Winter | "winter outfit, coat and scarf, [snowy/cozy background], warm tones" | | Holiday | "festive outfit, [holiday decorations], warm lighting, cheerful" |
Scaling with Clothing References
For fashion-focused accounts, pass clothing reference images for precise outfit control:
{
"prompt": "wearing this exact outfit at a rooftop restaurant, evening, city skyline background",
"images": {
"face": "id-photo-url",
"clothes": "reference-outfit-url"
}
}
This lets you "dress" your character in specific items — useful for brand collaborations or when you want to match a specific aesthetic.
Batch Content Generation
For efficiency, generate a week's content in one session:
import requests
API_KEY = "sk_live_YOUR_KEY"
ID_PHOTO = "https://example.com/id-photo.png"
weekly_content = [
{"day": "monday", "prompt": "morning selfie in kitchen, coffee mug, oversized sweater, natural light"},
{"day": "tuesday", "prompt": "full body OOTD on city street, trendy streetwear, golden hour"},
{"day": "wednesday", "prompt": "at the gym, workout outfit, mid-exercise, energetic"},
{"day": "thursday", "prompt": "cooking pasta in a modern kitchen, apron, candid, warm lighting"},
{"day": "friday", "prompt": "cocktail bar, elegant evening outfit, moody lighting, holding a drink"},
{"day": "saturday", "prompt": "beach day, swimwear, ocean background, relaxed, bright sunshine"},
{"day": "sunday", "prompt": "lazy sunday, pajamas, couch, reading a book, soft morning light"},
]
for content in weekly_content:
resp = requests.post(
"https://www.aurashot.art/v1/character/generate",
headers={"Authorization": f"Bearer {API_KEY}"},
json={"prompt": content["prompt"], "images": {"face": ID_PHOTO}},
)
image_url = resp.json()["outputs"][0]["url"]
print(f"{content['day']}: {image_url}")
7 images, same person, completely different contexts. Schedule them across the week.
Platform-Specific Tips
Instagram: Square or 4:5 ratio works best. Include "Instagram-style" in your prompt for the right aesthetic.
TikTok: Vertical 9:16. These work as thumbnail/cover images for video content.
Xiaohongshu (小红书): Vertical format, bright and clean aesthetic. Chinese-language prompts work well — "在咖啡馆里,穿着白色连衣裙,自然光,清新风格".
Twitter/X: Landscape or square. Good for character reveals and story moments.
Cost for Content Creators
A virtual influencer posting daily needs ~30 images/month (some days you reuse or skip).
- AuraShot Pro ($7.9/mo, 200 images): Covers 6+ months of daily content with room for iteration
- AuraShot Free (5 images): Enough to test the concept before committing
Compare this to commissioning an artist: 30 custom illustrations would cost $600-3000+/month.
Getting Started
- Get a free API key
- Create or find a face reference for your character
- Generate the identity baseline (ID photo)
- Generate 3-4 test posts in different scenes
- Verify the face is consistent across all images
- Start building your content calendar
The hardest part isn't the technology — it's developing a compelling character personality and content strategy. The images are the easy part now.