# shortapi/poppy-v1.0/image-to-video > poppy-v1.0 is an image-to-video model from ShortAPI, designed to breathe life into static imagery through deep narrative motion. It precisely interprets the composition and intent of the initial frame, imbuing it with fluid dynamics and lighting transitions that align with physical intuition. Powered by ShortAPI’s high-performance inference architecture, poppy-v1.0 ensures exceptional fidelity to the source image while delivering superior logical consistency, seamlessly evolving stills into cinematic sequences. ## Overview - **Endpoint**: `https://api.shortapi.ai/api/v1/job/create` - **Model ID**: `shortapi/poppy-v1.0/image-to-video` - **Category**: image-to-video - **Kind**: inference ## Pricing $0.048 / sec 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 prompts - Examples: "An action shot of a black lab swimming..." - **`image`** (`string`, _required_): Reference Image: This parameter supports passing an image via Base64 encoding or a publicly accessible image URL. Do not add any prefix (such as data:image/png;base64) before the Base64 string - **`aspect_ratio`** (`string`, _optional_): The aspect ratio of the generated video frame (width:height) - Default: `16:9` - Options: "1:1", "3:2", "2:3", "16:9", "9:16", "4:3" ### 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": "shortapi/poppy-v1.0/image-to-video", "args": { "prompt": "A grey koala tightly clinging to a trunk covered in green moss, holding two green eucalyptus leaves in its mouth, looking directly at the camera; amber-colored sap drips down the right side of the trunk with clear bark texture; background features green grass, trees, and two standing brown kangaroos; warm natural light, golden sunset atmosphere, clear and natural realistic colors, fixed camera, only natural subtle movements of the koala chewing its leaves.", "image": "https://file.shortapi.ai/assets/examples/shortapi/poppy-v1.0/image-to-video-image.webp" }, "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": "shortapi/poppy-v1.0/image-to-video", "args": { "prompt": "A grey koala tightly clinging to a trunk covered in green moss, holding two green eucalyptus leaves in its mouth, looking directly at the camera; amber-colored sap drips down the right side of the trunk with clear bark texture; background features green grass, trees, and two standing brown kangaroos; warm natural light, golden sunset atmosphere, clear and natural realistic colors, fixed camera, only natural subtle movements of the koala chewing its leaves.", "image": "https://file.shortapi.ai/assets/examples/shortapi/poppy-v1.0/image-to-video-image.webp" }, "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": "shortapi/poppy-v1.0/image-to-video", "args": { "prompt": "A grey koala tightly clinging to a trunk covered in green moss, holding two green eucalyptus leaves in its mouth, looking directly at the camera; amber-colored sap drips down the right side of the trunk with clear bark texture; background features green grass, trees, and two standing brown kangaroos; warm natural light, golden sunset atmosphere, clear and natural realistic colors, fixed camera, only natural subtle movements of the koala chewing its leaves.", "image": "https://file.shortapi.ai/assets/examples/shortapi/poppy-v1.0/image-to-video-image.webp" }, "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()) ```