Skip to main content

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

  1. Open Studio > Influencers in the dashboard
  2. Click + to create a new influencer
  3. Set the character traits in the Properties panel (demographics, face, hair, body)
  4. Type a scene description (e.g. “smiling, casual outfit”)
  5. Select an AI model and click Generate
  6. 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

ModelReference Method
Flux ProKontext image-to-image with image_url
Flux Dev/SchnellImage-to-image with image_url + strength
Nano Banana Pro/2Edit endpoint with image_urls array
Higgsfield Soulreference_image_urls array

Using Product References

You can also use product images as references alongside character consistency:
  1. Click Reference in the prompt bar
  2. Switch to the Products tab
  3. Select a product image (e.g. a perfume bottle)
  4. 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

StyleDescription
RealisticUltra-realistic photography, studio lighting
AnimeVibrant anime illustration style
3DPixar-quality 3D rendered character
FashionHigh fashion editorial photography
MinimalClean, 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" }'