AI-Powered Virtual Try-On Video Creation with Kling 2.1
Create hyper-realistic virtual try-on videos from static images using Kling 2.1 AI.
~$0.9421
1import requests
2import time
3import json
4
5api_key = "YOUR_API_KEY"
6url = "https://api.segmind.com/workflows/68f1edea2431ac976656e99b-v1"
7
8data = {
9 "Image_Input": "https://segmind-inference-inputs.s3.amazonaws.com/3c2f4963-c4cb-46f5-9585-31e6aed17ec1-be695278-fb85-4fd2-8be0-7efa0ccb4933.jpg",
10 "Input_Prompt": "A cinematic, hyper-realistic scene featuring a male model seated at the center of the frame on a minimalist vintage office chair. He wears a sleek black leather jacket, oversized leather pants, and modern sneakers. The camera is completely static as the model slowly rotates in place, maintaining a relaxed yet confident posture with his arms resting naturally by his sides. The lighting is soft and directional, creating subtle highlights on the glossy leather surfaces while casting smooth, dramatic shadows that define the folds and contours of the outfit. The background is pure white and uncluttered, emphasizing the silhouette and sharp lines of his look. The scene feels minimal, elegant, and hypnotic — the slow, deliberate rotation drawing focus to the play of light, texture, and form in a modern, fashion-editorial atmosphere."
11}
12
13def poll_for_result(poll_url):
14 """Poll the API until the generation is complete"""
15 while True:
16 response = requests.get(
17 poll_url,
18 headers={'Authorization': f'Bearer {api_key}'}
19 )
20 result = response.json()
21
22 if result['status'] == 'COMPLETED':
23 # Parse the output (it's a JSON string)
24 outputs = json.loads(result['output'])
25 return outputs
26 elif result['status'] == 'FAILED':
27 raise Exception(result.get('error', 'Generation failed'))
28
29 # Wait 7 seconds before polling again
30 time.sleep(7)
31
32# Make the initial request
33response = requests.post(
34 url,
35 json=data,
36 headers={
37 'Authorization': f'Bearer {api_key}',
38 'Content-Type': 'application/json'
39 }
40)
41
42if response.status_code == 200:
43 result = response.json()
44 print('Request queued:', result)
45
46 # Start polling for results
47 outputs = poll_for_result(result['poll_url'])
48 print('Generation complete:', outputs)
49else:
50 print(f"Error: {response.status_code}")
51 print(response.text)
1import requests
2import time
3import json
4
5api_key = "YOUR_API_KEY"
6url = "https://api.segmind.com/workflows/68f1edea2431ac976656e99b-v1"
7
8data = {
9 "Image_Input": "https://segmind-inference-inputs.s3.amazonaws.com/3c2f4963-c4cb-46f5-9585-31e6aed17ec1-be695278-fb85-4fd2-8be0-7efa0ccb4933.jpg",
10 "Input_Prompt": "A cinematic, hyper-realistic scene featuring a male model seated at the center of the frame on a minimalist vintage office chair. He wears a sleek black leather jacket, oversized leather pants, and modern sneakers. The camera is completely static as the model slowly rotates in place, maintaining a relaxed yet confident posture with his arms resting naturally by his sides. The lighting is soft and directional, creating subtle highlights on the glossy leather surfaces while casting smooth, dramatic shadows that define the folds and contours of the outfit. The background is pure white and uncluttered, emphasizing the silhouette and sharp lines of his look. The scene feels minimal, elegant, and hypnotic — the slow, deliberate rotation drawing focus to the play of light, texture, and form in a modern, fashion-editorial atmosphere."
11}
12
13def poll_for_result(poll_url):
14 """Poll the API until the generation is complete"""
15 while True:
16 response = requests.get(
17 poll_url,
18 headers={'Authorization': f'Bearer {api_key}'}
19 )
20 result = response.json()
21
22 if result['status'] == 'COMPLETED':
23 # Parse the output (it's a JSON string)
24 outputs = json.loads(result['output'])
25 return outputs
26 elif result['status'] == 'FAILED':
27 raise Exception(result.get('error', 'Generation failed'))
28
29 # Wait 7 seconds before polling again
30 time.sleep(7)
31
32# Make the initial request
33response = requests.post(
34 url,
35 json=data,
36 headers={
37 'Authorization': f'Bearer {api_key}',
38 'Content-Type': 'application/json'
39 }
40)
41
42if response.status_code == 200:
43 result = response.json()
44 print('Request queued:', result)
45
46 # Start polling for results
47 outputs = poll_for_result(result['poll_url'])
48 print('Generation complete:', outputs)
49else:
50 print(f"Error: {response.status_code}")
51 print(response.text)
API Endpoint
POST
https://api.segmind.com/workflows/68f1edea2431ac976656e99b-v1
Parameters
Image_Input
optionalstring (uri)
Image Input
Default:
"https://segmind-inference-inputs.s3.amazonaws.com/3c2f4963-c4cb-46f5-9585-31e6aed17ec1-be695278-fb85-4fd2-8be0-7efa0ccb4933.jpg"
Input_Prompt
optionalstring
Input Prompt
Default:
"A cinematic, hyper-realistic scene featuring a male model seated at the center of the frame on a minimalist vintage office chair. He wears a sleek black leather jacket, oversized leather pants, and modern sneakers. The camera is completely static as the model slowly rotates in place, maintaining a relaxed yet confident posture with his arms resting naturally by his sides. The lighting is soft and directional, creating subtle highlights on the glossy leather surfaces while casting smooth, dramatic shadows that define the folds and contours of the outfit. The background is pure white and uncluttered, emphasizing the silhouette and sharp lines of his look. The scene feels minimal, elegant, and hypnotic — the slow, deliberate rotation drawing focus to the play of light, texture, and form in a modern, fashion-editorial atmosphere."
Response Format
Returns: Polling-based asynchronous response
Initial request returns a poll_url. Poll every 7 seconds until status is COMPLETED.
Common Error Codes
The API returns standard HTTP status codes. Detailed error messages are provided in the response body.
400
Bad Request
Invalid parameters or request format
401
Unauthorized
Missing or invalid API key
403
Forbidden
Insufficient permissions
404
Not Found
Workflow not found
406
Insufficient Credits
Not enough credits to process request
429
Rate Limited
Too many requests
500
Server Error
Internal server error
502
Bad Gateway
Service temporarily unavailable
504
Timeout
Request timed out