Download Comp from Perry1323/Min: direct link, hf CLI and curl.
- Browser
- Download file 2.75 kB
-
https://huggingface.co/Perry1323/Min/resolve/main/Comp
- Command line
-
hf download hf://Perry1323/Min/Comp
-
curl -L -o Comp https://huggingface.co/Perry1323/Min/resolve/main/Comp
2.75 kB
| import os | |
| import time | |
| import requests | |
| import json | |
| api_key = "Fill in the API Key" | |
| prompt = "Description of your video" | |
| model = "video-01" | |
| output_file_name = "output.mp4" #Please enter the save path for the generated video here | |
| def invoke_video_generation()->str: | |
| print("-----------------Submit video generation task-----------------") | |
| url = "https://api.minimaxi.chat/v1/video_generation" | |
| payload = json.dumps({ | |
| "prompt": prompt, | |
| "model": model | |
| }) | |
| headers = { | |
| 'authorization': 'Bearer ' + api_key, | |
| 'content-type': 'application/json', | |
| } | |
| response = requests.request("POST", url, headers=headers, data=payload) | |
| print(response.text) | |
| task_id = response.json()['task_id'] | |
| print("Video generation task submitted successfully, task ID.:"+task_id) | |
| return task_id | |
| def query_video_generation(task_id: str): | |
| url = "https://api.minimaxi.chat/v1/query/video_generation?task_id="+task_id | |
| headers = { | |
| 'authorization': 'Bearer ' + api_key | |
| } | |
| response = requests.request("GET", url, headers=headers) | |
| status = response.json()['status'] | |
| if status == 'Preparing': | |
| print("...Preparing...") | |
| return "", 'Preparing' | |
| elif status == 'Queueing': | |
| print("...In the queue...") | |
| return "", 'Queueing' | |
| elif status == 'Processing': | |
| print("...Generating...") | |
| return "", 'Processing' | |
| elif status == 'Success': | |
| return response.json()['file_id'], "Finished" | |
| elif status == 'Fail': | |
| return "", "Fail" | |
| else: | |
| return "", "Unknown" | |
| def fetch_video_result(file_id: str): | |
| print("---------------Video generated successfully, downloading now---------------") | |
| url = "https://api.minimaxi.chat/v1/files/retrieve?file_id="+file_id | |
| headers = { | |
| 'authorization': 'Bearer '+api_key, | |
| } | |
| response = requests.request("GET", url, headers=headers) | |
| print(response.text) | |
| download_url = response.json()['file']['download_url'] | |
| print("Video download link:" + download_url) | |
| with open(output_file_name, 'wb') as f: | |
| f.write(requests.get(download_url).content) | |
| print("THe video has been downloaded in:"+os.getcwd()+'/'+output_file_name) | |
| if __name__ == '__main__': | |
| task_id = invoke_video_generation() | |
| print("-----------------Video generation task submitted -----------------") | |
| while True: | |
| time.sleep(10) | |
| file_id, status = query_video_generation(task_id) | |
| if file_id != "": | |
| fetch_video_result(file_id) | |
| print("---------------Successful---------------") | |
| break | |
| elif status == "Fail" or status == "Unknown": | |
| print("---------------Failed---------------") | |
| break |