API Reference v1

Complete REST API documentation for Influencer Studio. Generate images, videos, and manage your account programmatically.

Authentication

All API requests require authentication using a Bearer token. Include your API key in the Authorization header:

Authorization: Bearer YOUR_API_KEY

You can generate API keys from your account settings.

Base URL

https://api.influencerstudio.com/api/v1

Images

POST/api/v1/images/generate

Generate images

Generate images from a text prompt with optional influencer and settings

Request Body

FieldTypeDescription
prompt*stringText description of the image to generate.
negative_promptstringThings to avoid in the generated image
modelstring
33 options available
default: flux/krea
AI model to use for generation
influencer_idstringOptional: ID of a trained influencer
batchinteger
default: 1
Number of images to be generated.
settingsobject-
settings.aspect_ratiostring
default: 1:1
Image aspect ratio
settings.num_inference_stepsinteger
default: 28
-
init_imagestringOptional: URL of an initial image
webhookstring-
workspace_idstring-

Responses

200Generation queued successfully
400Invalid request
401Unauthorized
404Influencer or workspace not found
Requires authentication
curl -X POST "https://api.influencerstudio.com/api/v1/images/generate" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "prompt": "A professional headshot of a person in business attire, studio lighting",
  "model": "flux/krea",
  "batch": 2,
  "settings": {
    "aspect_ratio": "1:1"
  }
}'
POST/api/v1/images/edit

Edit image

Edit an existing image using AI inpainting with a text prompt

Request Body

FieldTypeDescription
image_url*stringPublic URL of the image to edit
prompt*stringDescription of the edits to make to the image
additional_imagesarrayOptional: Additional reference images for context
modelstring
2 options available
default: SEEDREAM
AI model for editing
webhookstringOptional: Webhook URL to receive completion notifications
workspace_idstringOptional: Specific workspace ID

Responses

200Image edit queued successfully
400Invalid request
401Unauthorized
403Workspace does not belong to team
Requires authentication
curl -X POST "https://api.influencerstudio.com/api/v1/images/edit" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "image_url": "https://example.com/image.jpg",
  "prompt": "change the background to a beach",
  "model": "SEEDREAM"
}'
POST/api/v1/images/face-swap

Swap faces in images

Swap faces between a source image and target image

Request Body

FieldTypeDescription
source_image*stringPublic URL of the source face image - the face that will be swapped into the target
target_image*stringPublic URL of the target image - the image where the face will be swapped
generation_idstringOptional: Existing generation ID to add this face swap to
workspace_idstringOptional: Specific workspace ID

Responses

200Face swap queued successfully
400Invalid request
401Unauthorized
404Workspace not found
Requires authentication
curl -X POST "https://api.influencerstudio.com/api/v1/images/face-swap" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "source_image": "https://example.com/face.jpg",
  "target_image": "https://example.com/body.jpg"
}'

Videos

POST/api/v1/videos/generate

Generate video

Generate a video from a text prompt with optional first frame image

Request Body

FieldTypeDescription
prompt*stringText description of the video to generate.
modelstring
39 options available
default: kling-video/v2.6/pro/text-to-video
Video generation model
settingsobject-
settings.aspect_ratiostring
default: 16:9
Video aspect ratio. Options: '16:9', '9:16', '1:1'. Default: '16:9'
settings.durationinteger
default: 5
Video duration in seconds. Range: 1-10, Default: 5
first_frame_imagestringOptional: URL of image to use as first frame
webhookstringOptional: Webhook URL to receive completion notifications
workspace_idstringOptional: Specific workspace ID

Responses

200Video generation queued successfully
400Invalid request or model not found
401Unauthorized
403Workspace does not belong to team
Requires authentication
curl -X POST "https://api.influencerstudio.com/api/v1/videos/generate" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "prompt": "A person walking through a city, cinematic",
  "model": "kling-video/v2.6/pro/text-to-video",
  "settings": {
    "aspect_ratio": "16:9",
    "duration": 5
  }
}'
POST/api/v1/videos/lipsync

Create lip sync video

Generate a lip-synced video by synchronizing video with audio

Request Body

FieldTypeDescription
video_url*stringPublic URL of the video file to lip-sync
audio_url*stringPublic URL of the audio file to sync with
modelstring
3 options available
default: sync-lipsync/v2/pro
Lip-sync model to use
generation_idstringOptional: Existing generation ID to add this lip-sync to
workspace_idstringOptional: Specific workspace ID

Responses

200Lip sync generation queued successfully
400Invalid request or model not found
401Unauthorized
404Workspace or generation not found
Requires authentication
curl -X POST "https://api.influencerstudio.com/api/v1/videos/lipsync" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "video_url": "https://example.com/video.mp4",
  "audio_url": "https://example.com/audio.mp3",
  "model": "sync-lipsync/v2/pro"
}'

3D Models

POST/api/v1/models-3d/generate

Generate 3D model

Generate a 3D model from a text prompt using Meshy v6.

Request Body

FieldTypeDescription
prompt*stringText description of the 3D model to generate.
init_imagestringOptional: Image URL for image-to-3D generation
modelstring
2 options available
default: meshy/v6-preview/text-to-3d
Model ID for 3D generation
settingsobjectModel settings
settings.modestring
2 options available
Generation mode. 'preview' is faster, 'full' is higher quality. Default: full
settings.art_stylestring
2 options available
Art style for the 3D model. Default: realistic
settings.topologystring
2 options available
Mesh topology. 'quad' is better for animation/rigging. Default: triangle
settings.target_polycountintegerTarget polygon count. Range: 1000-100000. Default: 30000
settings.symmetry_modestring
3 options available
Symmetry mode. 'auto' detects automatically. Default: auto
settings.should_remeshbooleanEnable remeshing for cleaner topology. Default: true
settings.is_a_t_posebooleanGenerate character in A/T pose for rigging. Default: false
settings.enable_pbrbooleanGenerate PBR texture maps (normal, roughness, metallic). Default: false
settings.enable_prompt_expansionbooleanExpand prompt with AI for better results. Default: false
webhookstringOptional: Webhook URL to receive completion notifications
workspace_idstringOptional: Specific workspace ID

Responses

2003D model generation queued successfully
400Invalid request
401Unauthorized
402Insufficient credits
403Workspace does not belong to team
404Workspace not found
Requires authentication
curl -X POST "https://api.influencerstudio.com/api/v1/models-3d/generate" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "prompt": "A medieval knight in full armor",
  "settings": {
    "mode": "preview",
    "art_style": "realistic",
    "topology": "quad",
    "target_polycount": 50000,
    "symmetry_mode": "off",
    "should_remesh": true,
    "is_a_t_pose": true,
    "enable_pbr": true,
    "enable_prompt_expansion": true
  },
  "model": "meshy/v6-preview/text-to-3d"
}'

Text

POST/api/v1/text/generate

Generate text

Generate text using Venice AI private and uncensored models.

Request Body

FieldTypeDescription
prompt*stringThe text prompt to generate a response for
modelstring
3 options available
default: venice-uncensored
AI model to use. Default: venice-uncensored
settingsobjectGeneration settings: temperature, max_tokens, system_prompt
settings.temperaturenumberControls randomness. Lower = more focused, Higher = more creative. Range: 0-2. Default: 0.7
settings.max_tokensintegerMaximum tokens to generate. Range: 1-4000. Default: 1000
settings.system_promptstringOptional system prompt to set AI behavior and context
workspace_idstringOptional: Specific workspace ID

Responses

200Text generated successfully
400Invalid request
401Unauthorized
402Insufficient credits
403Workspace does not belong to team
404Workspace not found
Requires authentication
curl -X POST "https://api.influencerstudio.com/api/v1/text/generate" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "prompt": "Write a creative story about a dog",
  "model": "venice-uncensored",
  "settings": {
    "temperature": 0.5,
    "max_tokens": 2000,
    "system_prompt": "You are a helpful teacher who explains complex topics simply"
  }
}'

Generations

GET/api/v1/generations/{id}/status

Get generation status

Poll the status of a generation and get result URLs when complete

Responses

200Generation status
401Unauthorized
403Workspace does not belong to team
404Generation not found
Requires authentication
curl -X GET "https://api.influencerstudio.com/api/v1/generations/{id}/status" \
  -H "Authorization: Bearer YOUR_API_KEY"

Billing

GET/api/v1/billing/plans

Get available credit plans

Returns all available one-time credit purchase plans

Responses

200List of available plans
401Unauthorized
Requires authentication
curl -X GET "https://api.influencerstudio.com/api/v1/billing/plans" \
  -H "Authorization: Bearer YOUR_API_KEY"
GET/api/v1/billing/credits

Get current credit balance

Returns the total credit balance for the authenticated team

Responses

200Total credits
401Unauthorized
Requires authentication
curl -X GET "https://api.influencerstudio.com/api/v1/billing/credits" \
  -H "Authorization: Bearer YOUR_API_KEY"
POST/api/v1/billing/top-up

Purchase credits

Create a Stripe checkout session to purchase credits (one-time purchases only)

Request Body

FieldTypeDescription
plan_id*stringPlan ID from GET /api/v1/billing/plans
variant_idstringOptional: Specific variant ID
success_urlstringOptional: URL to redirect after successful payment
cancel_urlstringOptional: URL to redirect if payment is cancelled

Responses

200Checkout URL created
400Invalid request
401Unauthorized
404Plan not found
Requires authentication
curl -X POST "https://api.influencerstudio.com/api/v1/billing/top-up" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "plan_id": "497267"
}'