# bytedance/seedance-2.0-mini/omni-reference > Seedance 2.0 Mini is a multimodal AI video model developed by ByteDance. It generates cinematic videos from a reference video, optional images, and text instructions, preserving motion and visual consistency with efficient, cost-effective generation. ## Overview - **Endpoint**: `https://api.shortapi.ai/api/v1/job/create` - **Model ID**: `bytedance/seedance-2.0-mini/omni-reference` - **Category**: reference-to-video - **Kind**: inference ## Pricing 480p $0.039/s, 720p $0.084/s. Total Cost = Unit Price × (Input Video Duration + Output Video Duration). For more details, please check our pricing page. ## API Information This model can be used via our HTTP API or more conveniently via our client libraries. See the input and output schema below, as well as the usage examples. ### Input Schema The API accepts the following input parameters: - **`prompt`** (`string`, _required_): Text prompt - Examples: "An action shot of a black lab swimming..." - **`duration`** (`int`, _optional_): Video duration - Default: `5` - Range: `4` to `15` - **`resolution`** (`string`, _optional_): Output video resolution - Default: `720p` - Options: "480p", "720p" - **`aspect_ratio`** (`string`, _optional_): The aspect ratio of the generated video frame (width:height) - Default: `16:9` - Options: "21:9", "16:9", "9:16", "4:3", "1:1", "3:4" - **`video_url`** (`string`, _required_): Reference video URL. A maximum of 1 video is currently supported. - **`image_urls`** (`list`, _optional_): Optional reference image URLs. The total number of video_url, image_urls, and audio_urls must be no more than 12. - **`audio_urls`** (`list`, _optional_): Optional reference audio URLs. Supported formats: MP3 and WAV. Maximum duration: 15 seconds. The total number of video_url, image_urls, and audio_urls must be no more than 12. ### Output Schema The API returns a JSON response with a `job_id` for tracking the request status. **Create Job Response:** ```json { "code": 0, "data": { "amount": "0.02", "job_id": "" } } ``` **Query Job Result (when status is 2, meaning succeeded):** ```json { "code": 0, "data": { "status": 2, "result": { "videos": [{ "url": "https://..." }] } } } ``` ## Use Example To use this model, make an HTTP POST request to the API endpoint, then poll for results using the returned `job_id`. ### Bash (cURL) ```bash # Step 1: Create a job response=$(curl --request POST \ --url https://api.shortapi.ai/api/v1/job/create \ --header "Authorization: Bearer $SHORTAPI_KEY" \ --header "Content-Type: application/json" \ --data '{ "model": "bytedance/seedance-2.0-mini/omni-reference", "args": { "prompt": "Replace the puppy in @Video 1 with the panda from @Image 1", "video_url": "https://shortapi-01.oss-cn-beijing.aliyuncs.com/assets/examples/bytedance/seedance-2.0/video-edit-video.mp4" }, "callback_url": "CALLBACK_URL" }') JOB_ID=$(echo "$response" | grep -o '"job_id": *"[^"]*"' | sed 's/"job_id": *//; s/"//g') # Step 2: Poll for results curl --request GET \ --url "https://api.shortapi.ai/api/v1/job/query?id=$JOB_ID" \ --header "Authorization: Bearer $SHORTAPI_KEY" ``` ### JavaScript (Fetch API) ```javascript // Step 1: Create a job const response = await fetch(`https://api.shortapi.ai/api/v1/job/create`, { method: "POST", headers: { "Authorization": `Bearer ${SHORTAPI_KEY}`, "Content-Type": "application/json" }, body: JSON.stringify({ "model": "bytedance/seedance-2.0-mini/omni-reference", "args": { "prompt": "Replace the puppy in @Video 1 with the panda from @Image 1", "video_url": "https://shortapi-01.oss-cn-beijing.aliyuncs.com/assets/examples/bytedance/seedance-2.0/video-edit-video.mp4" }, "callback_url": "CALLBACK_URL" }) }); const data = await response.json(); const JOB_ID = data.job_id; // Step 2: Poll for results const result = await fetch(`https://api.shortapi.ai/api/v1/job/query?id=${JOB_ID}`, { method: "GET", headers: { "Authorization": `Bearer ${SHORTAPI_KEY}` } }); const resultData = await result.json(); console.log(resultData); ``` ### Python (Requests) ```python import requests # Step 1: Create a job url = "https://api.shortapi.ai/api/v1/job/create" payload = { "model": "bytedance/seedance-2.0-mini/omni-reference", "args": { "prompt": "Replace the puppy in @Video 1 with the panda from @Image 1", "video_url": "https://shortapi-01.oss-cn-beijing.aliyuncs.com/assets/examples/bytedance/seedance-2.0/video-edit-video.mp4" }, "callback_url": "CALLBACK_URL" } headers = { "Authorization": f"Bearer {SHORTAPI_KEY}", "Content-Type": "application/json" } response = requests.post(url, headers=headers, json=payload) data = response.json() JOB_ID = data.get("job_id") # Step 2: Poll for results result_url = f"https://api.shortapi.ai/api/v1/job/query?id={JOB_ID}" result = requests.get(result_url, headers={"Authorization": f"Bearer {SHORTAPI_KEY}"}) print(result.json()) ```