## Basic tool info Tool name: wiro/AI-Job-Description-Generator Tool description: Wiro/AI-Job-Description-Generator helps you create tailored job descriptions based on detailed job specifications. Using AI-driven analysis, effortlessly transform job details into clear, professional, and well-structured job postings. Simplify your hiring process by automating job description creation, ensuring consistency, and aligning your descriptions with industry standards. Streamline recruitment efforts with accurate, data-driven job descriptions that attract the right talent. Tool cover: https://cdn.wiro.ai/uploads/models/wiro-AI-Job-Description-Generator-cover.png Tool categories: - tool - HR - CV - resume - wiroHR - quick-showcase - persistent Tool tags: - cv analyzer - resume evaluation - cv matcher - cv score - resume analyze - hr ai - hr tools - jobdesc creator Run Task Endpoint (POST): https://api.wiro.ai/v1/Run/wiro/AI-Job-Description-Generator Get Task Detail Endpoint (POST): https://api.wiro.ai/v1/Task/Detail ## Tool Inputs: - name: prompt label: jobDetail help: Enter the details of the job posting, including job title, responsibilities, qualifications, and any additional information relevant to the position. Ensure the description is clear and concise to attract the right candidates. type: textarea default: We are seeking a skilled and dedicated PHP Developer to join our development team. The ideal candidate will have a strong command of PHP programming, experience with web development, and the ability to create efficient and scalable solutions. As a PHP Developer, you will play a pivotal role in designing, coding, testing, and maintaining web applications that drive our digital presence. - name: tone label: Tone help: Please select the preferred tone for the generated job description. type: select default: Formal options: - value: "Formal" label: Formal - value: "Conversational" label: Conversational - value: "Enthusiastic" label: Enthusiastic - value: "Minimalist and Professional" label: Minimalist and Professional - value: "Creative" label: Creative - name: inputDocumentMultiple label: inputDocumentMultiple (optional) help: Upload one or more supporting files such as CVs or documents to enrich the job listing. Can upload multiple files for additional information. Ensure the files are relevant and properly formatted for accurate processing. Supported file types: .csv, .docx, .epub, .jpeg, .jpg, .mbox, .md, .mp3, .mp4, .pdf, .png, .ppt, .pptm, .pptx type: multifileinput default: - name: inputDocumentUrlMultiple label: inputDocumentUrlMultiple (optional) help: Upload one or more supporting files such as CVs or documents to enrich the job listing. Enter multiple file URLs separated by comma ( , ). Ensure the URLs are accessible and correctly formatted. Supported file types: .csv, .docx, .epub, .jpeg, .jpg, .mbox, .md, .mp3, .mp4, .pdf, .png, .ppt, .pptm, .pptx type: text default: - name: language label: Language help: Please select the preferred language for the generated job description. type: select default: en options: - value: "tr" label: TR - value: "en" label: EN ## Tool Parameter Inspires: - prompt: We’re looking for someone who loves working with data, someone who’s super detail-oriented. You’ll be gathering data, analyzing it, and making sense of it for us. If you know Excel like the back of your hand and are comfortable working with data visualization tools, we’d love to talk. This is a remote role, and we offer a good salary along with benefits like health insurance and paid time off. - prompt: We need a Senior Front-End Developer to join us. Ideally, you’ve got a solid understanding of JavaScript and know your way around React (or Angular). You’ll be the one leading the charge on creating interactive, user-friendly web pages. You can work remotely, but we’ve got an office too, so there’s flexibility there. Bonus points if you’re into flexible work hours and want health benefits to boot. - prompt: We need someone to step in as our Marketing Manager. You’ll be helping to lead the charge on creating campaigns that boost our brand. You’ll collaborate with everyone—internally and externally—to get ideas off the ground. It’s a full-time gig with flexibility for a mix of office and remote work. You’ll be well-compensated with a salary that reflects your experience and some really solid benefits. - prompt: As a Software Engineer, you’ll be responsible for writing clean, efficient code for a variety of projects. We’re looking for someone who’s comfortable working with Django or Flask and can write object-oriented code with ease. You can work from home or come into the office, it’s up to you. We offer flexible work hours and great health benefits. - prompt: We’re looking for a talented UX/UI Designer to join the team and help us make our products look and feel amazing. If you know how to design user-friendly, beautiful interfaces and have experience with wireframing and prototyping tools like Figma or Adobe XD, we should definitely chat. This is a full-time, remote position with health insurance and paid time off. - prompt: We’re looking for a Product Manager to help us drive our product development forward. You’ll be collaborating with design, engineering, and marketing teams to shape product roadmaps and make sure we’re building things our customers need. This is mostly an office-based role with occasional remote work, and we offer a competitive salary, performance bonuses, and solid benefits. - prompt: If you’re someone who loves solving problems and helping others, we’ve got the perfect job for you as a Customer Support Specialist. You’ll be the first point of contact for customer issues, answering their questions and making sure they leave happy. You can work from home, and the hours are flexible. Plus, we offer health insurance, paid time off, and a supportive team environment. - prompt: We need a Network Engineer to help keep our network infrastructure running smoothly. You’ll be the go-to person for everything from firewalls and VPNs to network security protocols. If you’re experienced with Cisco routers and switches and have a solid understanding of cloud networking, we want to talk. This is an in-office role with occasional remote work. We offer a competitive salary and great benefits. - prompt: We’re looking for a Content Writer to join our team and produce high-quality blog posts, website copy, and social media content. You’ll need to be able to research topics and adapt your writing style for different audiences. This is a remote job with flexible hours. We offer a collaborative work environment and opportunities for growth. - prompt: As a DevOps Engineer, you’ll be responsible for automating workflows, managing cloud infrastructure, and ensuring our deployment pipelines run smoothly. If you have experience with Docker, Kubernetes, and AWS, this role might be perfect for you. We’re flexible about whether you work remotely or in the office. We also offer competitive pay, bonuses, and a wellness-focused benefits package. ## 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/AI-Job-Description-Generator" -H "Content-Type: multipart/form-data" -H "x-api-key: ${YOUR_API_KEY}" -H "x-nonce: ${NONCE}" -H "x-signature: ${SIGNATURE}" -d '{ "prompt": "We are seeking a skilled and dedicated PHP Developer to join our development team. The ideal candidate will have a strong command of PHP programming, experience with web development, and the ability to create efficient and scalable solutions. As a PHP Developer, you will play a pivotal role in designing, coding, testing, and maintaining web applications that drive our digital presence.\n", "tone": "Formal", "inputDocumentMultiple": [], "inputDocumentUrlMultiple": "", "language": "en", "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.