AI Music Video Visualizer
Create captivating music video visualizers for any song using AI. Transform lyrics into stunning visuals perfect for YouTube videos.
~$0.6598
1import requests
2import time
3import json
4
5api_key = "YOUR_API_KEY"
6url = "https://api.segmind.com/workflows/6822cd912a362087d198f2aa-v1"
7
8data = {
9 "song_lyrics": "Inside it feels like I've been barely breathing\nFeels like air is running out\nInside I'm stuck here staring at a ceiling\nYou put up to keep me down, down, down, down, down\n\nWaking up without a name\nOpening my eyes\nKnowing nothing is the same\nCircling around a drain\nAs I realize that there's no one else to blame\n\nYou keep me waiting, down here, so far below\nStaring up from the bottom, up from the bottom\nI try escaping, but there's nowhere to go\nStaring up from the bottom, up from the bottom\n\nEach time I hold my fist inside my pocket\nHold my breath until I'm blue\nFeels like a knife pushed deep inside a socket\nBristling, listening to you, you, you, you, you\n\nWaking up without a name\nOpening my eyes\nKnowing nothing's gonna change\nCircling around a drain\nAs I realize that there's no one else to blame\n\nYou keep me waiting, down here, so far below\nStaring up from the bottom, up from the bottom\nTry escaping, but there's nowhere to go\nStaring up from the bottom, up from the bottom\n\nEverybody out, that devil is coming\nPoison on his lips, and his words mean nothing\nCruel like a mountaintop, father never loved him\nMama said he's bad enough times that it sunk in\nEverybody out, that devil is coming\nPromise you the world, but he's always bluffing\nBefore you even know it's a trap you're stuck in\nHe's gone like a ghost, already off running\n\nYou keep me waiting, down here, so far below\nStaring up from the bottom, up from the bottom\nI try escaping, but there's nowhere to go\nStaring up from the bottom, gotta get out of here\nUp from the bottom, gotta get out of here"
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/6822cd912a362087d198f2aa-v1"
7
8data = {
9 "song_lyrics": "Inside it feels like I've been barely breathing\nFeels like air is running out\nInside I'm stuck here staring at a ceiling\nYou put up to keep me down, down, down, down, down\n\nWaking up without a name\nOpening my eyes\nKnowing nothing is the same\nCircling around a drain\nAs I realize that there's no one else to blame\n\nYou keep me waiting, down here, so far below\nStaring up from the bottom, up from the bottom\nI try escaping, but there's nowhere to go\nStaring up from the bottom, up from the bottom\n\nEach time I hold my fist inside my pocket\nHold my breath until I'm blue\nFeels like a knife pushed deep inside a socket\nBristling, listening to you, you, you, you, you\n\nWaking up without a name\nOpening my eyes\nKnowing nothing's gonna change\nCircling around a drain\nAs I realize that there's no one else to blame\n\nYou keep me waiting, down here, so far below\nStaring up from the bottom, up from the bottom\nTry escaping, but there's nowhere to go\nStaring up from the bottom, up from the bottom\n\nEverybody out, that devil is coming\nPoison on his lips, and his words mean nothing\nCruel like a mountaintop, father never loved him\nMama said he's bad enough times that it sunk in\nEverybody out, that devil is coming\nPromise you the world, but he's always bluffing\nBefore you even know it's a trap you're stuck in\nHe's gone like a ghost, already off running\n\nYou keep me waiting, down here, so far below\nStaring up from the bottom, up from the bottom\nI try escaping, but there's nowhere to go\nStaring up from the bottom, gotta get out of here\nUp from the bottom, gotta get out of here"
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/6822cd912a362087d198f2aa-v1Parameters
song_lyricsoptionalstringSong Lyrics
Default:
"Inside it feels like I've been barely breathing\nFeels like air is running out\nInside I'm stuck here staring at a ceiling\nYou put up to keep me down, down, down, down, down\n\nWaking up without a name\nOpening my eyes\nKnowing nothing is the same\nCircling around a drain\nAs I realize that there's no one else to blame\n\nYou keep me waiting, down here, so far below\nStaring up from the bottom, up from the bottom\nI try escaping, but there's nowhere to go\nStaring up from the bottom, up from the bottom\n\nEach time I hold my fist inside my pocket\nHold my breath until I'm blue\nFeels like a knife pushed deep inside a socket\nBristling, listening to you, you, you, you, you\n\nWaking up without a name\nOpening my eyes\nKnowing nothing's gonna change\nCircling around a drain\nAs I realize that there's no one else to blame\n\nYou keep me waiting, down here, so far below\nStaring up from the bottom, up from the bottom\nTry escaping, but there's nowhere to go\nStaring up from the bottom, up from the bottom\n\nEverybody out, that devil is coming\nPoison on his lips, and his words mean nothing\nCruel like a mountaintop, father never loved him\nMama said he's bad enough times that it sunk in\nEverybody out, that devil is coming\nPromise you the world, but he's always bluffing\nBefore you even know it's a trap you're stuck in\nHe's gone like a ghost, already off running\n\nYou keep me waiting, down here, so far below\nStaring up from the bottom, up from the bottom\nI try escaping, but there's nowhere to go\nStaring up from the bottom, gotta get out of here\nUp from the bottom, gotta get out of here"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