Skip to main content
POST
/
influencer-studio
/
create
curl -X POST "https://mvp.tryunsora.com/api/v1/influencer-studio/create" \
  -H "Authorization: Bearer uns_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "Fitness creator in athleisure, gym mirror selfie, natural light",
    "aspectRatio": "9:16",
    "styleMode": "mirror_selfie",
    "cameraAngle": "pov"
  }'
curl -X POST "https://mvp.tryunsora.com/api/v1/influencer-studio/create" \
  -H "Authorization: Bearer uns_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "Luxury travel influencer at rooftop pool, golden hour",
    "aspectRatio": "4:3",
    "count": 3,
    "styleMode": "golden_hour",
    "age": 25
  }'
{
  "success": true,
  "generations": [
    {
      "id": "<string>"
    }
  ],
  "creditsDeducted": 123,
  "creditsRemaining": 123
}
{
"error": "<string>",
"success": true,
"code": "<string>",
"message": "<string>"
}
{
"error": "<string>",
"success": true,
"code": "<string>",
"message": "<string>"
}
Creates AI influencer image job(s). Each image in count is a separate generation row and credit charge. Poll each id via Poll generation status (type: INFLUENCER).

Headers

HeaderRequiredDescription
AuthorizationYesBearer uns_live_* API key or Clerk JWT
Content-TypeYesapplication/json

Request body

prompt
string
required
Describe the influencer scene, outfit, mood, or action.
aspectRatio
string
Output aspect ratio. Default: 1:1.Allowed: 1:1, 16:9, 9:16, 4:3, 3:4
count
integer
Number of images to generate (separate jobs). Min 1, max 10. Default: 1.
cameraAngle
string
Optional framing preset.Allowed: pov, portrait, full-body, close-up, side-profile
styleMode
string
Optional look / lighting preset.Allowed: ugc, casual_daylight, cozy_indoor, low_light_intimate, raw_flash, golden_hour, moody_night, car_selfie, mirror_selfie, luxury_influencer, cinematic, travel_content, beauty_closeup, party_night_out
age
integer
Optional subject age in years. Min 18, max 70.

Async completion

Poll each generations[].id via Poll generation status until COMPLETED or FAILED. Webhooks are not supported on the public API.

Response

Single image (count: 1):
{
  "success": true,
  "generations": [
    { "id": "cm123abc", "status": "QUEUED" }
  ],
  "creditsDeducted": 10,
  "creditsRemaining": 90
}
Multiple images (count > 1) return one entry per job in generations. Credits deducted = per-image cost × count.

Example

curl -X POST "https://mvp.tryunsora.com/api/v1/influencer-studio/create" \
  -H "Authorization: Bearer uns_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "Fitness creator in athleisure, gym mirror selfie, natural light",
    "aspectRatio": "9:16",
    "styleMode": "mirror_selfie",
    "cameraAngle": "pov"
  }'
curl -X POST "https://mvp.tryunsora.com/api/v1/influencer-studio/create" \
  -H "Authorization: Bearer uns_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "Luxury travel influencer at rooftop pool, golden hour",
    "aspectRatio": "4:3",
    "count": 3,
    "styleMode": "golden_hour",
    "age": 25
  }'

Errors

HTTPWhen
400Missing/invalid prompt, aspectRatio, cameraAngle, styleMode, or age
401Invalid auth
402Insufficient credits
404User not found
500Server error

Authorizations

Authorization
string
header
required

Clerk session JWT or Unsora API key (uns_live_*)

Body

application/json
prompt
string
required
aspectRatio
enum<string>
default:1:1
Available options:
1:1,
16:9,
9:16,
4:3,
3:4
count
integer
default:1
Required range: 1 <= x <= 10
cameraAngle
enum<string>
Available options:
pov,
portrait,
full-body,
close-up,
side-profile
styleMode
enum<string>
Available options:
ugc,
casual_daylight,
cozy_indoor,
low_light_intimate,
raw_flash,
golden_hour,
moody_night,
car_selfie,
mirror_selfie,
luxury_influencer,
cinematic,
travel_content,
beauty_closeup,
party_night_out
age
integer

Subject age in years.

Required range: 18 <= x <= 70

Response

Job queued

success
boolean
required
generations
object[]
required
creditsDeducted
number
creditsRemaining
number