curl -X POST "https://mvp.tryunsora.com/api/v1/influencer-studio/create" \
-H "Authorization: Bearer uns_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_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>",
"status": "<string>"
}
],
"creditsDeducted": 123,
"creditsRemaining": 123
}{
"error": "<string>",
"success": true,
"code": "<string>",
"message": "<string>"
}{
"error": "<string>",
"success": true,
"code": "<string>",
"message": "<string>"
}AI influencer
Create influencer
Queue one or more AI influencer portrait jobs to generate consistent, on-brand photos of your virtual creator from a reference image.
POST
/
influencer-studio
/
create
curl -X POST "https://mvp.tryunsora.com/api/v1/influencer-studio/create" \
-H "Authorization: Bearer uns_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_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>",
"status": "<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
Multiple images (
count is a separate generation row and credit charge. Poll each id via Poll generation status (type: INFLUENCER).
To keep one face across every post and video, read the guide: consistent AI influencer.
Headers
| Header | Required | Description |
|---|---|---|
Authorization | Yes | Bearer uns_* API key or Clerk JWT |
Content-Type | Yes | application/json |
Request body
string
required
Describe the influencer scene, outfit, mood, or action.
string
Output aspect ratio. Default:
1:1.Allowed: 1:1, 16:9, 9:16, 4:3, 3:4integer
Number of images to generate (separate jobs). Min
1, max 10. Default: 1.string
Optional framing preset.Allowed:
pov, portrait, full-body, close-up, side-profilestring
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_outinteger
Optional subject age in years. Min
18, max 70.Async completion
Poll eachgenerations[].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
}
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_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_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
| HTTP | When |
|---|---|
400 | Missing/invalid prompt, aspectRatio, cameraAngle, styleMode, or age |
401 | Invalid auth |
402 | Insufficient credits |
404 | User not found |
500 | Server error |
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
Describe the influencer scene, outfit, mood, or action.
Available options:
1:1, 16:9, 9:16, 4:3, 3:4 Required range:
1 <= x <= 10Available options:
pov, portrait, full-body, close-up, side-profile 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 Required range:
18 <= x <= 70
