Sora (OpenAI)
Video generation uses async task mode: returns
video_idafter creation, poll to get results.
Create Video
http
POST /v1/videosbash
curl --location --request POST 'https://neolink.com/api/v1/videos' \
--header 'Authorization: Bearer <API Key>' \
--form 'model="<Model ID>"' \
--form 'prompt="A calico cat playing a piano on stage"' \
--form 'seconds="4"' \
--form 'size="720x1280"'python
import requests
url = "https://neolink.com/api/v1/videos"
headers = {
"Authorization": "Bearer <API Key>"
}
files = {
"model": (None, "<Model ID>"),
"prompt": (None, "A calico cat playing a piano on stage"),
"seconds": (None, "4"),
"size": (None, "720x1280"),
}
response = requests.post(url, headers=headers, files=files)
print(response.status_code)
print(response.text)Supported Models: sora-2-guan, sora-2-pro-guan
Get Video
http
GET /v1/videos/{video_id}/contentbash
curl --location --request GET 'https://neolink.com/api/v1/videos/<video Id>/content?video_id=<video Id>' \
--header 'Authorization: Bearer <API Key>' \
--output output.mp4python
import requests
API_KEY = "<API Key>"
VIDEO_ID = "<video Id>"
url = f"https://neolink.com/api/v1/videos/{VIDEO_ID}/content"
headers = {
"Authorization": f"Bearer {API_KEY}"
}
params = {
"video_id": VIDEO_ID
}
response = requests.get(url, headers=headers, params=params, stream=True)
response.raise_for_status()
with open("output.mp4", "wb") as f:
for chunk in response.iter_content(chunk_size=8192):
if chunk:
f.write(chunk)
print("Video saved as output.mp4")Note: The variable
video_idis returned after a successful video creation request.
