## Basic tool info Model name: xai/grok-imagine-video-extension Model description: Edit or extend a short clip with xAI Grok Imagine. Upload a source video and a detailed prompt to generate a continued MP4 sequence. Model cover: https://cdn.wiro.ai/uploads/models/xai-grok-imagine-video-extension-cover.mp4 Model categories: - tool - partner - xai - image-to-video - nogpu-pipeline Run Task Endpoint (POST): https://api.wiro.ai/v1/Run/xai/grok-imagine-video-extension Get Task Detail Endpoint (POST): https://api.wiro.ai/v1/Task/Detail ## Model Inputs: - name: inputVideo label: Input Video help: Required. Input video for editing (max 8.7s) or extending (2-15s). Only 1 video allowed. type: combinefileinput default: xai-grok-image-video-extension-input-1.mp4 - name: prompt label: Prompt help: Required. Text description of the desired edit or extension. type: textarea default: Cinematic, smooth tracking shot continuing the slow pan from right to left. As the camera glides past the foreground baskets of lemons, apples, and the large orange pumpkin, a gentle coastal breeze sweeps through the scene. The dense clusters of hanging dried white garlic, red chili peppers, and gourds sway softly and independently with accurate pendulum physics and realistic collision, without morphing or losing their complex, papery textures. From the left edge of the frame, a weathered vendor\'s hand reaches in to gently pick up one of the bright yellow lemons from the woven basket, demonstrating flawless anatomical geometry and precise object interaction. The deep background remains perfectly stable, maintaining the rigid, high-resolution structure of the sunlit, rocky green mountains and the clear blue sky without any warping or hallucination during the continued camera movement. Crisp, realistic shadows cast by the bamboo roof shift naturally across the vibrant produce. - name: videoMode label: Video Mode help: Required. Edit modifies the video content. Extend continues the video from its last frame. type: select default: edit options: - value: "edit" label: Edit Video - value: "extend" label: Extend Video - name: duration label: Extension Duration help: Required for extend mode. Controls the extension length in seconds (2-10). Ignored for edit mode. type: number default: 5 ## Model Parameter Inspires: - inputVideo: https://cdn.wiro.ai/uploads/sampleinputs/xai-grok-image-video-extension-input-1.mp4 - prompt: Cinematic, smooth tracking shot continuing the slow pan from right to left. As the camera glides past the foreground baskets of lemons, apples, and the large orange pumpkin, a gentle coastal breeze sweeps through the scene. The dense clusters of hanging dried white garlic, red chili peppers, and gourds sway softly and independently with accurate pendulum physics and realistic collision, without morphing or losing their complex, papery textures. From the left edge of the frame, a weathered vendor\'s hand reaches in to gently pick up one of the bright yellow lemons from the woven basket, demonstrating flawless anatomical geometry and precise object interaction. The deep background remains perfectly stable, maintaining the rigid, high-resolution structure of the sunlit, rocky green mountains and the clear blue sky without any warping or hallucination during the continued camera movement. Crisp, realistic shadows cast by the bamboo roof shift naturally across the vibrant produce. - videoMode: extend - duration: 5 - inputVideo: https://cdn.wiro.ai/uploads/sampleinputs/xai-grok-image-video-extension-input-2.mp4 - prompt: Cinematic, slow panning shot continuing smoothly to the right while gently tilting down over the ornate wrought-iron railing, revealing more of the steep drop, the dark blue Mediterranean sea, and the sandy beach far below. The highly complex, clustered geometry of the colorful cliffside houses and the rugged mountain terrain remains perfectly rigid and distinct, with zero morphing, melting, or architectural hallucination. Small, realistic waves roll and crash gently on the distant shoreline with accurate fluid dynamics. The sharp, intricate shadows cast by the railing on the sunlit stone terrace maintain perfect structural tracking and perspective with the camera\'s movement. A small flock of seagulls flies dynamically through the deep midground gorge, displaying flawless avian flight physics and accurate depth perception against the vast, bright landscape. - videoMode: extend - duration: 5 - inputVideo: https://cdn.wiro.ai/uploads/sampleinputs/xai-grok-image-video-extension-input-4.mp4 - prompt: Edit the video so the illuminated spokes and outer rim of the Ferris wheel dynamically and smoothly cycle through a continuous, vibrant RGB color spectrum (shifting seamlessly through neon pink, purple, red, golden yellow, and bright cyan) as it rotates. The color transitions must be fluid and temporally consistent across the rigid metal geometry of the wheel without causing the structural spokes or passenger cabins to warp, melt, or hallucinate. The shifting neon colors must cast physically accurate, dynamically changing ambient light and reflections onto the attached white passenger cabins, the dark pavement below, and the surrounding architectural facades. The twilight sky, background city streetlights, and overall camera movement must remain perfectly stable and completely unaffected by the edit. - videoMode: edit - inputVideo: https://cdn.wiro.ai/uploads/sampleinputs/xai-grok-image-video-extension-input-3.mp4 - prompt: Edit the video to completely remove all boats, watercraft, and their trailing white water wakes from the Grand Canal. Fill the empty spaces seamlessly with continuous, natural-looking green canal water. The newly generated water surface must feature realistic, gentle ripples, accurate fluid dynamics, and stable, undisturbed reflections of the surrounding historic Venetian buildings and the bright sky. The complex architectural geometry of the palazzos, the distant basilica, the clear daytime lighting, and the overall perspective must remain perfectly intact, without any morphing, hallucination, or structural distortion throughout the shot. - videoMode: edit ## Integration Header Prepare ```bash # Sign up Wiro dashboard and create project export YOUR_API_KEY="{{useSelectedProjectAPIKey}}"; export YOUR_API_SECRET="XXXXXXXXX"; # unix time or any random integer value export NONCE=$(date +%s); # hmac-SHA256 (YOUR_API_SECRET+Nonce) with YOUR_API_KEY export SIGNATURE="$(echo -n "${YOUR_API_SECRET}${NONCE}" | openssl dgst -sha256 -hmac "${YOUR_API_KEY}")"; ``` ## Run Command - Make HTTP Post Request ```bash curl -X POST "https://api.wiro.ai/v1/Run/xai/grok-imagine-video-extension" -H "Content-Type: multipart/form-data" -H "x-api-key: ${YOUR_API_KEY}" -H "x-nonce: ${NONCE}" -H "x-signature: ${SIGNATURE}" -d '{ "inputVideo": "xai-grok-image-video-extension-input-1.mp4", "prompt": "Cinematic, smooth tracking shot continuing the slow pan from right to left. As the camera glides past the foreground baskets of lemons, apples, and the large orange pumpkin, a gentle coastal breeze sweeps through the scene. The dense clusters of hanging dried white garlic, red chili peppers, and gourds sway softly and independently with accurate pendulum physics and realistic collision, without morphing or losing their complex, papery textures. From the left edge of the frame, a weathered vendor\\'s hand reaches in to gently pick up one of the bright yellow lemons from the woven basket, demonstrating flawless anatomical geometry and precise object interaction. The deep background remains perfectly stable, maintaining the rigid, high-resolution structure of the sunlit, rocky green mountains and the clear blue sky without any warping or hallucination during the continued camera movement. Crisp, realistic shadows cast by the bamboo roof shift naturally across the vibrant produce.", "videoMode": "edit", "duration": 5, "callbackUrl": "You can provide a callback URL; Wiro will send a POST request to it when the task is completed." }'; ``` ## Run Command - Response ```json { "errors": [], "taskid": "2221", "socketaccesstoken": "eDcCm5yyUfIvMFspTwww49OUfgXkQt", "result": true } ``` ## Get Task Detail - Make HTTP Post Request with Task ID ```bash curl -X POST "https://api.wiro.ai/v1/Task/Detail" -H "Content-Type: multipart/form-data" -H "x-api-key: ${YOUR_API_KEY}" -H "x-nonce: ${NONCE}" -H "x-signature: ${SIGNATURE}" -d '{ "taskid": "2221" }'; ``` ## Get Task Detail - Make HTTP Post Request with Socket Access Token ```bash curl -X POST "https://api.wiro.ai/v1/Task/Detail" -H "Content-Type: multipart/form-data" -H "x-api-key: ${YOUR_API_KEY}" -H "x-nonce: ${NONCE}" -H "x-signature: ${SIGNATURE}" -d '{ "tasktoken": "eDcCm5yyUfIvMFspTwww49OUfgXkQt" }'; ``` ## Get Task Detail - Response ```json { "total": "1", "errors": [], "tasklist": [ { "id": "2221", "uuid": "15bce51f-442f-4f44-a71d-13c6374a62bd", "socketaccesstoken": "eDcCm5yyUfIvMFspTwww49OUfgXkQt", "parameters": {}, "debugoutput": "", "debugerror": "", "starttime": "1734513809", "endtime": "1734513813", "elapsedseconds": "6.0000", "status": "task_postprocess_end", "createtime": "1734513807", "canceltime": "0", "assigntime": "1734513807", "accepttime": "1734513807", "preprocessstarttime": "1734513807", "preprocessendtime": "1734513807", "postprocessstarttime": "1734513813", "postprocessendtime": "1734513814", "outputs": [ { "id": "6bc392c93856dfce3a7d1b4261e15af3", "name": "0.png", "contenttype": "image/png", "parentid": "6c1833f39da71e6175bf292b18779baf", "uuid": "15bce51f-442f-4f44-a71d-13c6374a62bd", "size": "202472", "addedtime": "1734513812", "modifiedtime": "1734513812", "accesskey": "dFKlMApaSgMeHKsJyaDeKrefcHahUK", "url": "https://cdn1.wiro.ai/6a6af820-c5050aee-40bd7b83-a2e186c6-7f61f7da-3894e49c-fc0eeb66-9b500fe2/0.png" } ], "size": "202472" } ], "result": true } ``` ## Kill Task - Make HTTP Post Request with Task ID ```bash curl -X POST "https://api.wiro.ai/v1/Task/Kill" -H "Content-Type: multipart/form-data" -H "x-api-key: ${YOUR_API_KEY}" -H "x-nonce: ${NONCE}" -H "x-signature: ${SIGNATURE}" -d '{ "taskid": "534574" }'; ``` ## Kill Task - Make HTTP Post Request with Socket Access Token ```bash curl -X POST "https://api.wiro.ai/v1/Task/Kill" -H "Content-Type: multipart/form-data" -H "x-api-key: ${YOUR_API_KEY}" -H "x-nonce: ${NONCE}" -H "x-signature: ${SIGNATURE}" -d '{ "socketaccesstoken": "ZpYote30on42O4jjHXNiKmrWAZqbRE" }'; ``` ## Kill Task - Response ```json { "errors": [], "tasklist": [ { "id": "534574", "uuid": "15bce51f-442f-4f44-a71d-13c6374a62bd", "name": "", "socketaccesstoken": "ZpYote30on42O4jjHXNiKmrWAZqbRE", "parameters": { "inputImage": "https://api.wiro.ai/v1/File/mCmUXgZLG1FNjjjwmbtPFr2LVJA112/inputImage-6060136.png" }, "debugoutput": "", "debugerror": "", "starttime": "1734513809", "endtime": "1734513813", "elapsedseconds": "6.0000", "status": "task_cancel", "cps": "0.000585000000", "totalcost": "0.003510000000", "guestid": null, "projectid": "699", "modelid": "598", "description": "", "basemodelid": "0", "runtype": "model", "modelfolderid": "", "modelfileid": "", "callbackurl": "", "marketplaceid": null, "createtime": "1734513807", "canceltime": "0", "assigntime": "1734513807", "accepttime": "1734513807", "preprocessstarttime": "1734513807", "preprocessendtime": "1734513807", "postprocessstarttime": "1734513813", "postprocessendtime": "1734513814", "pexit": "0", "categories": "["tool","image-to-image","quick-showcase","compare-landscape"]", "outputs": [ { "id": "6bc392c93856dfce3a7d1b4261e15af3", "name": "0.png", "contenttype": "image/png", "parentid": "6c1833f39da71e6175bf292b18779baf", "uuid": "15bce51f-442f-4f44-a71d-13c6374a62bd", "size": "202472", "addedtime": "1734513812", "modifiedtime": "1734513812", "accesskey": "dFKlMApaSgMeHKsJyaDeKrefcHahUK", "foldercount": "0", "filecount": "0", "ispublic": 0, "expiretime": null, "url": "https://cdn1.wiro.ai/6a6af820-c5050aee-40bd7b83-a2e186c6-7f61f7da-3894e49c-fc0eeb66-9b500fe2/0.png" } ], "size": "202472" } ], "result": true } ``` ## Cancel Task - Make HTTP Post Request (For tasks on queue) ```bash curl -X POST "https://api.wiro.ai/v1/Task/Cancel" -H "Content-Type: multipart/form-data" -H "x-api-key: ${YOUR_API_KEY}" -H "x-nonce: ${NONCE}" -H "x-signature: ${SIGNATURE}" -d '{ "taskid": "634574" }'; ``` ## Cancel Task - Response ```json { "errors": [], "tasklist": [ { "id": "634574", "uuid": "15bce51f-442f-4f44-a71d-13c6374a62bd", "name": "", "socketaccesstoken": "ZpYote30on42O4jjHXNiKmrWAZqbRE", "parameters": { "inputImage": "https://api.wiro.ai/v1/File/mCmUXgZLG1FNjjjwmbtPFr2LVJA112/inputImage-6060136.png" }, "debugoutput": "", "debugerror": "", "starttime": "1734513809", "endtime": "1734513813", "elapsedseconds": "6.0000", "status": "task_cancel", "cps": "0.000585000000", "totalcost": "0.003510000000", "guestid": null, "projectid": "699", "modelid": "598", "description": "", "basemodelid": "0", "runtype": "model", "modelfolderid": "", "modelfileid": "", "callbackurl": "", "marketplaceid": null, "createtime": "1734513807", "canceltime": "0", "assigntime": "1734513807", "accepttime": "1734513807", "preprocessstarttime": "1734513807", "preprocessendtime": "1734513807", "postprocessstarttime": "1734513813", "postprocessendtime": "1734513814", "pexit": "0", "categories": "["tool","image-to-image","quick-showcase","compare-landscape"]", "outputs": [ { "id": "6bc392c93856dfce3a7d1b4261e15af3", "name": "0.png", "contenttype": "image/png", "parentid": "6c1833f39da71e6175bf292b18779baf", "uuid": "15bce51f-442f-4f44-a71d-13c6374a62bd", "size": "202472", "addedtime": "1734513812", "modifiedtime": "1734513812", "accesskey": "dFKlMApaSgMeHKsJyaDeKrefcHahUK", "foldercount": "0", "filecount": "0", "ispublic": 0, "expiretime": null, "url": "https://cdn1.wiro.ai/6a6af820-c5050aee-40bd7b83-a2e186c6-7f61f7da-3894e49c-fc0eeb66-9b500fe2/0.png" } ], "size": "202472" } ], "result": true } ``` ## Task Status Information This section defines the possible task status values returned by the API when polling for task completion. ### Completed Task Statuses (Polling can stop) These indicate that the task has reached a terminal state — either success or failure. Once any of these is received, polling should stop. - task_postprocess_end : Task completed successfully and post-processing is done. - task_cancel : Task was cancelled by the user or system. ### Running Task Statuses (Continue polling) These statuses indicate that the task is still in progress. Polling should continue if one of these is returned. - task_queue : Task is waiting in the queue. - task_accept : Task has been accepted for processing. - task_assign : Task is being assigned to a worker. - task_preprocess_start : Preprocessing is starting. - task_preprocess_end : Preprocessing is complete. - task_start : Task execution has started. - task_output : Output is being generated.