API Văn bản sang ảnh

API Văn bản sang ảnh là một tính năng cho phép bạn tích hợp khả năng tạo ảnh bằng AI của Meshy vào ứng dụng của riêng bạn. Tạo ra những hình ảnh chất lượng cao từ các câu lệnh văn bản bằng các mô hình AI mạnh mẽ của chúng tôi.


POST/openapi/v1/text-to-image

Tạo tác vụ Văn bản sang ảnh

Endpoint này cho phép bạn tạo một tác vụ Văn bản sang ảnh mới. Tham khảo Đối tượng tác vụ Văn bản sang ảnh để xem những thuộc tính nào có trong đối tượng tác vụ Văn bản sang ảnh.

Tham số

  • Name
    ai_model
    Type
    string
    Bắt buộc
    Description

    ID của mô hình dùng để tạo ảnh.

    Các giá trị khả dụng:

    • nano-banana: Mô hình tiêu chuẩn (3 tín dụng mỗi ảnh)
    • nano-banana-2: Mô hình cân bằng với khả năng mạnh hơn tiêu chuẩn (6 tín dụng mỗi ảnh)
    • nano-banana-pro: Mô hình Pro với chất lượng nâng cao (9 tín dụng mỗi ảnh)
    • gpt-image-2: OpenAI GPT Image 2, một mô hình ảnh độ trung thực cao (9 tín dụng mỗi ảnh)
    • gpt-image-2-5-flare: OpenAI GPT Image 2.5 (Flare), một mô hình ảnh độ trung thực cao (9 tín dụng mỗi ảnh)
    • gpt-image-2-5-sunburst: OpenAI GPT Image 2.5 (Sunburst), một mô hình ảnh độ trung thực cao (9 tín dụng mỗi ảnh)
  • Name
    prompt
    Type
    string
    Bắt buộc
    Description

    Mô tả bằng văn bản về hình ảnh bạn muốn tạo. Hãy mô tả càng chi tiết càng tốt để có kết quả tốt nhất.

  • Name
    generate_multi_view
    Type
    boolean
    mặc định false
    Description

    Khi đặt là true, tạo ra một hình ảnh đa góc nhìn thể hiện đối tượng từ nhiều góc độ khác nhau.

  • Name
    pose_mode
    Type
    string
    Description

    Chỉ định pose_mode cho việc tạo nhân vật. Khi bỏ qua, hình ảnh được tạo mà không có bất kỳ tư thế đặt trước nào.

    Các giá trị khả dụng: a-pose, t-pose

  • Name
    aspect_ratio
    Type
    string
    mặc định 1:1
    Description

    Chỉ định tỷ lệ khung hình của hình ảnh được tạo. Các giá trị cho phép phụ thuộc vào ai_model được chọn:

    • nano-banana, nano-banana-2, nano-banana-pro: 1:1, 16:9, 9:16, 4:3, 3:4
    • gpt-image-2, gpt-image-2-5-flare, gpt-image-2-5-sunburst: 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3

    Các giá trị khả dụng:

    • 1:1: Định dạng vuông
    • 16:9: Màn hình rộng ngang
    • 9:16: Màn hình rộng dọc
    • 4:3: Ngang tiêu chuẩn
    • 3:4: Dọc tiêu chuẩn
    • 3:2: Ngang (chỉ được hỗ trợ bởi các mô hình GPT Image)
    • 2:3: Dọc (chỉ được hỗ trợ bởi các mô hình GPT Image)
  • Name
    remove_background
    Type
    boolean
    mặc định false
    Description

    Khi đặt là true, hình ảnh được tạo sẽ được trả về dưới dạng PNG RGBA trong suốt với nền đã được loại bỏ, cho phép bạn ghép đối tượng lên bất kỳ nền nào.

Kết quả trả về

Thuộc tính result của phản hồi chứa id tác vụ của tác vụ Văn bản sang ảnh vừa được tạo.

Các chế độ thất bại

  • Name
    400 - Bad Request
    Description

    Yêu cầu không được chấp nhận. Các nguyên nhân phổ biến:

    • Thiếu tham số: Một tham số bắt buộc (ví dụ: ai_model, prompt) bị thiếu.
    • Tham số không hợp lệ: ai_model hoặc aspect_ratio không phải là một trong các giá trị được phép.
    • Xung đột: generate_multi_view và aspect_ratio không thể sử dụng đồng thời.
  • Name
    401 - Unauthorized
    Description

    Xác thực thất bại. Vui lòng kiểm tra khóa API của bạn.

  • Name
    402 - Payment Required
    Description

    Không đủ tín dụng để thực hiện tác vụ này.

  • Name
    429 - Too Many Requests
    Description

    Bạn đã vượt quá giới hạn tốc độ.

Request

POST
/openapi/v1/text-to-image
# Generate an image from a text prompt
curl https://api.meshy.ai/openapi/v1/text-to-image \
  -X POST \
  -H "Authorization: Bearer ${YOUR_API_KEY}" \
  -H 'Content-Type: application/json' \
  -d '{
    "ai_model": "nano-banana",
    "prompt": "A majestic dragon soaring through clouds at sunset",
    "aspect_ratio": "16:9"
  }'

Response

{
  "result": "018a210d-8ba4-705c-b111-1f1776f7f578"
}

GET/openapi/v1/text-to-image/:id

Retrieve a Text to Image Task

Endpoint này cho phép bạn truy xuất một tác vụ Văn bản sang ảnh với id tác vụ hợp lệ. Tham khảo Đối tượng tác vụ Văn bản sang ảnh để xem những thuộc tính nào được bao gồm trong đối tượng tác vụ Văn bản sang ảnh.

Tham số

  • Name
    id
    Type
    path
    Description

    Định danh duy nhất của tác vụ Văn bản sang ảnh cần truy xuất.

Giá trị trả về

Phản hồi chứa đối tượng tác vụ Văn bản sang ảnh. Xem phần Đối tượng tác vụ Văn bản sang ảnh để biết chi tiết.

Request

GET
/openapi/v1/text-to-image/018a210d-8ba4-705c-b111-1f1776f7f578
curl https://api.meshy.ai/openapi/v1/text-to-image/018a210d-8ba4-705c-b111-1f1776f7f578 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "text-to-image",
  "ai_model": "nano-banana",
  "prompt": "A majestic dragon soaring through clouds at sunset",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1692771650657,
  "started_at": 1692771667037,
  "finished_at": 1692771669037,
  "expires_at": 1692771679037,
  "image_urls": [
    "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/image.png?Expires=***"
  ]
}

DELETE/openapi/v1/text-to-image/:id

Xóa một tác vụ Văn bản sang ảnh

Endpoint này xóa vĩnh viễn một tác vụ Văn bản sang ảnh, bao gồm tất cả hình ảnh và dữ liệu liên quan. Hành động này không thể hoàn tác.

Tham số đường dẫn

  • Name
    id
    Type
    path
    Description

    ID của tác vụ Văn bản sang ảnh cần xóa.

Trạng thái tác vụ

Một tác vụ vẫn đang ở trạng thái PENDING sẽ được xóa và số tín dụng đã tiêu tốn tại thời điểm tạo sẽ được hoàn lại.

Một tác vụ đã ở trạng thái IN_PROGRESS thì không thể xóa: yêu cầu sẽ bị từ chối với mã 409 Conflict và tác vụ vẫn tiếp tục chạy. Tín dụng cho một tác vụ mà worker đã bắt đầu xử lý sẽ không được hoàn lại, vì vậy việc xóa nó giữa chừng sẽ khiến bạn mất cả tín dụng lẫn kết quả. Hãy chờ cho đến khi nó đạt trạng thái SUCCEEDED, FAILED hoặc CANCELED, rồi mới xóa.

Một tác vụ ở trạng thái cuối cùng (SUCCEEDED, FAILED hoặc CANCELED) sẽ được xóa mà không được hoàn tín dụng.

Kết quả trả về

Trả về 200 OK khi thành công, hoặc 409 Conflict khi tác vụ đang ở trạng thái IN_PROGRESS.

Request

DELETE
/openapi/v1/text-to-image/018a210d-8ba4-705c-b111-1f1776f7f578
curl --request DELETE \
  --url https://api.meshy.ai/openapi/v1/text-to-image/018a210d-8ba4-705c-b111-1f1776f7f578 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response

// 200 OK on success, with an empty body.
//
// 409 Conflict when the task is IN_PROGRESS — the task is left running:
{
  "message": "Task is IN_PROGRESS and cannot be deleted. Credits for a task the worker has already started are not refundable; wait for it to reach SUCCEEDED, FAILED or CANCELED, then delete it."
}

GET/openapi/v1/text-to-image

Danh sách các tác vụ Văn bản sang ảnh

Endpoint này cho phép bạn lấy danh sách các tác vụ Văn bản sang ảnh.

Tham số

  • Name
    page_num
    Type
    integer
    Description

    Số trang dùng cho phân trang. Bắt đầu và mặc định là 1.

  • Name
    page_size
    Type
    integer
    Description

    Giới hạn số lượng mục trên mỗi trang. Mặc định là 10 mục. Tối đa cho phép là 100 mục.

  • Name
    sort_by
    Type
    string
    Description

    Trường dùng để sắp xếp. Các giá trị khả dụng:

    • +created_at: Sắp xếp theo thời gian tạo tăng dần.
    • -created_at: Sắp xếp theo thời gian tạo giảm dần.

Giá trị trả về

Trả về một danh sách được phân trang của Đối tượng tác vụ Văn bản sang ảnh.

Request

GET
/openapi/v1/text-to-image
curl https://api.meshy.ai/openapi/v1/text-to-image?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response

[
  {
    "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "type": "text-to-image",
    "ai_model": "nano-banana",
    "prompt": "A majestic dragon soaring through clouds at sunset",
    "status": "SUCCEEDED",
    "progress": 100,
    "created_at": 1692771650657,
    "started_at": 1692771667037,
    "finished_at": 1692771669037,
    "expires_at": 1692771679037,
    "image_urls": [
      "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/image.png?Expires=***"
    ]
  }
]

GET/openapi/v1/text-to-image/:id/stream

Truyền trực tiếp một tác vụ Văn bản sang ảnh

Endpoint này truyền trực tiếp các cập nhật theo thời gian thực cho một tác vụ Văn bản sang ảnh bằng Server-Sent Events (SSE).

Tham số

  • Name
    id
    Type
    path
    Description

    Mã định danh duy nhất của tác vụ Văn bản sang ảnh cần truyền trực tiếp.

Giá trị trả về

Trả về một luồng Đối tượng tác vụ Văn bản sang ảnh dưới dạng Server-Sent Events.

Đối với các tác vụ ở trạng thái PENDING hoặc IN_PROGRESS, luồng phản hồi sẽ chỉ bao gồm các trường progress và status cần thiết.

Request

GET
/openapi/v1/text-to-image/018a210d-8ba4-705c-b111-1f1776f7f578/stream
curl -N https://api.meshy.ai/openapi/v1/text-to-image/018a210d-8ba4-705c-b111-1f1776f7f578/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response Stream

// Error event example
event: error
data: {
  "status_code": 404,
  "message": "Task not found"
}

// Message event examples illustrate task progress.
// For PENDING or IN_PROGRESS tasks, the response stream will not include all fields.
event: message
data: {
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "text-to-image",
  "ai_model": "nano-banana",
  "prompt": "A majestic dragon soaring through clouds at sunset",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1692771650657,
  "started_at": 1692771667037,
  "finished_at": 1692771669037,
  "expires_at": 1692771679037,
  "image_urls": [
    "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/image.png?Expires=***"
  ]
}

The Text to Image Task Object

Text to Image Task object là một đơn vị công việc mà Meshy theo dõi để tạo ra một hình ảnh từ đầu vào text prompt. Đối tượng này có các thuộc tính sau:

Properties

  • Name
    id
    Type
    string
    Description

    Định danh duy nhất cho tác vụ. Mặc dù chúng tôi sử dụng k-sortable UUID cho id của tác vụ như một chi tiết triển khai, bạn không nên đưa ra bất kỳ giả định nào về định dạng của id.

  • Name
    type
    Type
    string
    Description

    Loại tác vụ tạo hình ảnh. Đối với các tác vụ Text to Image, giá trị này luôn là text-to-image.

  • Name
    ai_model
    Type
    string
    Description

    Mô hình AI được sử dụng cho tác vụ này. Các giá trị có thể là nano-banana, nano-banana-2, nano-banana-pro, gpt-image-2, gpt-image-2-5-flare, hoặc gpt-image-2-5-sunburst.

  • Name
    prompt
    Type
    string
    Description

    prompt văn bản được sử dụng để tạo hình ảnh.

  • Name
    status
    Type
    string
    Description

    Trạng thái của tác vụ. Các giá trị có thể là một trong PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.

  • Name
    progress
    Type
    integer
    Description

    progress của tác vụ. Nếu tác vụ chưa được bắt đầu, thuộc tính này sẽ là 0. Khi tác vụ đã thành công, giá trị này sẽ trở thành 100.

  • Name
    created_at
    Type
    timestamp
    Description

    dấu thời gian khi tác vụ được tạo, tính bằng mili giây.

  • Name
    started_at
    Type
    timestamp
    Description

    dấu thời gian khi tác vụ được bắt đầu, tính bằng mili giây. Nếu tác vụ chưa được bắt đầu, thuộc tính này sẽ là 0.

  • Name
    finished_at
    Type
    timestamp
    Description

    dấu thời gian khi tác vụ được hoàn thành, tính bằng mili giây. Nếu tác vụ chưa hoàn thành, thuộc tính này sẽ là 0.

  • Name
    expires_at
    Type
    timestamp
    Description

    dấu thời gian khi kết quả của tác vụ hết hạn, tính bằng mili giây.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Số lượng các tác vụ đứng trước.

  • Name
    image_urls
    Type
    array
    Description

    Một mảng các URL có thể tải xuống của các hình ảnh đã tạo. Khi generate_multi_view được bật, mảng này chứa ba URL hình ảnh đại diện cho các góc nhìn khác nhau. Nếu không, nó chứa một URL hình ảnh duy nhất.

  • Name
    task_error
    Type
    object
    Description

    Chi tiết lỗi cho các tác vụ thất bại. Xem Lỗi để biết tham chiếu đầy đủ về đối tượng task_error.

  • Name
    consumed_credits
    Type
    integer
    Description

    Số lượng tín dụng đã tiêu thụ bởi tác vụ này. Có mặt khi trạng thái tác vụ là PENDING, IN_PROGRESS, hoặc SUCCEEDED. Trả về 0 đối với các tác vụ FAILED (tín dụng sẽ được hoàn lại khi thất bại).

Example Text to Image Task Object

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "text-to-image",
  "ai_model": "nano-banana",
  "prompt": "A majestic dragon soaring through clouds at sunset",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1692771650657,
  "started_at": 1692771667037,
  "finished_at": 1692771669037,
  "expires_at": 1692771679037,
  "preceding_tasks": 0,
  "image_urls": [
    "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/image.png?Expires=***"
  ],
  "task_error": {

    "message": ""

  },

  "consumed_credits": 3
}