Skip to Content
API CallVideo GenerationOpenAI/Sora2-I2V-Pro

OpenAI/Sora2-I2V-Pro

Image-to-Video Model

Asynchronous Task Submission

Endpoint

https://api.umodelverse.ai/v1/tasks/submit

Input

ParameterTypeRequiredDescription
modelstringYesModel name, in this case, openai/sora-2/image-to-video-pro
input.first_frame_urlstringYesFirst frame image URL for the video, can be a URL or Base64
input.promptstringNoPrompt used to guide the video generation
parameters.resolutionstringNoResolution for the generated video.
Options:
- 720p
- 1080p
Defaults to 720p
parameters.durationintNoVideo generation duration (seconds), options are 4, 8, 12, defaults to 4

Request Example

⚠️ If you are using a Windows system, it is recommended to use Postman or other API calling tools.

curl --location --globoff 'https://api.umodelverse.ai/v1/tasks/submit' \ --header 'Authorization: <YOUR_API_KEY>' \ --header 'Content-Type: application/json' \ --data '{ "model": "openai/sora-2/image-to-video-pro", "input": { "first_frame_url": "https://umodelverse-inference.cn-wlcb.ufileos.com/ucloud-maxcot.jpg", "prompt": "The image is coming to life" }, "parameters": { "resolution": "720p", "duration": 4 } }'

Output

ParameterTypeDescription
output.task_idstringUnique identifier for the asynchronous task
request_idstringUnique identifier for the request

Response Example

{ "output": { "task_id": "task_id" }, "request_id": "request_id" }

Check Task Status

Endpoint

https://api.umodelverse.ai/v1/tasks/status?task_id=<task_id>

Request Example

curl --location 'https://api.umodelverse.ai/v1/tasks/status?task_id=<task_id>' \ --header 'Authorization: <YOUR_API_KEY>'

Output

ParameterTypeDescription
output.task_idstringUnique identifier for the asynchronous task
output.task_statusstringTask status: Pending,Running,Success,Failure
output.urlsarrayList of URLs for the video result
output.submit_timeintegerTimestamp when the task was submitted
output.finish_timeintegerTimestamp when the task was completed
output.error_messagestringError message returned in case of failure
usage.durationintegerDuration of task execution (seconds)
request_idstringUnique identifier for the request

Response Example

{ "output": { "task_id": "task_id", "task_status": "Success", "urls": ["https://xxxxx/xxxx.mp4"], "submit_time": 1756959000, "finish_time": 1756959050 }, "usage": { "duration": 4 }, "request_id": "" }