Overview
The Influencer Studio lets you create consistent AI-generated personas for your content. Define a character’s appearance and style, generate images, and maintain visual consistency across all future generations — regardless of which AI model you use.
Creating an Influencer
- Open Studio > Influencers in the dashboard
- Click + to create a new influencer
- Set the character traits in the Properties panel (demographics, face, hair, body)
- Type a scene description (e.g. “smiling, casual outfit”)
- Select an AI model and click Generate
- The first image defines the character — click Save to persist
Character Consistency
After the first image is generated, all subsequent images automatically maintain the same character identity:
- The first image is used as a character reference sent to the AI model
- You only need to describe the scene (e.g. “on the beach”, “in a coffee shop”) — no need to re-describe the character
- This works across all supported models: Flux Pro, Nano Banana, Higgsfield Soul
- Each model uses its native reference image format for best results
How it works per model
| Model | Reference Method |
|---|
| Flux Pro | Kontext image-to-image with image_url |
| Flux Dev/Schnell | Image-to-image with image_url + strength |
| Nano Banana Pro/2 | Edit endpoint with image_urls array |
| Higgsfield Soul | reference_image_urls array |
Using Product References
You can also use product images as references alongside character consistency:
- Click Reference in the prompt bar
- Switch to the Products tab
- Select a product image (e.g. a perfume bottle)
- Type your scene: “holding the product in a studio”
The character stays consistent while the product appears in the scene.
Structured Prompts
For the first image (character creation), Supapost sends a JSON-structured prompt to the AI model. This format produces more consistent and accurate results than plain text:
{
"subject": { "type": "person", "gender": "female", "age": "18-24", "ethnicity": "White" },
"face": { "shape": "Heart", "eye_color": "Blue", "expression": "neutral" },
"hair": { "color": "Brown", "length": "Long", "style": "Wavy" },
"scene": "portrait, looking at camera",
"style": "Ultra realistic photography, professional portrait",
"camera": { "angle": "eye level", "lens": "85mm", "aperture": "f/2.8" }
}
After the first image, subsequent prompts are just the scene description (e.g. “on a tropical beach”) since the model gets the character from the reference image.
Managing Images
- Click an image to open the fullscreen lightbox with metadata (model, prompt, timestamp)
- Arrow keys to navigate between images
- Download individual images
- Delete individual images (removes from R2 storage)
- Delete influencer removes all images and the influencer record
Art Styles
| Style | Description |
|---|
| Realistic | Ultra-realistic photography, studio lighting |
| Anime | Vibrant anime illustration style |
| 3D | Pixar-quality 3D rendered character |
| Fashion | High fashion editorial photography |
| Minimal | Clean, soft lighting, muted tones |
API Usage
List Influencers
curl https://api.supapost.so/influencers \
-H "Authorization: Bearer YOUR_API_KEY"
Create Influencer
curl -X POST https://api.supapost.so/influencers \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Luna",
"description": "Young woman with brown hair",
"style": "realistic",
"model": "fal:flux-pro",
"images": ["https://cdn.supapost.so/..."],
"traits": { "gender": "Female", "ageRange": "18-24" }
}'
Update Influencer (add images)
curl -X PATCH https://api.supapost.so/influencers/INFLUENCER_UUID \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"images": ["https://cdn.supapost.so/img1.jpg", "https://cdn.supapost.so/img2.jpg", "https://cdn.supapost.so/new-img.jpg"]
}'
When updating images, send the full array including existing images. The first image is always used as the avatar and character reference.
Delete Influencer
curl -X DELETE https://api.supapost.so/influencers/INFLUENCER_UUID \
-H "Authorization: Bearer YOUR_API_KEY"
This permanently deletes the influencer and all associated images from storage.
Delete Individual Image
To remove a single image, update the influencer with the image removed from the array, then delete the file from R2:
# 1. Update influencer images (without the deleted one)
curl -X PATCH https://api.supapost.so/influencers/INFLUENCER_UUID \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "images": ["https://cdn.supapost.so/img1.jpg", "https://cdn.supapost.so/img2.jpg"] }'
# 2. Delete the image file from R2
curl -X POST https://api.supapost.so/assets/delete \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "url": "https://cdn.supapost.so/removed-img.jpg" }'