# google/veo-3/image-to-video > Veo 3 is the latest state-of-the art video generation model from Google DeepMind. ## Overview - **Endpoint**: `https://api.shortapi.ai/api/v1/job/create` - **Model ID**: `google/veo-3/image-to-video` - **Category**: image-to-video - **Kind**: inference ## Pricing The pricing for this model is as follows: in Quality mode, the rate is $0.16/sec without audio and $0.32/sec with audio; in Fast mode, the rate is $0.08/sec without audio and $0.12/sec with audio. 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: - **`mode`** (`string`, _required_): Video generation mode - Default: `fast` - Options: "fast", "quality" - **`prompt`** (`string`, _required_): Positive text prompt - Examples: "An action shot of a black lab swimming..." - **`duration`** (`string`, _required_): Video Length, unit: s (seconds) - Default: `8` - Options: "4", "6", "8" - **`image`** (`string`, _required_): Reference Image - **`aspect_ratio`** (`string`, _optional_): The aspect ratio of the generated video frame (width:height) - Default: `16:9` - Options: "auto", "16:9", "9:16" - **`resolution`** (`string`, _optional_): Output video resolution - Default: `720p` - Options: "720p", "1080p" - **`generate_audio`** (`bool`, _required_): Whether to generate original audio for the video - Default: `false` - Options: "true", "false" ### 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": { "images": [{ "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": "google/veo-3/image-to-video", "args": { "mode": "quality", "prompt": "Surreal cinematic ASMR. A thundercloud rests on a wooden cutting board. Close-up shot: a sharp knife slowly slices the cloud with floral-foam-like crisp sounds. Moisture seeps out; lightning-filled interior structure revealed. Action: rhythmic cutting, soft elastic cloud slices falling. Audio focus: crisp cutting, faint electric crackles, subtle distant rumble, blade tapping wood. Visuals: 8K photorealistic, ultra-high detail, shallow depth of field, fixed camera, sharp focus on the blade’s edge.", "duration": "8", "image": "https://file.shortapi.ai/assets/examples/google/veo-3/image-to-video-image.jpeg", "generate_audio": true }, "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": "google/veo-3/image-to-video", "args": { "mode": "quality", "prompt": "Surreal cinematic ASMR. A thundercloud rests on a wooden cutting board. Close-up shot: a sharp knife slowly slices the cloud with floral-foam-like crisp sounds. Moisture seeps out; lightning-filled interior structure revealed. Action: rhythmic cutting, soft elastic cloud slices falling. Audio focus: crisp cutting, faint electric crackles, subtle distant rumble, blade tapping wood. Visuals: 8K photorealistic, ultra-high detail, shallow depth of field, fixed camera, sharp focus on the blade’s edge.", "duration": "8", "image": "https://file.shortapi.ai/assets/examples/google/veo-3/image-to-video-image.jpeg", "generate_audio": true }, "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": "google/veo-3/image-to-video", "args": { "mode": "quality", "prompt": "Surreal cinematic ASMR. A thundercloud rests on a wooden cutting board. Close-up shot: a sharp knife slowly slices the cloud with floral-foam-like crisp sounds. Moisture seeps out; lightning-filled interior structure revealed. Action: rhythmic cutting, soft elastic cloud slices falling. Audio focus: crisp cutting, faint electric crackles, subtle distant rumble, blade tapping wood. Visuals: 8K photorealistic, ultra-high detail, shallow depth of field, fixed camera, sharp focus on the blade’s edge.", "duration": "8", "image": "https://file.shortapi.ai/assets/examples/google/veo-3/image-to-video-image.jpeg", "generate_audio": True }, "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()) ```