Trình tạo prompt ChatGPT SDXL so với tập lệnh API của bạn
Quy trình tạo prompt trên ChatGPT SDXL nghĩa là mở cửa sổ trò chuyện, nhập ý tưởng, sao chép câu trả lời vào công cụ tạo ảnh của bạn và lặp lại. Nó ổn cho mười prompt và rất tệ cho một nghìn. Bài viết này so sánh quy trình đó với một kịch bản ngắn gọi API và đưa ra con số cho cả hai.


Điểm chính
- Trò chuyện thủ công là tốt nhất để khám phá phong cách; một kịch bản là tốt nhất khi bạn cần khối lượng hoặc khả năng lặp lại.
- Ở mức 30 giây cho mỗi prompt thủ công, 1.000 prompt mất khoảng 8,3 giờ; một tập lệnh có thể hoàn thành trong vài phút.
- Trên API này, 1.000 prompt khoảng 300 token đầu vào và 200 đầu ra tốn khoảng $0,145.
- Một tập lệnh cũng cung cấp cho bạn định dạng cố định, đầu vào đã lưu và khả năng thử lại, điều mà cửa sổ trò chuyện không có.
Hai cách để lấy prompt SDXL từ mô hình ngôn ngữ
Cách đầu tiên là trợ lý trò chuyện. Bạn dán hướng dẫn dạng hệ thống một lần, sau đó gửi các ý tưởng ngắn từng cái một và sao chép mỗi câu trả lời vào công cụ tạo ảnh của bạn. Nó không cần mã, bạn thấy câu trả lời ngay lập tức và có thể nói "tối hơn, điện ảnh hơn" và nhận được bản sửa đổi. Để khám phá thì khó có gì sánh bằng.
Cách thứ hai là tập lệnh. Bạn viết hướng dẫn một lần trong mã, tải danh sách các ý tưởng từ một tệp, gọi endpoint hoàn thành trò chuyện cho mỗi cái và ghi kết quả vào tệp hoặc gửi chúng trực tiếp đến trình tạo ảnh của bạn. Dịch vụ này là một API chỉ dành cho văn bản tương thích OpenAI phục vụ một mô hình trọng số mở từ nhà cung cấp độc lập. Nó không phải là ChatGPT và không phải là sản phẩm của OpenAI, nhưng bất kỳ SDK OpenAI nào cũng có thể giao tiếp với nó một khi bạn thay đổi URL cơ sở và khóa.
Cả hai phương pháp đều không vẽ tranh. Trong cả hai, mô hình viết văn bản và một công cụ riêng biệt như SDXL sẽ tạo ra hình ảnh từ văn bản đó.
Bên cạnh nhau
| Yếu tố | Cửa sổ trò chuyện | Tập lệnh API |
|---|---|---|
| Cài đặt | Không | Khóa, 30 dòng Python |
| Kích thước hàng loạt tốt nhất | 1 đến 20 prompt | Hàng trăm đến hàng nghìn |
| Định dạng đầu ra | Dù giao diện trò chuyện trả về gì; bạn sẽ tự làm sạch nó bằng tay | Chế độ JSON trả về các trường bạn có thể phân tích |
| Tính lặp lại | Trệch hướng khi cuộc trò chuyện phát triển | Cùng hướng dẫn trong mọi lần gọi, hạt giống tùy chọn |
| Lặp lại | Tự nhiên: cung cấp phản hồi | Bạn chỉnh sửa tập lệnh và chạy lại |
| Mô hình chi phí | Phụ thuộc vào gói dịch vụ bạn đang giữ; hãy kiểm tra các điều khoản hiện tại của nó | Trả theo token, tín dụng trả trước |
| Lời từ chối | Phụ thuộc vào chính sách nội dung của trợ lý | Mô hình này trả lời mà không từ chối nội dung cho mục đích sử dụng người lớn hợp pháp |
Tóm tắt trung thực: nếu bạn tạo một vài hình ảnh mỗi tuần và thích trò chuyện về chúng, hãy tiếp tục với trò chuyện. Một tập lệnh bắt đầu có hiệu quả về chi phí khi việc sao chép và dán trở thành bước chậm nhất trong quy trình của bạn.
Chi phí thời gian của sao chép và dán
Hãy đưa ra một giả định khiêm tốn: 30 giây cho mỗi prompt để nhập ý tưởng, chờ đợi, sao chép kết quả và dán nó vào nơi phù hợp. Với 1,000 prompt, đó là 1,000 × 30 s = 30,000 s, hoặc khoảng 8,3 giờ tập trung.
Một kịch bản có hình dạng khác. Giả sử mỗi lệnh gọi API mất khoảng 5 giây (đó là một giả định, vì vậy hãy đo lường thời gian của chính bạn). Với 8 yêu cầu đang chạy đồng thời, tức là giới hạn đồng thời của một khóa đầy đủ, 1.000 lệnh gọi mất khoảng 1.000 / 8 × 5 s = 625 s, hơn 10 phút một chút. Giới hạn yêu cầu là 300 mỗi phút có nghĩa là giới hạn tuyệt đối là hơn 3 phút một chút. Bạn khởi động nó, pha cà phê và đọc tệp sau đó.
Thời gian tiết kiệm được là lập luận chính. Tiền bạc là thứ yếu, như phần tiếp theo sẽ cho thấy.
Chi phí cho 1.000 prompt
API này tính $0,15 cho mỗi 1M token đầu vào và $0,50 cho mỗi 1M token đầu ra. Giả sử mỗi lệnh gọi gửi một hướng dẫn 250 token và một ý tưởng 50 token (300 đầu vào) và trả về một prompt 200 token.
- Đầu vào: 1.000 × 300 = 300.000 token × $0,15 / 1 triệu = $0,045.
- Đầu ra: 1.000 × 200 = 200.000 token × $0,50 / 1 triệu = $0,10.
- Tổng cộng: $0.145 cho 1,000 prompt.
Để so sánh với gói đăng ký trò chuyện hoặc API khác, hãy chia giá của gói đó cho số lượng prompt bạn sẽ thực sự tạo trong một tháng và kiểm tra giá hiện tại của họ thay vì tin tưởng vào một con số từ bài viết. Tín dụng dùng thử $0,50, được yêu cầu chỉ bằng một cú nhấp chuột trên trang khóa API sau khi đăng ký, bao gồm hơn 3.400 prompt có kích thước này. Xem trang giá cả để nạp tiền từ $20 đến $500, bằng tiền mã hóa.
Tập lệnh hàng loạt với khả năng thử lại
Tập lệnh bên dưới đọc các ý từ ideas.txt, mỗi dòng một ý, và ghi prompts.jsonl. Nó chạy 6 worker song song và thử lại khi gặp 429.
import json, time
from concurrent.futures import ThreadPoolExecutor
from openai import OpenAI, RateLimitError
client = OpenAI(base_url="https://api.sdxlapi.com/v1", api_key="YOUR_KEY", max_retries=0)
SYSTEM = (
"Expand the idea into one SDXL prompt of 40 to 60 words: subject, setting, "
"lighting, style, mood, comma-separated. Return JSON with key 'prompt'."
)
def make(idea):
for attempt in range(5):
try:
r = client.chat.completions.create(
model="uncensored",
messages=[{"role": "system", "content": SYSTEM},
{"role": "user", "content": idea}],
response_format={"type": "json_object"},
temperature=0.8,
)
return {"idea": idea, **json.loads(r.choices[0].message.content)}
except RateLimitError:
time.sleep(5 * (attempt + 1))
return {"idea": idea, "prompt": None}
ideas = [l.strip() for l in open("ideas.txt") if l.strip()]
with ThreadPoolExecutor(max_workers=6) as pool, open("prompts.jsonl", "w") as out:
for row in pool.map(make, ideas):
out.write(json.dumps(row, ensure_ascii=False) + "\n")
Giữ số worker ở mức 8 trở xuống trên khóa đầy đủ, hoặc 2 trên khóa dùng thử. Nếu bạn thấy 429 với mã concurrency, hãy giảm nó; rate_limited có nghĩa là bạn đã vượt quá giới hạn mỗi phút. Các yêu cầu thất bại không được tính phí, vì vậy các lần thử lại miễn phí. Thêm về các tham số có trong tài liệu.
Nhận kết quả tốt hơn từ tập lệnh
Lần chạy hàng loạt đầu tiên hiếm khi là tốt nhất. Ba thay đổi rẻ tiền cải thiện kết quả nhiều hơn việc chuyển đổi công cụ.
- Thêm hai hoặc ba ví dụ vào prompt hệ thống. Dán các prompt đã cho bạn những hình ảnh bạn thích, mỗi cái kèm theo ý tưởng ngắn tạo ra nó. Mô hình sao chép cấu trúc và mức độ chi tiết.
- Điền một trường phong cách. Giữ một từ điển nhỏ như "film still", "watercolor", "isometric render", và nối phong cách đã chọn vào mỗi ý tưởng. Một danh sách ý tưởng sau đó có thể tạo ra nhiều kiểu khác nhau.
- Lọc đầu ra. Từ chối các hàng có prompt ngắn hơn 25 từ hoặc dài hơn 80 từ, sau đó chạy lại chỉ những mục đó. Một kiểm tra ngắn trong mã tốt hơn việc đọc hàng nghìn dòng.
Lưu ý tưởng bên cạnh mọi kết quả. Khi một hình ảnh được tạo ra tốt, bạn muốn xem chính xác điều gì đã tạo ra nó, và lịch sử trò chuyện sẽ trôi qua. Chủ đề vẫn là quyết định của bạn: mô hình được tinh chỉnh cho mục đích người lớn hợp pháp, và giới hạn cứng duy nhất là không bao giờ tạo ra nội dung tình dục liên quan đến người chưa thành niên.
Khi nào nên giữ lại trò chuyện
Một tập lệnh không phải lúc nào cũng là lựa chọn tốt hơn. Hãy tiếp tục với trợ lý trò chuyện khi bạn chưa biết mình muốn gì, khi mỗi hình ảnh cần một cuộc trò chuyện về bố cục, hoặc khi khối lượng của bạn đủ nhỏ mà thời gian thiết lập sẽ vượt quá thời gian tiết kiệm được. Một mẫu phổ biến là sử dụng trò chuyện để tìm một hướng dẫn tốt, sau đó dán hướng dẫn đó vào tập lệnh làm prompt hệ thống và chạy khối công việc ở đó.
Bạn cũng nên cân nhắc về dữ liệu. Các prompt gửi đến API này không được dùng để huấn luyện. Với bất kỳ dịch vụ nào khác, bạn hãy đọc chính sách dữ liệu của họ trước khi gửi tác phẩm sáng tạo chưa được phát hành.
Hướng dẫn khác
Hỏi đáp
API này có giống với ChatGPT không?
Không. Đây là một endpoint tương thích OpenAI, phục vụ một mô hình trọng số mở từ nhà cung cấp độc lập. Đây không phải là sản phẩm của OpenAI.
API có thể tạo ảnh SDXL không?
Không. Nó chỉ tạo văn bản. Prompt của bạn sẽ được gửi đến SDXL, ComfyUI, Automatic1111 hoặc một công cụ tạo ảnh khác.
Chi phí tạo 1.000 prompt là bao nhiêu?
Khoảng $0,145 cho các prompt có khoảng 300 token đầu vào và 200 token đầu ra, với giá $0,15 cho mỗi 1M token đầu vào và $0,50 cho mỗi 1M token đầu ra.
Một lô chạy nhanh đến mức nào?
Khóa đầy đủ cho phép 8 yêu cầu đồng thời và 300 yêu cầu mỗi phút, vì vậy 1.000 prompt ngắn có thể hoàn thành trong vài phút. Khóa dùng thử cho phép 2 và 60.
Khóa của bạn chỉ cách một bước
Tạo tài khoản, sao chép khóa, thay đổi URL cơ sở. Đó là toàn bộ thiết lập.