## Basic tool info Tool name: wiro/Shorts-Reels-Video-Generator Tool description: Create professional short videos (30s) for YouTube Shorts, Instagram Reels, TikTok, and X (Twitter) – from a single prompt. Automatically generate speech, captions, and optional talking head avatars using AI. Perfect for content creators, marketers, and educators looking to grow faster with less effort. Tool cover: https://cdn.wiro.ai/uploads/models/wiro-Shorts-Reels-Video-Generator-cover.mp4 Tool categories: - tool - video-generator - text-to-video - text-to-speech - social-media - pipeline Tool tags: - social media videos - reels generator - youtube shorts generator - faceless video generator - tiktok video generator - video generator Run Task Endpoint (POST): https://api.wiro.ai/v1/Run/wiro/Shorts-Reels-Video-Generator Get Task Detail Endpoint (POST): https://api.wiro.ai/v1/Task/Detail ## Tool Inputs: - name: prompt label: prompt help: The prompt to generate the video. type: textarea default: Create a video comparing myths vs facts about black holes. - name: totalVideoSeconds label: Total Video Seconds help: Total duration of the generated video (in seconds) type: select default: 10 options: - value: "10" label: 10s - value: "15" label: 15s - value: "20" label: 20s - value: "25" label: 25s - value: "30" label: 30s - name: videoMode label: Video Mode help: The mode of the generated video type: select default: std options: - value: "std" label: Standart - value: "pro" label: Professional - name: videoQuality label: Video Quality help: Select the resolution for your video output. type: select default: 480p options: - value: "480p" label: 480p - value: "720p" label: 720p - value: "1080p" label: 1080p - name: captionEffect label: Caption Effect help: Choose how captions appear: 'Typewriter' builds the sentence word by word, 'Sentence' displays the whole sentence at once, 'Flash Each Word' shows words briefly' type: select default: word options: - value: "word" label: Typewriter - value: "sentence" label: Sentence - value: "wordbyword" label: Flash Each Word - name: revealFullSentence label: Reveal Full Sentence help: Only relevant when 'Flash Each Word' is selected. Determines whether the full sentence is shown after the animation. type: select default: false options: - value: "false" label: NO - value: "true" label: YES - name: speechSpeed label: Speech Speed help: Change the speed of the generated voice. type: float default: 1.3 - name: talkingHeadDisplay label: Talking Head Display help: Select the talking head visibility type: select default: false options: - value: "false" label: NO - value: "true" label: YES - name: talkingHeadImageUrl label: Talking Head Image Url help: Provide a talking head image URL if “Talking Head Display” is set to YES. type: text default: - name: captionPosition label: Caption Position help: Select the caption position. type: select default: bottom options: - value: "bottom" label: BOTTOM - value: "top" label: TOP - value: "center" label: CENTER - name: captionFontFamily label: Caption Font Family help: Select the caption font family. type: select default: Poppins-Bold options: - value: "Poppins-Thin" label: Poppins Thin - value: "Poppins-ThinItalic" label: Poppins Thin Italic - value: "Poppins-ExtraLight" label: Poppins Extra Light - value: "Poppins-ExtraLightItalic" label: Poppins Extra Light Italic - value: "Poppins-Light" label: Poppins Light - value: "Poppins-LightItalic" label: Poppins Light Italic - value: "Poppins-Regular" label: Poppins Regular - value: "Poppins-Italic" label: Poppins Italic - value: "Poppins-Medium" label: Poppins Medium - value: "Poppins-MediumItalic" label: Poppins Medium Italic - value: "Poppins-SemiBold" label: Poppins Semi Bold - value: "Poppins-SemiBoldItalic" label: Poppins Semi Bold Italic - value: "Poppins-Bold" label: Poppins Bold - value: "Poppins-BoldItalic" label: Poppins Bold Italic - value: "Poppins-ExtraBold" label: Poppins Extra Bold - value: "Poppins-ExtraBoldItalic" label: Poppins Extra Bold Italic - value: "Poppins-Black" label: Poppins Black - value: "Poppins-BlackItalic" label: Poppins Black Italic - name: captionFontColor label: Caption Font Color help: Enter a hex color code (e.g. #FFFFFF) to set the caption text color. type: text default: #FFFFFF - name: captionBoxColor label: Caption Box Color help: Enter a hex color code (e.g. #FFFFFF) to set the caption box color. type: text default: #000000 - name: captionBoxOpacity label: Caption Box Opacity help: Adjust the transparency of the caption background box. type: text default: 0.0 - name: coverFontFamily label: Cover Font Family help: Select the cover font family. type: select default: Poppins-Bold options: - value: "Poppins-Thin" label: Poppins Thin - value: "Poppins-ThinItalic" label: Poppins Thin Italic - value: "Poppins-ExtraLight" label: Poppins Extra Light - value: "Poppins-ExtraLightItalic" label: Poppins Extra Light Italic - value: "Poppins-Light" label: Poppins Light - value: "Poppins-LightItalic" label: Poppins Light Italic - value: "Poppins-Regular" label: Poppins Regular - value: "Poppins-Italic" label: Poppins Italic - value: "Poppins-Medium" label: Poppins Medium - value: "Poppins-MediumItalic" label: Poppins Medium Italic - value: "Poppins-SemiBold" label: Poppins Semi Bold - value: "Poppins-SemiBoldItalic" label: Poppins Semi Bold Italic - value: "Poppins-Bold" label: Poppins Bold - value: "Poppins-BoldItalic" label: Poppins Bold Italic - value: "Poppins-ExtraBold" label: Poppins Extra Bold - value: "Poppins-ExtraBoldItalic" label: Poppins Extra Bold Italic - value: "Poppins-Black" label: Poppins Black - value: "Poppins-BlackItalic" label: Poppins Black Italic - name: coverFontColor label: Cover Font Color help: Enter a hex color code (e.g. #FFFFFF) to set the cover text color. type: text default: #FFFFFF - name: coverBoxColor label: Cover Box Color help: Enter a hex color code (e.g. #FFFFFF) to set the cover box color. type: text default: #000000 - name: coverBoxOpacity label: Cover Box Opacity help: Adjust the transparency of the cover background box. type: text default: 0.0 - name: seed label: seed help: seed-help type: text default: 42 ## 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/wiro/Shorts-Reels-Video-Generator" -H "Content-Type: multipart/form-data" -H "x-api-key: ${YOUR_API_KEY}" -H "x-nonce: ${NONCE}" -H "x-signature: ${SIGNATURE}" -d '{ "prompt": "Create a video comparing myths vs facts about black holes.", "totalVideoSeconds": "10", "videoMode": "std", "videoQuality": "480p", "captionEffect": "word", "revealFullSentence": "false", "speechSpeed": "1.3", "talkingHeadDisplay": "false", "talkingHeadImageUrl": "", "captionPosition": "bottom", "captionFontFamily": "Poppins-Bold", "captionFontColor": "#FFFFFF", "captionBoxColor": "#000000", "captionBoxOpacity": "0.0", "coverFontFamily": "Poppins-Bold", "coverFontColor": "#FFFFFF", "coverBoxColor": "#000000", "coverBoxOpacity": "0.0", "seed": "42", "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 ```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 } ``` ## 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.