## Basic tool info Model name: wiro/instant-id-lora Model description: InstantID is a method to achieve ID-preserving generation with only single image. Model cover: https://cdn.wiro.ai/uploads/models/wiro-instant-id-cover.png Model categories: - tool - image-to-image - persistent Run Task Endpoint (POST): https://api.wiro.ai/v1/Run/wiro/instant-id-lora Get Task Detail Endpoint (POST): https://api.wiro.ai/v1/Task/Detail ## Model Inputs: - name: selectedModel label: select-model help: select-model-help type: select default: "79" options: - value: "556" label: SG161222/RealVisXL_V4.0 description: An instruction-based image editing model SDXL. triggerwords: [] generatesettings: [] - value: "425" label: KandooAI/Juggernaut v10.0 description: A text-to-image model trained on Stable Diffusion XL. triggerwords: [] generatesettings: [] - value: "1059" label: DarkBadBoy/NexusVisionXL description: NexusVisionXL triggerwords: [] generatesettings: [] - value: "961" label: LEOSAM/HelloWorld-XL description: HelloWorld XL triggerwords: [] generatesettings: [] - value: "1082" label: PromptSharingSamaritan/Samaritan-3d-Cartoon description: Samaritan 3d Cartoon triggerwords: [] generatesettings: [] - name: selectedModelPrivate label: select-model-private help: select-model-private-help type: select default: "" options: - name: selectedLoraModel label: select-lora-model help: select-lora-model-help type: select default: "80" options: - value: "371" label: artificialguybr/App Icons v2.0 description: A text-to-image model with Stable Diffusion XL and Lora XL. The LORA has a high capacity to generate Icons App, Icons images in a wide variety of themes. triggerwords: ["icredm"] generatesettings: [{"type":"float","template":"","id":"App-Icons-v2.0","placeholder":"App-Icons-v2.0 scale","label":"App-Icons-v2.0 scale","minvalue":"0.00","maxvalue":"1","value":"1.0","defaultvalue":"1.0","incrementby":"0.1","options":[],"note":""}] - value: "1319" label: AIDigitalMediaAgency/The-Secret-Lab-Sdxl description: The Secret Lab Sdxl triggerwords: ["secretlab"] generatesettings: [{"type":"float","template":"","id":"The-Secret-Lab-Sdxl","placeholder":"The-Secret-Lab-Sdxl scale","label":"The-Secret-Lab-Sdxl scale","minvalue":"0.00","maxvalue":"1","value":"1.0","defaultvalue":"1.0","incrementby":"0.1","options":[],"note":""}] - value: "1375" label: HailoKnight/Weapon-Dual-Pistols description: Weapon Dual Pistols triggerwords: ["dual pistols"] generatesettings: [{"type":"float","template":"","id":"Weapon-Dual-Pistols","placeholder":"Weapon-Dual-Pistols scale","label":"Weapon-Dual-Pistols scale","minvalue":"0.00","maxvalue":"1","value":"1.0","defaultvalue":"1.0","incrementby":"0.1","options":[],"note":""}] - value: "954" label: Hevok/3D-Style description: 3D [Style] triggerwords: [] generatesettings: [{"type":"float","template":"","id":"3D-Style","placeholder":"3D-Style scale","label":"3D-Style scale","minvalue":"0.00","maxvalue":"1","value":"1.0","defaultvalue":"1.0","incrementby":"0.1","options":[],"note":""}] - value: "611" label: Lorian/3D Style v1.0 description: A text-to-image model with Stable Diffusion XL and Lora XL. The LoRA has a high capacity to generate 3D images!. triggerwords: [] generatesettings: [{"type":"float","template":"","id":"3D-Style-v1.0","placeholder":"3D-Style-v1.0 scale","label":"3D-Style-v1.0 scale","minvalue":"0.00","maxvalue":"1","value":"1.0","defaultvalue":"1.0","incrementby":"0.1","options":[],"note":""}] - name: selectedLoraModelPrivate label: select-lora-model-private help: select-lora-model-private-help type: select default: "" options: - name: selectedLoraModelPrivateUrl label: LoRA Model Url help: You can provide a direct URL to a LoRA model (.safetensors). We’ll apply it during generation. You can also use links from platforms like Google Drive, AWS S3, or any publicly accessible file host. type: text default: - name: inputImageUrl label: input-image-url help: input-image-url-help type: text default: - name: prompt label: prompt help: prompt-help type: textarea default: olympic athlete, standing, wearing olympics uniform, Paris background, photorealistic, realistic, embodies the spirit of victory, captured by the official Olympic Games photographer 2024, the image is framed through photographer Steve McCurry, 2015, used a classic 50mm lens and illuminated by the brilliance of stadium floodlights, realistic - name: negativePrompt label: negativeprompt help: negativeprompt-help type: textarea default: (lowres, low quality, worst quality:1.2), (text:1.2), watermark, (frame:1.2), deformed, ugly, deformed eyes, blur, out of focus, blurry, mutation, mutated arms, deformed cat, deformed, anthropomorphic cat, monochrome, 3d, drones, drone, nsfw - name: steps label: inferencesteps help: inferencesteps-help type: number default: 20 - name: scale label: guidancescale help: guidancescale-help type: float default: 5.0 - name: ip_adapter_scale label: ip_adapter_scale help: guidancescale-help type: float default: 0.8 - name: samples label: samples help: guidancescale-help type: number default: 1 - name: seed label: seed help: seed-help type: text default: 3572004920 - name: scheduler label: scheduler help: scheduler-help type: select default: EulerAncestralDiscreteScheduler options: - value: "FlowMatchEulerDiscreteScheduler" label: FlowMatchEulerDiscreteScheduler - value: "EulerDiscreteScheduler" label: EulerDiscreteScheduler - value: "DDIMScheduler" label: DDIMScheduler - value: "LMSDiscreteScheduler" label: LMSDiscreteScheduler - value: "DPMSolverMultistepScheduler" label: DPMSolverMultistepScheduler - value: "EulerDiscreteScheduler" label: EulerDiscreteScheduler - value: "PNDMScheduler" label: PNDMScheduler - value: "DDPMScheduler" label: DDPMScheduler - value: "EulerAncestralDiscreteScheduler" label: EulerAncestralDiscreteScheduler ## 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/instant-id-lora" -H "Content-Type: multipart/form-data" -H "x-api-key: ${YOUR_API_KEY}" -H "x-nonce: ${NONCE}" -H "x-signature: ${SIGNATURE}" -d '{ "selectedModel": "", "selectedModelPrivate": "", "selectedLoraModel": [], "selectedLoraModelPrivateUrl": "", "inputImageUrl": "input-portrait-2.jpg", "prompt": "olympic athlete, standing, wearing olympics uniform, Paris background, photorealistic, realistic, embodies the spirit of victory, captured by the official Olympic Games photographer 2024, the image is framed through photographer Steve McCurry, 2015, used a classic 50mm lens and illuminated by the brilliance of stadium floodlights, realistic", "negativePrompt": "(lowres, low quality, worst quality:1.2), (text:1.2), watermark, (frame:1.2), deformed, ugly, deformed eyes, blur, out of focus, blurry, mutation, mutated arms, deformed cat, deformed, anthropomorphic cat, monochrome, 3d, drones, drone, nsfw", "steps": 20, "scale": "5.0", "ip_adapter_scale": "0.8", "samples": 1, "seed": "3572004920", "scheduler": "EulerAncestralDiscreteScheduler", "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.