TikTok Style Video Creation with Nano Banana 2 and Kling V1 Pro
Create engaging TikTok videos with photorealistic images and dynamic avatars using Nano Banana 2 and Kling V1 Pro.
~$2.1379
1import requests
2import time
3import json
4
5api_key = "YOUR_API_KEY"
6url = "https://api.segmind.com/workflows/69b10b7f2cdf1287e7f581f1-v2"
7
8data = {
9 "Input_Image": "https://segmind-inference-inputs.s3.amazonaws.com/7b65c30e-d24e-457d-bc06-33b1542d6698-2084a336-395b-4793-9237-65a0b358812d.png",
10 "Input_Prompt": "screengrab of a TikTok creator using this product, holding the product in her style room",
11 "Voiceover_script": "Okay, I’ve finally found a sunscreen I actually enjoy using. This is the Highness Mineral Sunscreen SPF 50, and it’s honestly been a game changer for my daily routine. It feels super lightweight, blends in really easily, and doesn’t leave that greasy white cast most sunscreens do. I love that it’s dermatologist tested and safe for both adults and kids. Plus, it’s reef-friendly and water-resistant. If you want reliable sun protection that feels comfortable all day, this one is definitely worth trying"
12}
13
14def poll_for_result(poll_url):
15 """Poll the API until the generation is complete"""
16 while True:
17 response = requests.get(
18 poll_url,
19 headers={'Authorization': f'Bearer {api_key}'}
20 )
21 result = response.json()
22
23 if result['status'] == 'COMPLETED':
24 # Parse the output (it's a JSON string)
25 outputs = json.loads(result['output'])
26 return outputs
27 elif result['status'] == 'FAILED':
28 raise Exception(result.get('error', 'Generation failed'))
29
30 # Wait 7 seconds before polling again
31 time.sleep(7)
32
33# Make the initial request
34response = requests.post(
35 url,
36 json=data,
37 headers={
38 'Authorization': f'Bearer {api_key}',
39 'Content-Type': 'application/json'
40 }
41)
42
43if response.status_code == 200:
44 result = response.json()
45 print('Request queued:', result)
46
47 # Start polling for results
48 outputs = poll_for_result(result['poll_url'])
49 print('Generation complete:', outputs)
50else:
51 print(f"Error: {response.status_code}")
52 print(response.text) 1import requests
2import time
3import json
4
5api_key = "YOUR_API_KEY"
6url = "https://api.segmind.com/workflows/69b10b7f2cdf1287e7f581f1-v2"
7
8data = {
9 "Input_Image": "https://segmind-inference-inputs.s3.amazonaws.com/7b65c30e-d24e-457d-bc06-33b1542d6698-2084a336-395b-4793-9237-65a0b358812d.png",
10 "Input_Prompt": "screengrab of a TikTok creator using this product, holding the product in her style room",
11 "Voiceover_script": "Okay, I’ve finally found a sunscreen I actually enjoy using. This is the Highness Mineral Sunscreen SPF 50, and it’s honestly been a game changer for my daily routine. It feels super lightweight, blends in really easily, and doesn’t leave that greasy white cast most sunscreens do. I love that it’s dermatologist tested and safe for both adults and kids. Plus, it’s reef-friendly and water-resistant. If you want reliable sun protection that feels comfortable all day, this one is definitely worth trying"
12}
13
14def poll_for_result(poll_url):
15 """Poll the API until the generation is complete"""
16 while True:
17 response = requests.get(
18 poll_url,
19 headers={'Authorization': f'Bearer {api_key}'}
20 )
21 result = response.json()
22
23 if result['status'] == 'COMPLETED':
24 # Parse the output (it's a JSON string)
25 outputs = json.loads(result['output'])
26 return outputs
27 elif result['status'] == 'FAILED':
28 raise Exception(result.get('error', 'Generation failed'))
29
30 # Wait 7 seconds before polling again
31 time.sleep(7)
32
33# Make the initial request
34response = requests.post(
35 url,
36 json=data,
37 headers={
38 'Authorization': f'Bearer {api_key}',
39 'Content-Type': 'application/json'
40 }
41)
42
43if response.status_code == 200:
44 result = response.json()
45 print('Request queued:', result)
46
47 # Start polling for results
48 outputs = poll_for_result(result['poll_url'])
49 print('Generation complete:', outputs)
50else:
51 print(f"Error: {response.status_code}")
52 print(response.text)API Endpoint
POST
https://api.segmind.com/workflows/69b10b7f2cdf1287e7f581f1-v2Parameters
Input_Imageoptionalstring (uri)Input Image
Default:
"https://segmind-inference-inputs.s3.amazonaws.com/7b65c30e-d24e-457d-bc06-33b1542d6698-2084a336-395b-4793-9237-65a0b358812d.png"Input_PromptoptionalstringInput Prompt
Default:
"screengrab of a TikTok creator using this product, holding the product in her style room"Voiceover_scriptoptionalstringVoiceover Script
Default:
"Okay, I’ve finally found a sunscreen I actually enjoy using. This is the Highness Mineral Sunscreen SPF 50, and it’s honestly been a game changer for my daily routine. It feels super lightweight, blends in really easily, and doesn’t leave that greasy white cast most sunscreens do. I love that it’s dermatologist tested and safe for both adults and kids. Plus, it’s reef-friendly and water-resistant. If you want reliable sun protection that feels comfortable all day, this one is definitely worth trying"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