Có vẻ như mỗi tuần, chúng ta lại nhận được một mô hình Tạo Hình Ảnh AI mới có khả năng tạo ra những hình ảnh tuyệt đẹp. Một trong những mô hình mạnh mẽ như vậy là HiDream-I1-Full. Trong khi chạy các mô hình này trên máy tính cá nhân có thể tiêu tốn nhiều tài nguyên, việc tận dụng các API cung cấp một cách tiện lợi và có thể mở rộng để tích hợp công nghệ này vào các ứng dụng hoặc quy trình làm việc của bạn.
Hướng dẫn này sẽ hướng dẫn bạn qua:
- Hiểu về HiDream-I1-Full: Nó là gì và những khả năng của nó.
- Tùy chọn API: Khám phá hai nền tảng phổ biến cung cấp HiDream-I1-Full qua API: Replicate và Fal.ai.
- Kiểm tra với Apidog: Một hướng dẫn từng bước về cách tương tác và kiểm tra các API này bằng công cụ Apidog.
Muốn một nền tảng tích hợp, tất cả trong một cho nhóm phát triển của bạn làm việc cùng nhau với năng suất tối đa?
Apidog đáp ứng tất cả nhu cầu của bạn và thay thế Postman với giá cả phải chăng hơn nhiều!
Đối tượng mục tiêu: Các nhà phát triển, nhà thiết kế, người yêu thích AI và bất cứ ai quan tâm đến việc sử dụng công nghệ tạo hình ảnh AI tiên tiến mà không cần thiết lập phức tạp.
Các yêu cầu cần thiết:
- Hiểu biết cơ bản về API (các yêu cầu HTTP, JSON).
- Có tài khoản trên Replicate và/hoặc Fal.ai để nhận các khóa API.
- Đã cài đặt Apidog (hoặc truy cập phiên bản web của nó).
HiDream-I1-Full là gì?

HiDream-I1-Full là một mô hình khuếch tán văn bản thành hình ảnh tiên tiến được phát triển bởi HiDream AI. Nó thuộc về gia đình các mô hình được thiết kế để tạo ra những hình ảnh chất lượng cao, mạch lạc và đẹp mắt dựa trên các mô tả văn bản (những gợi ý).

Chi tiết mô hình: Bạn có thể tìm thấy thẻ mô hình chính thức và nhiều thông tin kỹ thuật hơn trên Hugging Face: https://huggingface.co/HiDream-ai/HiDream-I1-Full
Các khả năng chính (Điển hình cho các mô hình thuộc loại này):
- Tạo hình ảnh từ văn bản: Tạo ra hình ảnh từ các gợi ý văn bản chi tiết.
- Độ phân giải cao: Có khả năng tạo ra hình ảnh với độ phân giải cao hợp lý phù hợp cho nhiều ứng dụng khác nhau.
- Tôn trọng phong cách: Thường có thể diễn giải các tín hiệu phong cách trong gợi ý (ví dụ, "theo phong cách của Van Gogh," "hình ảnh thực tế," "anime").
- Phối cảnh phức tạp: Khả năng tạo ra hình ảnh với nhiều đối tượng, tương tác và nền chi tiết dựa trên độ phức tạp của gợi ý.
- Tham số điều khiển: Thường cho phép điều chỉnh tinh vi thông qua các tham số như gợi ý tiêu cực (những điều cần tránh), hạt giống (để tái tạo), tỷ lệ hướng dẫn (độ mạnh mẽ để theo gợi ý), và có thể là biến thể hình ảnh hoặc đầu vào điều khiển (tùy thuộc vào cách triển khai API cụ thể).

Tại sao lại sử dụng API?
Chạy các mô hình AI lớn như HiDream-I1-Full trên máy tính cá nhân yêu cầu tài nguyên tính toán đáng kể (GPU mạnh, RAM và bộ nhớ lớn) và cài đặt kỹ thuật (quản lý các phụ thuộc, trọng số của mô hình, cấu hình môi trường). Sử dụng API mang lại nhiều lợi thế:
- Không yêu cầu phần cứng: Chuyển giao việc tính toán cho cơ sở hạ tầng đám mây mạnh mẽ.
- Tính khả thi: Dễ dàng xử lý các tải khác nhau mà không cần quản lý cơ sở hạ tầng.
- Dễ dàng tích hợp: Tích hợp khả năng tạo hình ảnh vào các trang web, ứng dụng hoặc kịch bản bằng các yêu cầu HTTP tiêu chuẩn.
- Không cần bảo trì: Nhà cung cấp API xử lý các bản cập nhật mô hình, bảo trì và quản lý backend.
- Trả tiền theo mức sử dụng: Thường thì bạn chỉ trả phí cho thời gian tính toán bạn sử dụng.
Cách sử dụng HiDream-I1-Full qua API
Nhiều nền tảng lưu trữ các mô hình AI và cung cấp quyền truy cập API. Chúng ta sẽ tập trung vào hai lựa chọn phổ biến cho HiDream-I1-Full:
Tùy chọn 1: Sử dụng API HiDream của Replicate
Replicate là một nền tảng giúp dễ dàng chạy các mô hình học máy qua một API đơn giản, mà không cần quản lý cơ sở hạ tầng. Họ lưu trữ một thư viện rộng lớn các mô hình được công bố bởi cộng đồng.
- Trang Replicate cho HiDream-I1-Full: https://replicate.com/prunaai/hidream-l1-full (Lưu ý: URL đề cập đến
l1-full
, nhưng đây là liên kết có liên quan đến mô hình HiDream trên Replicate mà được cung cấp trong gợi ý. Giả sử nó tương ứng với mô hình đã đề cập trong hướng dẫn này).
Cách hoạt động của Replicate:
- Xác thực: Bạn cần một mã thông báo API của Replicate, mà bạn có thể tìm thấy trong cài đặt tài khoản của bạn. Mã thông báo này được truyền trong phần tiêu đề
Authorization
. - Bắt đầu một dự đoán: Bạn gửi một yêu cầu POST tới điểm cuối của API Replicate để dự đoán. Thân yêu cầu chứa phiên bản mô hình và các tham số đầu vào (như
prompt
,negative_prompt
,seed
, v.v.). - Hoạt động không đồng bộ: Replicate thường hoạt động không đồng bộ. Yêu cầu POST ban đầu sẽ trả về ngay lập tức với một ID dự đoán và URL để kiểm tra trạng thái.
- Lấy kết quả: Bạn cần truy vấn URL trạng thái (được cung cấp trong phản hồi ban đầu) bằng cách sử dụng các yêu cầu GET cho đến khi trạng thái là
succeeded
(hoặcfailed
). Phản hồi cuối cùng thành công sẽ chứa URL của hình ảnh được tạo ra.
Ví dụ Python Khái niệm (sử dụng requests
):
import requests
import time
import os
REPLICATE_API_TOKEN = "YOUR_REPLICATE_API_TOKEN" # Sử dụng biến môi trường trong môi trường sản xuất
MODEL_VERSION = "TARGET_MODEL_VERSION_FROM_REPLICATE_PAGE" # ví dụ, "9a0b4534..."
# 1. Bắt đầu Dự đoán
headers = {
"Authorization": f"Token {REPLICATE_API_TOKEN}",
"Content-Type": "application/json"
}
payload = {
"version": MODEL_VERSION,
"input": {
"prompt": "Một thành phố cyberpunk hùng vĩ vào lúc hoàng hôn, ánh đèn neon phản chiếu trên những con phố ướt, minh họa chi tiết",
"negative_prompt": "xấu, biến dạng, mờ, chất lượng thấp, văn bản, hình mờ",
"width": 1024,
"height": 1024,
"seed": 12345
# Thêm các tham số khác nếu cần dựa trên trang mô hình của Replicate
}
}
start_response = requests.post("<https://api.replicate.com/v1/predictions>", json=payload, headers=headers)
start_response_json = start_response.json()
if start_response.status_code != 201:
print(f"Lỗi khi bắt đầu dự đoán: {start_response_json.get('detail')}")
exit()
prediction_id = start_response_json.get('id')
status_url = start_response_json.get('urls', {}).get('get')
print(f"Dự đoán đã bắt đầu với ID: {prediction_id}")
print(f"URL trạng thái: {status_url}")
# 2. Polling kết quả
output_image_url = None
while True:
print("Đang kiểm tra trạng thái...")
status_response = requests.get(status_url, headers=headers)
status_response_json = status_response.json()
status = status_response_json.get('status')
if status == 'succeeded':
output_image_url = status_response_json.get('output') # Thường là một danh sách các URL
print("Dự đoán thành công!")
print(f"Kết quả: {output_image_url}")
break
elif status == 'failed' or status == 'canceled':
print(f"Dự đoán thất bại hoặc đã bị hủy: {status_response_json.get('error')}")
break
elif status in ['starting', 'processing']:
# Chờ trước khi polling lại
time.sleep(5) # Điều chỉnh khoảng thời gian polling theo nhu cầu
else:
print(f"Trạng thái không xác định: {status}")
print(status_response_json)
break
# Bây giờ bạn có thể sử dụng output_image_url
Bảng giá: Replicate tính phí dựa trên thời gian thực thi của mô hình trên phần cứng của họ. Kiểm tra trang bảng giá của họ để biết chi tiết.
Tùy chọn 2: Fal.ai
Fal.ai là một nền tảng khác tập trung vào việc cung cấp khả năng suy luận nhanh, có thể mở rộng và tiết kiệm chi phí cho các mô hình AI qua các API. Họ thường nhấn mạnh hiệu suất thời gian thực.
Cách hoạt động của Fal.ai:
- Xác thực: Bạn cần thông tin xác thực API của Fal (ID khóa và Bí mật khóa, thường được kết hợp thành
KeyID:KeySecret
). Cái này được truyền trong tiêu đềAuthorization
, thường làKey YourKeyID:YourKeySecret
. - Điểm cuối API: Fal.ai cung cấp một URL điểm cuối trực tiếp cho chức năng mô hình cụ thể.
- Định dạng yêu cầu: Bạn gửi một yêu cầu POST tới URL điểm cuối của mô hình. Thân yêu cầu thường là JSON chứa các tham số đầu vào cần thiết cho mô hình (tương tự như Replicate:
prompt
, v.v.). - Đồng bộ vs. Không đồng bộ: Fal.ai có thể cung cấp cả hai. Đối với các tác vụ lâu như tạo hình ảnh, họ có thể sử dụng:
- Chức năng không máy chủ: Một chu kỳ yêu cầu/phản hồi tiêu chuẩn, có thể với thời gian chờ lâu hơn.
- Hàng đợi: Một mẫu không đồng bộ tương tự như Replicate, nơi bạn gửi một công việc và polling để lấy kết quả bằng cách sử dụng một ID yêu cầu. Trang API cụ thể được liên kết sẽ nêu rõ cách tương tác dự kiến.
Ví dụ Python Khái niệm (sử dụng requests
- giả định là hàng đợi không đồng bộ):
import requests
import time
import os
FAL_API_KEY = "YOUR_FAL_KEY_ID:YOUR_FAL_KEY_SECRET" # Sử dụng biến môi trường
MODEL_ENDPOINT_URL = "<https://fal.run/fal-ai/hidream-i1-full>" # Kiểm tra URL chính xác trên Fal.ai
# 1. Gửi Yêu cầu đến Hàng đợi (Ví dụ - kiểm tra tài liệu của Fal để biết cấu trúc chính xác)
headers = {
"Authorization": f"Key {FAL_API_KEY}",
"Content-Type": "application/json"
}
payload = {
# Các tham số thường nằm trực tiếp trong tải trọng cho các chức năng không máy chủ của Fal.ai
# hoặc trong một đối tượng 'input' tùy thuộc vào thiết lập. Kiểm tra tài liệu!
"prompt": "Một bức chân dung siêu thực của một nhà du hành không gian đang trôi nổi, Trái Đất phản chiếu trong kính chắn của mũ bảo hiểm",
"negative_prompt": "hoạt hình, tranh vẽ, minh họa, phác thảo, văn bản, chữ cái",
"seed": 98765
# Thêm các tham số khác được hỗ trợ bởi triển khai của Fal.ai
}
# Fal.ai có thể yêu cầu thêm '/queue' hoặc các tham số truy vấn cụ thể cho không đồng bộ
# Ví dụ: POST <https://fal.run/fal-ai/hidream-i1-full/queue>
# Kiểm tra tài liệu của họ! Giả định rằng một điểm cuối trả về một URL trạng thái:
submit_response = requests.post(f"{MODEL_ENDPOINT_URL}", json=payload, headers=headers, params={"fal_webhook": "OPTIONAL_WEBHOOK_URL"}) # Kiểm tra tài liệu để biết các tham số truy vấn như webhook
if submit_response.status_code >= 300:
print(f"Lỗi khi gửi yêu cầu: {submit_response.status_code}")
print(submit_response.text)
exit()
submit_response_json = submit_response.json()
# Phản hồi không đồng bộ của Fal.ai có thể khác - nó có thể trả về một request_id hoặc một URL trạng thái trực tiếp
# Giả định rằng nó trả về một URL trạng thái tương tự như Replicate cho ví dụ khái niệm này
status_url = submit_response_json.get('status_url') # Hoặc xây dựng từ request_id, kiểm tra tài liệu
request_id = submit_response_json.get('request_id') # Nhận diện thay thế
if not status_url and request_id:
# Bạn có thể cần xây dựng URL trạng thái, ví dụ: <https://fal.run/fal-ai/hidream-i1-full/requests/{request_id}/status>
# Hoặc truy vấn một điểm cuối trạng thái tổng quát: <https://fal.run/requests/{request_id}/status>
print("Cần xây dựng URL trạng thái hoặc sử dụng request_id, kiểm tra tài liệu của Fal.ai.")
exit() # Cần cụ thể triển khai dựa trên tài liệu của Fal
print(f"Yêu cầu đã được gửi. URL trạng thái: {status_url}")
# 2. Polling kết quả (nếu không đồng bộ)
output_data = None
while status_url: # Chỉ polling nếu chúng ta có một URL trạng thái
print("Đang kiểm tra trạng thái...")
# Polling có thể cần xác thực nữa
status_response = requests.get(status_url, headers=headers)
status_response_json = status_response.json()
status = status_response_json.get('status') # Kiểm tra tài liệu của Fal để biết các khóa trạng thái ('COMPLETED', 'FAILED', v.v.)
if status == 'COMPLETED': # Trạng thái ví dụ
output_data = status_response_json.get('response') # Hoặc 'result', 'output', kiểm tra tài liệu
print("Yêu cầu đã hoàn thành!")
print(f"Kết quả: {output_data}") # Cấu trúc đầu ra phụ thuộc vào mô hình trên Fal.ai
break
elif status == 'FAILED': # Trạng thái ví dụ
print(f"Yêu cầu thất bại: {status_response_json.get('error')}") # Kiểm tra trường lỗi
break
elif status in ['IN_PROGRESS', 'IN_QUEUE']: # Trạng thái ví dụ
# Chờ trước khi polling lại
time.sleep(3) # Điều chỉnh khoảng thời gian polling
else:
print(f"Trạng thái không xác định: {status}")
print(status_response_json)
break
# Sử dụng output_data (có thể chứa URL hình ảnh hoặc thông tin khác)
Bảng giá: Fal.ai thường tính phí dựa trên thời gian thực thi, thường với thanh toán theo giây. Kiểm tra chi tiết giá cả về mô hình cụ thể và tài nguyên tính toán.
Kiểm tra HiDream API với Apidog
Apidog là một công cụ thiết kế, phát triển và kiểm tra API mạnh mẽ. Nó cung cấp giao diện thân thiện với người dùng để gửi các yêu cầu HTTP, kiểm tra phản hồi và quản lý chi tiết API, làm cho nó lý tưởng cho việc kiểm tra các API của Replicate và Fal.ai trước khi tích hợp chúng vào mã.
Các bước để kiểm tra HiDream-I1-Full API bằng Apidog:
Bước 1. Cài đặt và mở Apidog: Tải xuống và cài đặt Apidog hoặc sử dụng phiên bản web của nó. Tạo một tài khoản nếu cần thiết.

Bước 2. Tạo một yêu cầu mới:
- Trong Apidog, tạo một dự án mới hoặc mở một dự án có sẵn.
- Nhấn nút "+" để thêm một yêu cầu HTTP mới.
Bước 3. Đặt phương thức HTTP và URL:

- Phương thức: Chọn
POST
. - URL: Nhập URL điểm cuối API.
- Đối với Replicate (Bắt đầu Dự đoán):
https://api.replicate.com/v1/predictions
- Đối với Fal.ai (Gửi yêu cầu): Sử dụng URL điểm cuối mô hình cụ thể được cung cấp trên trang của họ (ví dụ,
https://fal.run/fal-ai/hidream-i1-full
- kiểm tra xem có cần thêm/queue
hoặc các tham số truy vấn cho không đồng bộ hay không).
Bước 4. Cấu hình các tiêu đề:

- Đi đến tab
Headers
.
Thêm tiêu đề Content-Type
:
- Chìa khóa:
Content-Type
- Giá trị:
application/json
Thêm tiêu đề Authorization
:
Đối với Replicate:
- Chìa khóa:
Authorization
- Giá trị:
Token YOUR_REPLICATE_API_TOKEN
(Thay thế bằng mã thông báo thực tế của bạn)
Đối với Fal.ai:
- Chìa khóa:
Authorization
- Giá trị:
Key YOUR_FAL_KEY_ID:YOUR_FAL_KEY_SECRET
(Thay thế bằng thông tin xác thực thực tế của bạn) - Mẹo chuyên nghiệp: Sử dụng các biến môi trường của Apidog để lưu trữ các khóa API của bạn một cách an toàn thay vì mã cứng chúng trực tiếp trong yêu cầu. Tạo một môi trường (ví dụ, "Replicate Dev", "Fal Dev") và định nghĩa các biến như
REPLICATE_TOKEN
hoặcFAL_API_KEY
. Sau đó, trong giá trị tiêu đề, sử dụngToken {{REPLICATE_TOKEN}}
hoặcKey {{FAL_API_KEY}}
.
Bước 5. Cấu hình thân yêu cầu:
Đi đến tab Body
.
Chọn định dạng raw
và chọn JSON
từ menu thả xuống.
Dán tải trọng JSON theo yêu cầu của nền tảng.
Ví dụ về thân JSON cho Replicate:
{
"version": "PASTE_MODEL_VERSION_FROM_REPLICATE_PAGE_HERE",
"input": {
"prompt": "Một bức tranh màu nước của một góc thư viện ấm cúng với một chú mèo đang ngủ",
"negative_prompt": "hình ảnh thực tế, render 3d, nghệ thuật kém, biến dạng",
"width": 1024,
"height": 1024,
"seed": 55555
}
}
Ví dụ về thân JSON cho Fal.ai
{
"prompt": "Một bức tranh màu nước của một góc thư viện ấm cúng với một chú mèo đang ngủ",
"negative_prompt": "hình ảnh thực tế, render 3d, nghệ thuật kém, biến dạng",
"width": 1024,
"height": 1024,
"seed": 55555
// Các tham số khác như 'model_name' có thể cần thiết tùy thuộc vào thiết lập của Fal.ai
}
Quan trọng: Tham khảo tài liệu cụ thể trên các trang của Replicate hoặc Fal.ai để biết các tham số yêu cầu và tùy chọn chính xác cho phiên bản mô hình HiDream-I1-Full mà bạn đang sử dụng. Các tham số như guidance_scale
, num_inference_steps
, v.v., có thể có sẵn.
Bước 6. Gửi yêu cầu:
- Nhấn nút "Gửi".
- Apidog sẽ hiển thị mã trạng thái phản hồi, tiêu đề và thân.
- Đối với Replicate: Bạn sẽ nhận được trạng thái
201 Created
. Thân phản hồi sẽ chứaid
của dự đoán và một URLurls.get
. Sao chép URLget
này. - Đối với Fal.ai (Không đồng bộ): Bạn có thể nhận được trạng thái
200 OK
hoặc202 Accepted
. Thân phản hồi có thể chứarequest_id
, mộtstatus_url
trực tiếp, hoặc các chi tiết khác tùy thuộc vào triển khai của họ. Sao chép URL hoặc ID liên quan cần thiết cho việc polling. Nếu nó đồng bộ, bạn có thể nhận được kết quả trực tiếp sau khi xử lý (ít khả năng hơn cho việc tạo hình ảnh).
Poll để lấy kết quả (đối với API không đồng bộ):
- Tạo một yêu cầu mới khác trong Apidog.
- Phương thức: Chọn
GET
. - URL: Dán
status URL
mà bạn đã sao chép từ phản hồi ban đầu (ví dụ:urls.get
từ Replicate hoặc URL trạng thái từ Fal.ai). Nếu Fal.ai đã cung cấprequest_id
, hãy xây dựng URL trạng thái theo tài liệu của họ (ví dụ:https://fal.run/requests/{request_id}/status
). - Cấu hình tiêu đề: Thêm cùng một tiêu đề
Authorization
như trong yêu cầu POST. (Content-Type thường không cần thiết cho GET). - Gửi yêu cầu: Nhấn "Gửi".
- Kiểm tra phản hồi: Kiểm tra trường
status
trong phản hồi JSON. - Nếu
processing
,starting
,IN_PROGRESS
,IN_QUEUE
, v.v., hãy chờ một vài giây và nhấn "Gửi" lại. - Nếu
succeeded
hoặcCOMPLETED
, hãy tìm trườngoutput
(Replicate) hoặcresponse
/result
(Fal.ai) mà nên chứa URL của hình ảnh đã tạo của bạn. - Nếu
failed
hoặcFAILED
, hãy kiểm tra trườngerror
để biết chi tiết.
Xem hình ảnh: Sao chép URL hình ảnh từ phản hồi cuối cùng thành công và dán vào trình duyệt web của bạn để xem hình ảnh được tạo ra.
Muốn một nền tảng tích hợp, tất cả trong một cho nhóm phát triển của bạn làm việc cùng nhau với năng suất tối đa?
Apidog đáp ứng tất cả nhu cầu của bạn và thay thế Postman với giá cả phải chăng hơn nhiều!

Kết luận
HiDream-I1-Full cung cấp khả năng tạo hình ảnh mạnh mẽ, và việc sử dụng API từ các nền tảng như Replicate hoặc Fal.ai làm cho công nghệ này trở nên dễ tiếp cận mà không cần quản lý các cơ sở hạ tầng phức tạp. Bằng cách hiểu quy trình làm việc của API (yêu cầu, khả năng polling, phản hồi) và sử dụng các công cụ như Apidog để kiểm tra, bạn có thể dễ dàng thử nghiệm và tích hợp công nghệ tạo hình ảnh AI tiên tiến vào các dự án của mình.
Nhớ luôn tham khảo tài liệu cụ thể trên Replicate và Fal.ai để có được thông tin cập nhật nhất về các URL điểm cuối, các tham số yêu cầu, các phương pháp xác thực và chi tiết giá, vì những điều này có thể thay đổi theo thời gian. Chúc bạn tạo ra nhiều hình ảnh tuyệt vời!