คุณสามารถเขียนคำสั่งเป็น JavaScript แล้วเอามาใส่ในแอพ Draw Things AI ได้ เช่น เขียนคำสั่งให้เจนรูป, คำสั่ง Upscale มันสะดวกตรงที่เราไม่ต้องมาทำเองทีละรูป

เช่น ใช้คำสั่ง SD Ultimate Upscaler ในกระบวนการเป็นการทำภาพขนาด 512×768 ทั้งหมด 24 รูป ทำเองทีละรูปแน่นอนว่ามันน่าเบื่อมาก

แต่การใช้คำสั่ง Script จะช่วยทำทุกอย่างให้เสร็จได้ในคลิกเดียว

วิธีเพิ่มคำสั่ง Scripts ในแอพ Draw Things AI

วิธีเพิ่มคำสั่ง Scripts ในแอพ Draw Things AI

1. คลิก Presets เลือก Manage Scripts

วิธีเพิ่มคำสั่ง Scripts ในแอพ Draw Things AI

2. คลิก Add ตั้งชื่อ Scripts

และคลิก Add

วิธีเพิ่มคำสั่ง Scripts ในแอพ Draw Things AI

3. วาง Script และคลิก Save

ตัวอย่าง Script

//@api-1.0
//
//@api-1.0
// wildcards
// author wetcircuit
// modified by iHy for serial wildcards
// v0.3.a.1

// fallback prompt to be used if no wildcards are found in the UI prompt
const fallbackPrompt = “Portrait of woman wearing {bra|bikini|shirt|nightdress|turtleneck}”;

// set the number of renders — should be determined by wildcards in prompt.
const batchCount = 1; // fallback of sorts

const configuration = pipeline.configuration;
const uiPrompt = pipeline.prompts.prompt;

let promptString; // Declare promptString

// look for wildcards in the UI prompt
if (uiPrompt.includes(‘{‘) && uiPrompt.includes(‘|’) && uiPrompt.includes(‘}’)) {
console.log(“wildcard found.”);
promptString = uiPrompt;
} else {
console.log(“no wildcard detected in the UI prompt. Using fallback prompt in the script.”);
promptString = fallbackPrompt;
}

const countXt = countWildcard1(promptString);
console.log(__dtPrettyPrint(countXt));

// run pipeline

console.log(__dtPrettyPrint(countXt));

for (let i = 0; i < countXt; i++) {
let editedString = replaceWildcardsX(promptString, i);

console.log(__dtPrettyPrint(i));
console.log(__dtPrettyPrint(editedString));

// configuration.seed = -1; there is an interface for that?
let batchCountLog = `render ${i} of ${countXt}`;
console.log(__dtPrettyPrint(batchCountLog));

// Uncomment these lines to run the pipeline
pipeline.run({
    configuration: configuration,
    prompt: editedString
 });

}

// function

function countWildcard1(inputString) {
const wildcardRegex = /{([^}]+)}/g;
let wildCount = 0;

while (match = wildcardRegex.exec(inputString)) {
    const options = match[1].split('|');
    wildCount += options.length;
}

return wildCount;

}

function replaceWildcardsX(inputString, iX) {
const wildcardRegex = /{([^}]+)}/g;

function replaceWithIndexedOption(match) {
    const options = match.slice(1, -1).split('|');
    const index = iX; // No need to adjust index


    if (index >= 0 && index < options.length) {

        console.log(__dtPrettyPrint(index));

        return options[index];
    } else {

        console.log(__dtPrettyPrint(match));

        // Return the original match if the index is out of bounds
        return match;
    }
}

let editedString = inputString;


while (wildcardRegex.test(editedString)) {
    editedString = editedString.replace(wildcardRegex, replaceWithIndexedOption);
}


return editedString;

}

วิธีเพิ่มคำสั่ง Scripts ในแอพ Draw Things AI

4. วิธีใช้ Scripts ก็คลิกปุ่มเดิมคือ Presets และเลือกสคริปต์ที่ต้องการใช้

วิธีเพิ่มคำสั่ง Scripts ในแอพ Draw Things AI

5. รอจนสคริปต์รันเสร็จ

แต่ก่อนใช้งานต้องศึกษาสคริปต์ตัวนั้นๆก่อน ถ้าสร้างเองก็เขียนเองได้เลย สำหรับสคริปต์ที่เอามามาแจก ผมดัดแปลงมาอีกที (ส่วนตัวเขียนสคริปต์เองไม่เป็น)

สคริปต์ที่ผมแจกนี้คือ AI จะเจนรูปทั้งหมด 5 รูป เป็นรูปผู้หญิงใส่ชุดต่างๆ

ซึ่งสคริปต์ตัวนี้จะกำหนดไว้แค่ Prompt ไม่ได้กำหนด Negative Prompt, ขนาดภาพ และตัวโมเดลที่ใช้

ประโยชน์ของสคริปต์จริงๆมันมีเยอะกว่านี้มากนะ ถ้าคุณเป็นโปรแกรมเมอร์คุณสามารถเขียนคำสั่งได้ทุกอย่าง ให้แอพ Draw Things ทำงานอะไรก็ได้

บทความก่อนหน้านี้Draw Things AI วิธี Inpaint หน้าเบื้องต้น และเทคนิค Seed แบบง่ายๆ
บทความถัดไปDraw Things AI เทคนิค Inpaint ทำหน้า Lora ให้เหมือนตัวจริง
เป้าหมายการทำเว็บของผมคือ คนไทยต้องเข้าถึงข้อมูลได้ง่าย จะแก้ปัญหาไอทีต้องมีทางออก เว็บมหาลัยฯจึงก่อกำเนิดขึ้น