API Reference v1
Complete REST API documentation for Influencer Studio. Generate images, videos, and manage your account programmatically.
Quick Links
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
/api/v1/images/generateGenerate images
Generate images from a text prompt with optional influencer and settings
Request Body
| Field | Type | Description |
|---|---|---|
prompt* | string | Text description of the image to generate. |
negative_prompt | string | Things to avoid in the generated image |
model | string33 options available default: flux/krea | AI model to use for generation |
influencer_id | string | Optional: ID of a trained influencer |
batch | integer default: 1 | Number of images to be generated. |
settings | object | - |
settings.aspect_ratio | string default: 1:1 | Image aspect ratio |
settings.num_inference_steps | integer default: 28 | - |
init_image | string | Optional: URL of an initial image |
webhook | string | - |
workspace_id | string | - |
Responses
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"
}
}'/api/v1/images/editEdit image
Edit an existing image using AI inpainting with a text prompt
Request Body
| Field | Type | Description |
|---|---|---|
image_url* | string | Public URL of the image to edit |
prompt* | string | Description of the edits to make to the image |
additional_images | array | Optional: Additional reference images for context |
model | string2 options available default: SEEDREAM | AI model for editing |
webhook | string | Optional: Webhook URL to receive completion notifications |
workspace_id | string | Optional: Specific workspace ID |
Responses
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"
}'/api/v1/images/face-swapSwap faces in images
Swap faces between a source image and target image
Request Body
| Field | Type | Description |
|---|---|---|
source_image* | string | Public URL of the source face image - the face that will be swapped into the target |
target_image* | string | Public URL of the target image - the image where the face will be swapped |
generation_id | string | Optional: Existing generation ID to add this face swap to |
workspace_id | string | Optional: Specific workspace ID |
Responses
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
/api/v1/videos/generateGenerate video
Generate a video from a text prompt with optional first frame image
Request Body
| Field | Type | Description |
|---|---|---|
prompt* | string | Text description of the video to generate. |
model | string39 options available default: kling-video/v2.6/pro/text-to-video | Video generation model |
settings | object | - |
settings.aspect_ratio | string default: 16:9 | Video aspect ratio. Options: '16:9', '9:16', '1:1'. Default: '16:9' |
settings.duration | integer default: 5 | Video duration in seconds. Range: 1-10, Default: 5 |
first_frame_image | string | Optional: URL of image to use as first frame |
webhook | string | Optional: Webhook URL to receive completion notifications |
workspace_id | string | Optional: Specific workspace ID |
Responses
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
}
}'/api/v1/videos/lipsyncCreate lip sync video
Generate a lip-synced video by synchronizing video with audio
Request Body
| Field | Type | Description |
|---|---|---|
video_url* | string | Public URL of the video file to lip-sync |
audio_url* | string | Public URL of the audio file to sync with |
model | string3 options available default: sync-lipsync/v2/pro | Lip-sync model to use |
generation_id | string | Optional: Existing generation ID to add this lip-sync to |
workspace_id | string | Optional: Specific workspace ID |
Responses
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
/api/v1/models-3d/generateGenerate 3D model
Generate a 3D model from a text prompt using Meshy v6.
Request Body
| Field | Type | Description |
|---|---|---|
prompt* | string | Text description of the 3D model to generate. |
init_image | string | Optional: Image URL for image-to-3D generation |
model | string2 options available default: meshy/v6-preview/text-to-3d | Model ID for 3D generation |
settings | object | Model settings |
settings.mode | string2 options available | Generation mode. 'preview' is faster, 'full' is higher quality. Default: full |
settings.art_style | string2 options available | Art style for the 3D model. Default: realistic |
settings.topology | string2 options available | Mesh topology. 'quad' is better for animation/rigging. Default: triangle |
settings.target_polycount | integer | Target polygon count. Range: 1000-100000. Default: 30000 |
settings.symmetry_mode | string3 options available | Symmetry mode. 'auto' detects automatically. Default: auto |
settings.should_remesh | boolean | Enable remeshing for cleaner topology. Default: true |
settings.is_a_t_pose | boolean | Generate character in A/T pose for rigging. Default: false |
settings.enable_pbr | boolean | Generate PBR texture maps (normal, roughness, metallic). Default: false |
settings.enable_prompt_expansion | boolean | Expand prompt with AI for better results. Default: false |
webhook | string | Optional: Webhook URL to receive completion notifications |
workspace_id | string | Optional: Specific workspace ID |
Responses
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
/api/v1/text/generateGenerate text
Generate text using Venice AI private and uncensored models.
Request Body
| Field | Type | Description |
|---|---|---|
prompt* | string | The text prompt to generate a response for |
model | string3 options available default: venice-uncensored | AI model to use. Default: venice-uncensored |
settings | object | Generation settings: temperature, max_tokens, system_prompt |
settings.temperature | number | Controls randomness. Lower = more focused, Higher = more creative. Range: 0-2. Default: 0.7 |
settings.max_tokens | integer | Maximum tokens to generate. Range: 1-4000. Default: 1000 |
settings.system_prompt | string | Optional system prompt to set AI behavior and context |
workspace_id | string | Optional: Specific workspace ID |
Responses
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
/api/v1/generations/{id}/statusGet generation status
Poll the status of a generation and get result URLs when complete
Responses
curl -X GET "https://api.influencerstudio.com/api/v1/generations/{id}/status" \
-H "Authorization: Bearer YOUR_API_KEY"Billing
/api/v1/billing/plansGet available credit plans
Returns all available one-time credit purchase plans
Responses
curl -X GET "https://api.influencerstudio.com/api/v1/billing/plans" \
-H "Authorization: Bearer YOUR_API_KEY"/api/v1/billing/creditsGet current credit balance
Returns the total credit balance for the authenticated team
Responses
curl -X GET "https://api.influencerstudio.com/api/v1/billing/credits" \
-H "Authorization: Bearer YOUR_API_KEY"/api/v1/billing/top-upPurchase credits
Create a Stripe checkout session to purchase credits (one-time purchases only)
Request Body
| Field | Type | Description |
|---|---|---|
plan_id* | string | Plan ID from GET /api/v1/billing/plans |
variant_id | string | Optional: Specific variant ID |
success_url | string | Optional: URL to redirect after successful payment |
cancel_url | string | Optional: URL to redirect if payment is cancelled |
Responses
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"
}'