POST
/
v1
/
teams
/
{teamId}
/
personas
/
{personaId}
/
render
TypeScript client
import { OctosparkClient } from '@octospark/sdk'

const client = new OctosparkClient({
  token: process.env.OCTOSPARK_TOKEN
})

const response = await client.personas.renderPersonaView({
  teamId: process.env.OCTOSPARK_TEAM_ID ?? "teamId",
  personaId: process.env.OCTOSPARK_PERSONA_ID ?? "personaId",
  body: {},
})
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "teamId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "organizationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "modelId": "<string>",
  "statusError": "<string>",
  "primaryAssetId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "assetIds": [
    "3c90c3cc-0d44-4b50-8888-8dd25736052a"
  ],
  "estimatedCostDecimillicents": 123,
  "actualCostDecimillicents": 123,
  "callerIdempotencyKey": "<string>",
  "createdAt": "<string>",
  "updatedAt": "<string>"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

teamId
string
required

Team (workspace) id (UUID). Discover ids via the list teams endpoint or the agent context.

personaId
string
required

Persona id (UUID), returned by list or create persona.

Body

application/json
prompt
string
required

a string at most 10000 character(s) long

Required string length: 1 - 10000
cameraView
enum<string>
required

The requested camera angle for the new persona image: front, three-quarter, or profile.

Available options:
front,
three_quarter,
profile
framing
enum<string>
required

The requested composition for the new persona image, such as a headshot or full-body view.

Available options:
headshot,
portrait,
half_body,
full_body
draftProfile
object

An unsaved complete persona profile used only to render a preview. It is captured in the generation snapshot and is not persisted by this request.

portrayedAge
integer

a number between 15 and 75

Required range: 15 <= x <= 75
lifeEventIds
string<uuid>[]

an array of at most 100 item(s)

Maximum array length: 100

a Universally Unique Identifier

Pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
modelId
string

a string at most 512 character(s) long

Required string length: 1 - 512
seed
integer

an integer

Response

Success

id
string<uuid>
required

a Universally Unique Identifier

Pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
teamId
string<uuid>
required

a Universally Unique Identifier

Pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
organizationId
string<uuid>
required

a Universally Unique Identifier

Pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
sourceSurface
enum<string>
required
Available options:
studio,
agent,
editor,
persona
modelId
string
required
modality
enum<string>
required
Available options:
image,
video
route
enum<string>
required
Available options:
openrouter,
fal
status
enum<string>
required
Available options:
queued,
reserved,
running,
rate_limited,
ready,
failed,
cancelled,
skipped_insufficient_credits
statusError
string | null
required
primaryAssetId
string<uuid> | null
required

a Universally Unique Identifier

Pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
assetIds
string<uuid>[]
required

a Universally Unique Identifier

Pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
estimatedCostDecimillicents
number
required
actualCostDecimillicents
number
required
callerIdempotencyKey
string | null
required
createdAt
string
required
updatedAt
string
required