AI Shorts Generator
~$4.9731
1import requests
2import time
3import json
4
5api_key = "YOUR_API_KEY"
6url = "https://api.segmind.com/workflows/670d2cb6f552c2dfdc9172e3-v2"
7
8data = {
9 "quote": "You are tasked with creating a script for a hiking video that is about 25 seconds. In total there should be 5 scenes.\nYour goal is to create a movitation for trekking.\nPlease follow these instructions to create an engaging and impactful video:\nBegin by setting the scene and capturing the viewer's attention with a captivating visual.\nEach scene cut should occur every 5 seconds, ensuring a smooth flow and transition throughout the video.\nFor each scene cut, provide a detailed description of the stock image being shown.\nAlong with each image description, include a corresponding text that complements and enhances the visual. The text should be concise and powerful.\nEnsure that the sequence of images and text builds excitement and encourages viewers to take action.\nEnd the text on a soothing note not abruptly and a little detailed and as a storyline.\nEach text part should be long enough to be converted to a voiceover for a 5-6 seconds.\nStrictly output your response in a JSON list format, adhering to the following sample structure:[{ \"image_description\": \"Description of the first image here.\", \"text\": \"Text accompanying the first scene cut.\" },{ \"image_description\": \"Description of the second image here.\", \"text\": \"Text accompanying the second scene cut.\" },...]\n\nBy following these instructions, you will create an impactful {} short-form video."
10}
11
12def poll_for_result(poll_url):
13 """Poll the API until the generation is complete"""
14 while True:
15 response = requests.get(
16 poll_url,
17 headers={'Authorization': f'Bearer {api_key}'}
18 )
19 result = response.json()
20
21 if result['status'] == 'COMPLETED':
22 # Parse the output (it's a JSON string)
23 outputs = json.loads(result['output'])
24 return outputs
25 elif result['status'] == 'FAILED':
26 raise Exception(result.get('error', 'Generation failed'))
27
28 # Wait 7 seconds before polling again
29 time.sleep(7)
30
31# Make the initial request
32response = requests.post(
33 url,
34 json=data,
35 headers={
36 'Authorization': f'Bearer {api_key}',
37 'Content-Type': 'application/json'
38 }
39)
40
41if response.status_code == 200:
42 result = response.json()
43 print('Request queued:', result)
44
45 # Start polling for results
46 outputs = poll_for_result(result['poll_url'])
47 print('Generation complete:', outputs)
48else:
49 print(f"Error: {response.status_code}")
50 print(response.text) 1import requests
2import time
3import json
4
5api_key = "YOUR_API_KEY"
6url = "https://api.segmind.com/workflows/670d2cb6f552c2dfdc9172e3-v2"
7
8data = {
9 "quote": "You are tasked with creating a script for a hiking video that is about 25 seconds. In total there should be 5 scenes.\nYour goal is to create a movitation for trekking.\nPlease follow these instructions to create an engaging and impactful video:\nBegin by setting the scene and capturing the viewer's attention with a captivating visual.\nEach scene cut should occur every 5 seconds, ensuring a smooth flow and transition throughout the video.\nFor each scene cut, provide a detailed description of the stock image being shown.\nAlong with each image description, include a corresponding text that complements and enhances the visual. The text should be concise and powerful.\nEnsure that the sequence of images and text builds excitement and encourages viewers to take action.\nEnd the text on a soothing note not abruptly and a little detailed and as a storyline.\nEach text part should be long enough to be converted to a voiceover for a 5-6 seconds.\nStrictly output your response in a JSON list format, adhering to the following sample structure:[{ \"image_description\": \"Description of the first image here.\", \"text\": \"Text accompanying the first scene cut.\" },{ \"image_description\": \"Description of the second image here.\", \"text\": \"Text accompanying the second scene cut.\" },...]\n\nBy following these instructions, you will create an impactful {} short-form video."
10}
11
12def poll_for_result(poll_url):
13 """Poll the API until the generation is complete"""
14 while True:
15 response = requests.get(
16 poll_url,
17 headers={'Authorization': f'Bearer {api_key}'}
18 )
19 result = response.json()
20
21 if result['status'] == 'COMPLETED':
22 # Parse the output (it's a JSON string)
23 outputs = json.loads(result['output'])
24 return outputs
25 elif result['status'] == 'FAILED':
26 raise Exception(result.get('error', 'Generation failed'))
27
28 # Wait 7 seconds before polling again
29 time.sleep(7)
30
31# Make the initial request
32response = requests.post(
33 url,
34 json=data,
35 headers={
36 'Authorization': f'Bearer {api_key}',
37 'Content-Type': 'application/json'
38 }
39)
40
41if response.status_code == 200:
42 result = response.json()
43 print('Request queued:', result)
44
45 # Start polling for results
46 outputs = poll_for_result(result['poll_url'])
47 print('Generation complete:', outputs)
48else:
49 print(f"Error: {response.status_code}")
50 print(response.text)API Endpoint
POST
https://api.segmind.com/workflows/670d2cb6f552c2dfdc9172e3-v2Parameters
quoteoptionalstringQuote
Default:
"You are tasked with creating a script for a hiking video that is about 25 seconds. In total there should be 5 scenes.\nYour goal is to create a movitation for trekking.\nPlease follow these instructions to create an engaging and impactful video:\nBegin by setting the scene and capturing the viewer's attention with a captivating visual.\nEach scene cut should occur every 5 seconds, ensuring a smooth flow and transition throughout the video.\nFor each scene cut, provide a detailed description of the stock image being shown.\nAlong with each image description, include a corresponding text that complements and enhances the visual. The text should be concise and powerful.\nEnsure that the sequence of images and text builds excitement and encourages viewers to take action.\nEnd the text on a soothing note not abruptly and a little detailed and as a storyline.\nEach text part should be long enough to be converted to a voiceover for a 5-6 seconds.\nStrictly output your response in a JSON list format, adhering to the following sample structure:[{ \"image_description\": \"Description of the first image here.\", \"text\": \"Text accompanying the first scene cut.\" },{ \"image_description\": \"Description of the second image here.\", \"text\": \"Text accompanying the second scene cut.\" },...]\n\nBy following these instructions, you will create an impactful {} short-form video."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