{
  "aboutHtml": "<p>Gemini Embedding 2 Preview là phiên bản xem trước có tên của họ embedding đa phương thức gốc của Google. Mô hình ánh xạ văn bản, ảnh, video, âm thanh và PDF vào không gian số chung, với ý định ngữ nghĩa được biểu diễn trên hơn 100 ngôn ngữ. Đầu ra là embedding: vector dùng để so sánh và truy xuất tài liệu liên quan. Định danh Preview này vẫn tách biệt với phiên bản ổn định Gemini Embedding 2, không ngụ ý các trọng số có thể thay thế hoặc không gian vector giống hệt nhau.</p><p>Thông báo ban đầu mô tả tìm kiếm chéo phương thức, phân loại, phân cụm, phân tích cảm xúc và sinh tăng cường bằng truy xuất là các ứng dụng phía sau. Truy vấn văn bản có thể tìm mục thị giác liên quan, trong khi ảnh hoặc đoạn video cũng có thể làm nguồn tìm kiếm. Ứng dụng lưu biểu diễn, so sánh và trả về bản ghi tương ứng; mô hình ngôn ngữ riêng có thể dùng tài liệu nguồn truy xuất để soạn câu trả lời. Bản thân embedding không chứa giải thích bằng ngôn ngữ tự nhiên hoặc bản chép lời.</p><p>Trang mô hình riêng quy định giới hạn đầu vào 8.192 token và số chiều đầu ra từ 128 đến 3.072, với các kích thước khuyến nghị 768, 1.536 và 3.072. Thông báo Preview nêu mặc định 3.072 và mô tả Matryoshka Representation Learning, giúp giữ thông tin hữu ích trong phần đầu ngắn hơn của biểu diễn. Giữ một số chiều đã chọn cho các vector cần so sánh và lưu phiên bản mô hình cùng bộ sưu tập, thay vì gộp biểu diễn chỉ vì độ dài khớp.</p><p>Thông báo Preview mô tả tối đa sáu ảnh PNG hoặc JPEG trong mỗi yêu cầu, tối đa 120 giây video MP4 hoặc MOV và tài liệu PDF đến sáu trang. Thông báo còn mô tả tạo embedding trực tiếp cho âm thanh mà không cần chép lời thành văn bản trung gian. Các thông số này đến từ chính thông báo Preview, không phải hướng dẫn stable về sau. Thông báo không xác lập mọi giới hạn hiện tại về thời lượng âm thanh, codec hoặc lấy mẫu khung hình cho đúng hồ sơ Preview này.</p><p>Đầu vào đa phương thức đan xen cho phép biểu diễn phản ánh mối liên hệ giữa các nội dung, như ảnh và chú thích. Với danh mục sản phẩm, cung cấp ảnh cùng mô tả đã duyệt khi chúng diễn tả một đối tượng có thể truy xuất. Với bộ sưu tập tài liệu, chia nguồn thành các đoạn hoặc trang tập trung và giữ tiêu đề, vị trí. Với thư viện media, chọn đoạn tương ứng sự kiện người dùng nên tìm được và giữ khoảng thời gian gốc cùng bản ghi lưu trữ.</p><p>Tác vụ truy xuất hữu ích làm rõ quan hệ cần tìm. Câu hỏi muốn lời giải thích, tìm các mục giống về hình ảnh và phân cụm theo chủ đề là những nhiệm vụ khác nhau dù dùng cùng bộ sưu tập nguồn. Chuẩn bị nội dung nhất quán, ghi phiên bản và số chiều, giữ mọi vector liên kết với nguồn. Độ tương đồng cung cấp ứng viên để ứng dụng kiểm tra; nó không chứng minh hai bản ghi nêu cùng dữ kiện hoặc nguồn truy xuất trả lời đầy đủ câu hỏi.</p><p>Với tìm media thực tế, biểu diễn ảnh hoặc trích đoạn video đã chọn và so sánh với mô tả nội dung mong muốn. Hiển thị nguồn khớp kèm chú thích hoặc khoảng thời gian để người dùng xem xét. Với trợ lý kiến thức, truy xuất trang hoặc đoạn liên quan trước khi sinh phản hồi bằng văn bản. Vai trò của mô hình Preview là biểu diễn số đa phương thức hỗ trợ các bước lựa chọn đó, còn lưu trữ, quy tắc xếp hạng và câu trả lời cuối vẫn thuộc quy trình bao quanh.</p>",
  "aboutText": "Gemini Embedding 2 Preview là phiên bản xem trước có tên của họ embedding đa phương thức gốc của Google. Mô hình ánh xạ văn bản, ảnh, video, âm thanh và PDF vào không gian số chung, với ý định ngữ nghĩa được biểu diễn trên hơn 100 ngôn ngữ. Đầu ra là embedding: vector dùng để so sánh và truy xuất tài liệu liên quan. Định danh Preview này vẫn tách biệt với phiên bản ổn định Gemini Embedding 2, không ngụ ý các trọng số có thể thay thế hoặc không gian vector giống hệt nhau.\n\nThông báo ban đầu mô tả tìm kiếm chéo phương thức, phân loại, phân cụm, phân tích cảm xúc và sinh tăng cường bằng truy xuất là các ứng dụng phía sau. Truy vấn văn bản có thể tìm mục thị giác liên quan, trong khi ảnh hoặc đoạn video cũng có thể làm nguồn tìm kiếm. Ứng dụng lưu biểu diễn, so sánh và trả về bản ghi tương ứng; mô hình ngôn ngữ riêng có thể dùng tài liệu nguồn truy xuất để soạn câu trả lời. Bản thân embedding không chứa giải thích bằng ngôn ngữ tự nhiên hoặc bản chép lời.\n\nTrang mô hình riêng quy định giới hạn đầu vào 8.192 token và số chiều đầu ra từ 128 đến 3.072, với các kích thước khuyến nghị 768, 1.536 và 3.072. Thông báo Preview nêu mặc định 3.072 và mô tả Matryoshka Representation Learning, giúp giữ thông tin hữu ích trong phần đầu ngắn hơn của biểu diễn. Giữ một số chiều đã chọn cho các vector cần so sánh và lưu phiên bản mô hình cùng bộ sưu tập, thay vì gộp biểu diễn chỉ vì độ dài khớp.\n\nThông báo Preview mô tả tối đa sáu ảnh PNG hoặc JPEG trong mỗi yêu cầu, tối đa 120 giây video MP4 hoặc MOV và tài liệu PDF đến sáu trang. Thông báo còn mô tả tạo embedding trực tiếp cho âm thanh mà không cần chép lời thành văn bản trung gian. Các thông số này đến từ chính thông báo Preview, không phải hướng dẫn stable về sau. Thông báo không xác lập mọi giới hạn hiện tại về thời lượng âm thanh, codec hoặc lấy mẫu khung hình cho đúng hồ sơ Preview này.\n\nĐầu vào đa phương thức đan xen cho phép biểu diễn phản ánh mối liên hệ giữa các nội dung, như ảnh và chú thích. Với danh mục sản phẩm, cung cấp ảnh cùng mô tả đã duyệt khi chúng diễn tả một đối tượng có thể truy xuất. Với bộ sưu tập tài liệu, chia nguồn thành các đoạn hoặc trang tập trung và giữ tiêu đề, vị trí. Với thư viện media, chọn đoạn tương ứng sự kiện người dùng nên tìm được và giữ khoảng thời gian gốc cùng bản ghi lưu trữ.\n\nTác vụ truy xuất hữu ích làm rõ quan hệ cần tìm. Câu hỏi muốn lời giải thích, tìm các mục giống về hình ảnh và phân cụm theo chủ đề là những nhiệm vụ khác nhau dù dùng cùng bộ sưu tập nguồn. Chuẩn bị nội dung nhất quán, ghi phiên bản và số chiều, giữ mọi vector liên kết với nguồn. Độ tương đồng cung cấp ứng viên để ứng dụng kiểm tra; nó không chứng minh hai bản ghi nêu cùng dữ kiện hoặc nguồn truy xuất trả lời đầy đủ câu hỏi.\n\nVới tìm media thực tế, biểu diễn ảnh hoặc trích đoạn video đã chọn và so sánh với mô tả nội dung mong muốn. Hiển thị nguồn khớp kèm chú thích hoặc khoảng thời gian để người dùng xem xét. Với trợ lý kiến thức, truy xuất trang hoặc đoạn liên quan trước khi sinh phản hồi bằng văn bản. Vai trò của mô hình Preview là biểu diễn số đa phương thức hỗ trợ các bước lựa chọn đó, còn lưu trữ, quy tắc xếp hạng và câu trả lời cuối vẫn thuộc quy trình bao quanh.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "996aadbe9e8c00aab7011dd9194acac5e4789a5995439be47224d126c409e464",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "vi",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">G</span><h2 id=\"sheet-title\">Google: Gemini Embedding 2 Preview</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Đóng\">×</button></div><div class=\"idline\"><span>Google /</span><code>google/gemini-embedding-2-preview</code><button type=\"button\" id=\"copy-id\">Sao chép ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Các phần của thẻ mô hình\"><button type=\"button\" data-card-jump=\"overview\">Bắt đầu</button><button type=\"button\" data-card-jump=\"methods\">Đầu vào &amp; phương thức</button><button type=\"button\" data-card-jump=\"pricing\">Bảng giá</button><button type=\"button\" data-card-jump=\"examples\">Ví dụ</button><button type=\"button\" data-card-jump=\"results\">Kết quả</button><button type=\"button\" data-card-jump=\"aliases\">Bí danh</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Phương thức API\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|embeddings|/v1/embeddings|google%2Fgemini-embedding-2-preview\">Biểu diễn nhúng</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Bắt đầu</h3><p class=\"mdesc-full\">Gemini Embedding 2 Preview chuyển văn bản, ảnh, âm thanh, video và PDF thành vector số trong một không gian đa phương thức. Hồ sơ xem trước được mô tả riêng hỗ trợ truy xuất và so sánh chéo phương thức, đầu vào 8.192 token và số chiều vector linh hoạt.</p><dl class=\"card-io\" data-card-io><div><dt>Đầu vào được chấp nhận</dt><dd>Văn bản</dd></div><div><dt>Kết quả</dt><dd>embedding</dd></div></dl><details class=\"card-about\"><summary>Về mô hình</summary><p class=\"note-s\" data-model-method-boundary>Mô tả này trình bày khả năng của mô hình. Đầu vào, đầu ra và tùy chọn có trên Ailoot được liệt kê bên dưới cho phương thức đã chọn.</p><div class=\"mabout\" id=\"m-about\"><p>Gemini Embedding 2 Preview là phiên bản xem trước có tên của họ embedding đa phương thức gốc của Google. Mô hình ánh xạ văn bản, ảnh, video, âm thanh và PDF vào không gian số chung, với ý định ngữ nghĩa được biểu diễn trên hơn 100 ngôn ngữ. Đầu ra là embedding: vector dùng để so sánh và truy xuất tài liệu liên quan. Định danh Preview này vẫn tách biệt với phiên bản ổn định Gemini Embedding 2, không ngụ ý các trọng số có thể thay thế hoặc không gian vector giống hệt nhau.</p><p>Thông báo ban đầu mô tả tìm kiếm chéo phương thức, phân loại, phân cụm, phân tích cảm xúc và sinh tăng cường bằng truy xuất là các ứng dụng phía sau. Truy vấn văn bản có thể tìm mục thị giác liên quan, trong khi ảnh hoặc đoạn video cũng có thể làm nguồn tìm kiếm. Ứng dụng lưu biểu diễn, so sánh và trả về bản ghi tương ứng; mô hình ngôn ngữ riêng có thể dùng tài liệu nguồn truy xuất để soạn câu trả lời. Bản thân embedding không chứa giải thích bằng ngôn ngữ tự nhiên hoặc bản chép lời.</p><p>Trang mô hình riêng quy định giới hạn đầu vào 8.192 token và số chiều đầu ra từ 128 đến 3.072, với các kích thước khuyến nghị 768, 1.536 và 3.072. Thông báo Preview nêu mặc định 3.072 và mô tả Matryoshka Representation Learning, giúp giữ thông tin hữu ích trong phần đầu ngắn hơn của biểu diễn. Giữ một số chiều đã chọn cho các vector cần so sánh và lưu phiên bản mô hình cùng bộ sưu tập, thay vì gộp biểu diễn chỉ vì độ dài khớp.</p><p>Thông báo Preview mô tả tối đa sáu ảnh PNG hoặc JPEG trong mỗi yêu cầu, tối đa 120 giây video MP4 hoặc MOV và tài liệu PDF đến sáu trang. Thông báo còn mô tả tạo embedding trực tiếp cho âm thanh mà không cần chép lời thành văn bản trung gian. Các thông số này đến từ chính thông báo Preview, không phải hướng dẫn stable về sau. Thông báo không xác lập mọi giới hạn hiện tại về thời lượng âm thanh, codec hoặc lấy mẫu khung hình cho đúng hồ sơ Preview này.</p><p>Đầu vào đa phương thức đan xen cho phép biểu diễn phản ánh mối liên hệ giữa các nội dung, như ảnh và chú thích. Với danh mục sản phẩm, cung cấp ảnh cùng mô tả đã duyệt khi chúng diễn tả một đối tượng có thể truy xuất. Với bộ sưu tập tài liệu, chia nguồn thành các đoạn hoặc trang tập trung và giữ tiêu đề, vị trí. Với thư viện media, chọn đoạn tương ứng sự kiện người dùng nên tìm được và giữ khoảng thời gian gốc cùng bản ghi lưu trữ.</p><p>Tác vụ truy xuất hữu ích làm rõ quan hệ cần tìm. Câu hỏi muốn lời giải thích, tìm các mục giống về hình ảnh và phân cụm theo chủ đề là những nhiệm vụ khác nhau dù dùng cùng bộ sưu tập nguồn. Chuẩn bị nội dung nhất quán, ghi phiên bản và số chiều, giữ mọi vector liên kết với nguồn. Độ tương đồng cung cấp ứng viên để ứng dụng kiểm tra; nó không chứng minh hai bản ghi nêu cùng dữ kiện hoặc nguồn truy xuất trả lời đầy đủ câu hỏi.</p><p>Với tìm media thực tế, biểu diễn ảnh hoặc trích đoạn video đã chọn và so sánh với mô tả nội dung mong muốn. Hiển thị nguồn khớp kèm chú thích hoặc khoảng thời gian để người dùng xem xét. Với trợ lý kiến thức, truy xuất trang hoặc đoạn liên quan trước khi sinh phản hồi bằng văn bản. Vai trò của mô hình Preview là biểu diễn số đa phương thức hỗ trợ các bước lựa chọn đó, còn lưu trữ, quy tắc xếp hạng và câu trả lời cuối vẫn thuộc quy trình bao quanh.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Có trên Ailoot · đầu vào &amp; phương thức</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Biểu diễn nhúng</b> <code>POST /v1/embeddings</code></summary><dl class=\"method-capabilities\"><div><dt>Đầu vào</dt><dd><code>text</code></dd></div><div><dt>Đầu ra</dt><dd><code>embedding</code></dd></div><div><dt>Ngữ cảnh</dt><dd>8.192 tokens</dd></div><div><dt>Định dạng đầu ra</dt><dd>json</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Trường</th><th>Loại</th><th>Yêu cầu</th><th>Giá trị &amp; giới hạn</th><th>Mặc định</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span><code>string</code></td><td data-cell-label=\"Yêu cầu\"><span class=\"card-cell-label\">Yêu cầu</span>Bắt buộc</td><td data-cell-label=\"Giá trị &amp; giới hạn\"><span class=\"card-cell-label\">Giá trị &amp; giới hạn</span><div>google/gemini-embedding-2-preview</div></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">input</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span><code>string|string[]</code></td><td data-cell-label=\"Yêu cầu\"><span class=\"card-cell-label\">Yêu cầu</span>Bắt buộc</td><td data-cell-label=\"Giá trị &amp; giới hạn\"><span class=\"card-cell-label\">Giá trị &amp; giới hạn</span></td><td data-cell-label=\"Mặc định\" data-default=\"unspecified\"><span class=\"card-cell-label\">Mặc định</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Tổ hợp tư liệu đầu vào</summary><p class=\"note-s\"><b>text_to_embedding</b></p></details><details class=\"note-s\" data-method-contract><summary>Tham số phương thức và vòng đời</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Tham số</th><th>Hợp đồng</th></tr></thead><tbody><tr><th data-cell-label=\"Tham số\" scope=\"row\"><span class=\"card-cell-label\">Tham số</span><code>content_type</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>application/json</td></tr><tr><th data-cell-label=\"Tham số\" scope=\"row\"><span class=\"card-cell-label\">Tham số</span><code>required</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>model, input</td></tr><tr><th data-cell-label=\"Tham số\" scope=\"row\"><span class=\"card-cell-label\">Tham số</span><code>input_shapes</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>string, string[]</td></tr><tr><th data-cell-label=\"Tham số\" scope=\"row\"><span class=\"card-cell-label\">Tham số</span><code>material_types</code></th><td data-cell-label=\"Hợp đồng\"><span class=\"card-cell-label\">Hợp đồng</span>text</td></tr></tbody></table></div><p>Vòng đời: <code>synchronous_json</code></p><p class=\"note-s\">Giữ lại mọi vectơ và chỉ số được trả về.</p><p class=\"note-s\">Không suy ra khả năng hỗ trợ đối tượng ảnh/âm thanh/tệp từ hồ sơ văn bản tối giản này.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Bảng giá</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Thông tin biểu giá không bổ sung tùy chọn yêu cầu. Các tham số được hỗ trợ nằm trong phương thức đã chọn.</p><dl data-price-conditions><dt>Chế độ nhanh</dt><dd>Chưa chỉ định <span class=\"note-s\">Khi chọn chế độ nhanh</span></dd><dt>Chế độ Flex</dt><dd>Chưa chỉ định <span class=\"note-s\">Khi chọn chế độ flex</span></dd><dt>Mức độ suy luận tối đa</dt><dd>Chưa chỉ định <span class=\"note-s\">Khi áp dụng mức điều chỉnh mặc định (default) cho mức độ suy luận tối đa</span></dd></dl></div><div data-declared-tariff-pricing><h4>Mức phí Ailoot</h4><h4>Giá theo cấu hình</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Cấu hình</th><th>Biểu mức phí</th><th>Phí</th></tr></thead><tbody><tr><th data-cell-label=\"Cấu hình\" scope=\"row\"><span class=\"card-cell-label\">Cấu hình</span>Giá cơ sở cho token</th><td data-cell-label=\"Biểu mức phí\"><span class=\"card-cell-label\">Biểu mức phí</span>Mức phí cơ bản</td><td data-cell-label=\"Phí\"><span class=\"card-cell-label\">Phí</span><div><span>Đầu vào · Token đầu vào</span> <b>$0.0004</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Đầu ra · Token đầu ra</span> <b>$0</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Đầu vào · Đọc bộ nhớ đệm</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Đầu vào · Ghi bộ nhớ đệm</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Đầu vào · Ghi bộ nhớ đệm, 1 giờ</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot tạm giữ một khoản ước tính trước yêu cầu. Sau khi có kết quả, phí cuối cùng được quyết toán theo mức sử dụng đo được. Việc quyết toán khi truyền luồng dùng bản ghi mức sử dụng cuối cùng. <a href=\"/docs/vi/billing/reserve/\">Cách hoạt động của cơ chế tạm giữ và quyết toán →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Ví dụ yêu cầu</h3><h4>Ailoot Ultra · Biểu diễn nhúng</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Các phiên bản mã\"><button class=\"cg-tab\" id=\"model-code-1488-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1488-panel-0\" aria-selected=\"true\" tabindex=\"0\">Nội dung yêu cầu JSON tối thiểu, đầy đủ</button><button class=\"cg-tab\" id=\"model-code-1488-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1488-panel-1\" aria-selected=\"false\" tabindex=\"-1\">curl · yêu cầu nhúng văn bản tối thiểu</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Sao chép mã\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1488-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1488-tab-0\"><pre data-lang=\"json\"><code>{\n  &quot;model&quot;: &quot;google/gemini-embedding-2-preview&quot;,\n  &quot;input&quot;: [\n    &quot;First document&quot;,\n    &quot;Second document&quot;\n  ]\n}</code></pre></div><div class=\"cg-pane\" id=\"model-code-1488-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-1488-tab-1\" hidden><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncat &gt; embedding-request.json &lt;&lt;&#39;JSON_REQUEST&#39;\n{\n  &quot;model&quot;: &quot;google/gemini-embedding-2-preview&quot;,\n  &quot;input&quot;: [\n    &quot;First document&quot;,\n    &quot;Second document&quot;\n  ]\n}\nJSON_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @embedding-request.json -o embedding-response.json\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Nhận và lưu kết quả</h3><h4>Ailoot Ultra · Biểu diễn nhúng</h4><p class=\"note-s\">json</p><div class=\"card-result-process\" data-all-results><h5>Lưu tất cả kết quả đã hoàn tất</h5><p class=\"note-s\">Lưu mọi phản hồi hoàn chỉnh, tệp và phần nội dung được trả về.</p><p class=\"note-s\">Giữ lại mọi vector kèm chỉ mục của nó. Số lượng vector phải bằng số lượng đầu vào; số chiều phải nhất quán.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Nếu cần kiểm tra phản hồi gốc</h5><p class=\"note-s\">Không có điểm cuối tác vụ embedding nào được bổ sung.</p></div><details class=\"card-about\" data-output-fields><summary>Trường phản hồi</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Trường</th><th>Loại</th></tr></thead><tbody><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">object</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span>string</td></tr><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span>string</td></tr><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">data[].index</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span>integer</td></tr><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">data[].embedding</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span>finite float[]</td></tr><tr><th data-cell-label=\"Trường\" scope=\"row\"><span class=\"card-cell-label\">Trường</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Loại\" data-field-type><span class=\"card-cell-label\">Loại</span>object</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Lỗi và bước tiếp theo</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Phản hồi</th><th>Điều kiện</th><th>Bước tiếp theo</th></tr></thead><tbody><tr><th data-cell-label=\"Phản hồi\" scope=\"row\"><span class=\"card-cell-label\">Phản hồi</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Điều kiện\"><span class=\"card-cell-label\">Điều kiện</span>Thiếu model hoặc JSON sai định dạng.</td><td data-cell-label=\"Bước tiếp theo\"><span class=\"card-cell-label\">Bước tiếp theo</span>Sửa các trường được chỉ ra.</td></tr><tr><th data-cell-label=\"Phản hồi\" scope=\"row\"><span class=\"card-cell-label\">Phản hồi</span>413 · <code>invalid_request_error</code></th><td data-cell-label=\"Điều kiện\"><span class=\"card-cell-label\">Điều kiện</span>Vượt quá giới hạn nội dung yêu cầu đã cấu hình.</td><td data-cell-label=\"Bước tiếp theo\"><span class=\"card-cell-label\">Bước tiếp theo</span>Giảm lượng nội dung thực tế.</td></tr><tr><th data-cell-label=\"Phản hồi\" scope=\"row\"><span class=\"card-cell-label\">Phản hồi</span>422 · <code>invalid_request_error</code></th><td data-cell-label=\"Điều kiện\"><span class=\"card-cell-label\">Điều kiện</span>Đầu vào hoặc các tùy chọn điều khiển vi phạm chính sách riêng hiện hành.</td><td data-cell-label=\"Bước tiếp theo\"><span class=\"card-cell-label\">Bước tiếp theo</span>Dùng đầu vào văn bản tối giản được minh họa, không kèm các tùy chọn điều khiển kế thừa.</td></tr><tr><th data-cell-label=\"Phản hồi\" scope=\"row\"><span class=\"card-cell-label\">Phản hồi</span>503 · <code>billing_error</code></th><td data-cell-label=\"Điều kiện\"><span class=\"card-cell-label\">Điều kiện</span>Không thể gắn quyền sử dụng hoặc báo giá với yêu cầu.</td><td data-cell-label=\"Bước tiếp theo\"><span class=\"card-cell-label\">Bước tiếp theo</span>Giữ nguyên phản hồi; không thay thế chính sách.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Bí danh</h3><h4>Bí danh mô hình</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=google%2Fgemini-embedding-2-preview&amp;route=Ultra&amp;caller=google%2Fgemini-embedding-2-preview&amp;fmt=embeddings\"><code>google/gemini-embedding-2-preview</code></a></span></p><h4>Bí danh đường dẫn phương thức</h4><p class=\"note-s\">Dùng các đường dẫn phương thức hiển thị ở trên.</p><h4>ID gọi liên quan</h4><p class=\"note-s\"><a href=\"#m=google%2Fgemini-embedding-2-preview&amp;route=Ultra&amp;caller=google%2Fgemini-embedding-2-preview&amp;fmt=embeddings\"><code>google/gemini-embedding-2-preview</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "google/gemini-embedding-2-preview",
        "fmt": "embeddings",
        "http": "POST",
        "path": "/v1/embeddings",
        "request_model_id": "google/gemini-embedding-2-preview",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|embeddings|/v1/embeddings|google%2Fgemini-embedding-2-preview",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep every vector with its index. Vector count must equal input count; dimensions must be consistent.",
            "errors": [
              {
                "code": null,
                "condition": "Thiếu model hoặc JSON sai định dạng.",
                "http_status": 400,
                "recovery": "Sửa các trường được chỉ ra.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Vượt quá giới hạn nội dung yêu cầu đã cấu hình.",
                "http_status": 413,
                "recovery": "Giảm lượng nội dung thực tế.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Đầu vào hoặc các tùy chọn điều khiển vi phạm chính sách riêng hiện hành.",
                "http_status": 422,
                "recovery": "Dùng đầu vào văn bản tối giản được minh họa, không kèm các tùy chọn điều khiển kế thừa.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Không thể gắn quyền sử dụng hoặc báo giá với yêu cầu.",
                "http_status": 503,
                "recovery": "Giữ nguyên phản hồi; không thay thế chính sách.",
                "type": "billing_error"
              }
            ],
            "example_body": {
              "input": [
                "First document",
                "Second document"
              ],
              "model": "google/gemini-embedding-2-preview"
            },
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "job_read": null,
              "mode": "synchronous_json",
              "unknown": "Không có điểm cuối tác vụ embedding nào được bổ sung."
            },
            "material_combinations": [
              {
                "alternatives": [
                  "string",
                  "string[]"
                ],
                "mode": "text_to_embedding"
              }
            ],
            "operation_modes": [
              "single_embedding",
              "batched_embeddings"
            ],
            "outputs": {
              "all_results": "Giữ lại mọi vector kèm chỉ mục của nó. Số lượng vector phải bằng số lượng đầu vào; số chiều phải nhất quán.",
              "default_dimensions": null,
              "family": "embedding",
              "fields": [
                {
                  "description": null,
                  "name": "object",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "data[].embedding",
                  "type": "finite float[]"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "google/gemini-embedding-2-preview"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "input",
                "required": true,
                "type": "string|string[]"
              }
            ],
            "profile_binding": "Minimal current Source subset: only model and text input. Optional controls and another model dimensions/token limits are not inherited.",
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "input": {
                  "oneOf": [
                    {
                      "minLength": 1,
                      "type": "string"
                    },
                    {
                      "items": {
                        "minLength": 1,
                        "type": "string"
                      },
                      "minItems": 1,
                      "type": "array"
                    }
                  ]
                },
                "model": {
                  "enum": [
                    "google/gemini-embedding-2-preview"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input"
              ],
              "type": "object"
            },
            "schema_template": {
              "input": [
                "First document",
                "Second document"
              ],
              "model": "google/gemini-embedding-2-preview"
            },
            "unsupported": [
              "image/audio/file objects in this minimal text profile",
              "dimensions (current Native43 supports_dimensions:false)",
              "foreign model-specific dimensions or token limits"
            ]
          },
          "hints": [
            "Giữ lại mọi vectơ và chỉ số được trả về.",
            "Không suy ra khả năng hỗ trợ đối tượng ảnh/âm thanh/tệp từ hồ sơ văn bản tối giản này."
          ],
          "input": {
            "content_type": "application/json",
            "input_shapes": [
              "string",
              "string[]"
            ],
            "material_types": [
              "text"
            ],
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "mode": "synchronous_json",
            "unknown": "no embedding job endpoint inferred"
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_embedding"
          ],
          "output": {
            "default_dimensions": null,
            "family": "embedding",
            "format": "json",
            "http_success": 200,
            "vectors": "Keep every vector, index, model and usage field. Current dedicated Source validates count, finite float elements and consistent actual dimensions."
          }
        },
        "ctx": 8192,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Giá cơ sở cho token",
            "units": [
              {
                "amount": "0.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "{\n  \"model\": \"google/gemini-embedding-2-preview\",\n  \"input\": [\n    \"First document\",\n    \"Second document\"\n  ]\n}",
            "label": "Complete minimal JSON body",
            "language": "json"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncat > embedding-request.json <<'JSON_REQUEST'\n{\n  \"model\": \"google/gemini-embedding-2-preview\",\n  \"input\": [\n    \"First document\",\n    \"Second document\"\n  ]\n}\nJSON_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @embedding-request.json -o embedding-response.json\n",
            "label": "curl · minimal text embeddings",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "embeddings",
        "hints": [
          "Keep every vector index and dimension.",
          "Multimodal model name does not admit image objects on this exact path."
        ],
        "http": "POST",
        "in": 0.4,
        "input": [
          "text"
        ],
        "label": "Biểu diễn nhúng",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "google/gemini-embedding-2-preview",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    }
  ],
  "model_id": "google/gemini-embedding-2-preview",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "3a9228eca228048f6ac2ecb20d31258c4d025ad91faa590769c9e5df8b6859fd",
    "input_html_sha256": "59128a5ea6dab622f176c4d23c95da8aa457ee2e8b2b8e184d51b3c5d7a8e3b1",
    "private_audit_sha256": "a496594777fc9306e098f4b4e4e5bb8e5b0e6e9e31b48b10e3801b5a82f18231",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/vi/google-gemini-embedding-2-preview/",
    "description": "Gemini Embedding 2 Preview chuyển văn bản, ảnh, âm thanh, video và PDF thành vector số trong một không gian đa phương thức. Hồ sơ xem trước được mô tả riêng hỗ trợ truy xuất và so sánh chéo phương thức, đầu vào 8.192 token và số chiều vector linh hoạt.",
    "locale": "vi",
    "md_url": "https://ailoot.ai/models/vi/google-gemini-embedding-2-preview/index.md",
    "title": "Google: Gemini Embedding 2 Preview — Ailoot",
    "url": "https://ailoot.ai/models/vi/google-gemini-embedding-2-preview/"
  },
  "rawModel": {
    "about": "Gemini Embedding 2 Preview là phiên bản xem trước có tên của họ embedding đa phương thức gốc của Google. Mô hình ánh xạ văn bản, ảnh, video, âm thanh và PDF vào không gian số chung, với ý định ngữ nghĩa được biểu diễn trên hơn 100 ngôn ngữ. Đầu ra là embedding: vector dùng để so sánh và truy xuất tài liệu liên quan. Định danh Preview này vẫn tách biệt với phiên bản ổn định Gemini Embedding 2, không ngụ ý các trọng số có thể thay thế hoặc không gian vector giống hệt nhau.\n\nThông báo ban đầu mô tả tìm kiếm chéo phương thức, phân loại, phân cụm, phân tích cảm xúc và sinh tăng cường bằng truy xuất là các ứng dụng phía sau. Truy vấn văn bản có thể tìm mục thị giác liên quan, trong khi ảnh hoặc đoạn video cũng có thể làm nguồn tìm kiếm. Ứng dụng lưu biểu diễn, so sánh và trả về bản ghi tương ứng; mô hình ngôn ngữ riêng có thể dùng tài liệu nguồn truy xuất để soạn câu trả lời. Bản thân embedding không chứa giải thích bằng ngôn ngữ tự nhiên hoặc bản chép lời.\n\nTrang mô hình riêng quy định giới hạn đầu vào 8.192 token và số chiều đầu ra từ 128 đến 3.072, với các kích thước khuyến nghị 768, 1.536 và 3.072. Thông báo Preview nêu mặc định 3.072 và mô tả Matryoshka Representation Learning, giúp giữ thông tin hữu ích trong phần đầu ngắn hơn của biểu diễn. Giữ một số chiều đã chọn cho các vector cần so sánh và lưu phiên bản mô hình cùng bộ sưu tập, thay vì gộp biểu diễn chỉ vì độ dài khớp.\n\nThông báo Preview mô tả tối đa sáu ảnh PNG hoặc JPEG trong mỗi yêu cầu, tối đa 120 giây video MP4 hoặc MOV và tài liệu PDF đến sáu trang. Thông báo còn mô tả tạo embedding trực tiếp cho âm thanh mà không cần chép lời thành văn bản trung gian. Các thông số này đến từ chính thông báo Preview, không phải hướng dẫn stable về sau. Thông báo không xác lập mọi giới hạn hiện tại về thời lượng âm thanh, codec hoặc lấy mẫu khung hình cho đúng hồ sơ Preview này.\n\nĐầu vào đa phương thức đan xen cho phép biểu diễn phản ánh mối liên hệ giữa các nội dung, như ảnh và chú thích. Với danh mục sản phẩm, cung cấp ảnh cùng mô tả đã duyệt khi chúng diễn tả một đối tượng có thể truy xuất. Với bộ sưu tập tài liệu, chia nguồn thành các đoạn hoặc trang tập trung và giữ tiêu đề, vị trí. Với thư viện media, chọn đoạn tương ứng sự kiện người dùng nên tìm được và giữ khoảng thời gian gốc cùng bản ghi lưu trữ.\n\nTác vụ truy xuất hữu ích làm rõ quan hệ cần tìm. Câu hỏi muốn lời giải thích, tìm các mục giống về hình ảnh và phân cụm theo chủ đề là những nhiệm vụ khác nhau dù dùng cùng bộ sưu tập nguồn. Chuẩn bị nội dung nhất quán, ghi phiên bản và số chiều, giữ mọi vector liên kết với nguồn. Độ tương đồng cung cấp ứng viên để ứng dụng kiểm tra; nó không chứng minh hai bản ghi nêu cùng dữ kiện hoặc nguồn truy xuất trả lời đầy đủ câu hỏi.\n\nVới tìm media thực tế, biểu diễn ảnh hoặc trích đoạn video đã chọn và so sánh với mô tả nội dung mong muốn. Hiển thị nguồn khớp kèm chú thích hoặc khoảng thời gian để người dùng xem xét. Với trợ lý kiến thức, truy xuất trang hoặc đoạn liên quan trước khi sinh phản hồi bằng văn bản. Vai trò của mô hình Preview là biểu diễn số đa phương thức hỗ trợ các bước lựa chọn đó, còn lưu trữ, quy tắc xếp hạng và câu trả lời cuối vẫn thuộc quy trình bao quanh.",
    "alias_of": null,
    "aliases": [],
    "author": "Google",
    "capabilities": {
      "context_length": 8192,
      "manufacturer_input": [
        "text",
        "image",
        "file",
        "audio",
        "video"
      ],
      "manufacturer_output": [
        "embeddings"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          }
        ],
        "summary": "Giá theo cấu hình được trình bày đầy đủ trong phần chi tiết."
      }
    ],
    "ctx": 8192,
    "formats": [
      "embeddings"
    ],
    "id": "google/gemini-embedding-2-preview",
    "input": [
      "text"
    ],
    "kind": "embedding",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep every vector with its index. Vector count must equal input count; dimensions must be consistent.",
            "errors": [
              {
                "code": null,
                "condition": "Thiếu model hoặc JSON sai định dạng.",
                "http_status": 400,
                "recovery": "Sửa các trường được chỉ ra.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Vượt quá giới hạn nội dung yêu cầu đã cấu hình.",
                "http_status": 413,
                "recovery": "Giảm lượng nội dung thực tế.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Đầu vào hoặc các tùy chọn điều khiển vi phạm chính sách riêng hiện hành.",
                "http_status": 422,
                "recovery": "Dùng đầu vào văn bản tối giản được minh họa, không kèm các tùy chọn điều khiển kế thừa.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Không thể gắn quyền sử dụng hoặc báo giá với yêu cầu.",
                "http_status": 503,
                "recovery": "Giữ nguyên phản hồi; không thay thế chính sách.",
                "type": "billing_error"
              }
            ],
            "example_body": {
              "input": [
                "First document",
                "Second document"
              ],
              "model": "google/gemini-embedding-2-preview"
            },
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "job_read": null,
              "mode": "synchronous_json",
              "unknown": "Không có điểm cuối tác vụ embedding nào được bổ sung."
            },
            "material_combinations": [
              {
                "alternatives": [
                  "string",
                  "string[]"
                ],
                "mode": "text_to_embedding"
              }
            ],
            "operation_modes": [
              "single_embedding",
              "batched_embeddings"
            ],
            "outputs": {
              "all_results": "Giữ lại mọi vector kèm chỉ mục của nó. Số lượng vector phải bằng số lượng đầu vào; số chiều phải nhất quán.",
              "default_dimensions": null,
              "family": "embedding",
              "fields": [
                {
                  "description": null,
                  "name": "object",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "data[].embedding",
                  "type": "finite float[]"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "google/gemini-embedding-2-preview"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "input",
                "required": true,
                "type": "string|string[]"
              }
            ],
            "profile_binding": "Minimal current Source subset: only model and text input. Optional controls and another model dimensions/token limits are not inherited.",
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "input": {
                  "oneOf": [
                    {
                      "minLength": 1,
                      "type": "string"
                    },
                    {
                      "items": {
                        "minLength": 1,
                        "type": "string"
                      },
                      "minItems": 1,
                      "type": "array"
                    }
                  ]
                },
                "model": {
                  "enum": [
                    "google/gemini-embedding-2-preview"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input"
              ],
              "type": "object"
            },
            "schema_template": {
              "input": [
                "First document",
                "Second document"
              ],
              "model": "google/gemini-embedding-2-preview"
            },
            "unsupported": [
              "image/audio/file objects in this minimal text profile",
              "dimensions (current Native43 supports_dimensions:false)",
              "foreign model-specific dimensions or token limits"
            ]
          },
          "hints": [
            "Giữ lại mọi vectơ và chỉ số được trả về.",
            "Không suy ra khả năng hỗ trợ đối tượng ảnh/âm thanh/tệp từ hồ sơ văn bản tối giản này."
          ],
          "input": {
            "content_type": "application/json",
            "input_shapes": [
              "string",
              "string[]"
            ],
            "material_types": [
              "text"
            ],
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "mode": "synchronous_json",
            "unknown": "no embedding job endpoint inferred"
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_embedding"
          ],
          "output": {
            "default_dimensions": null,
            "family": "embedding",
            "format": "json",
            "http_success": 200,
            "vectors": "Keep every vector, index, model and usage field. Current dedicated Source validates count, finite float elements and consistent actual dimensions."
          }
        },
        "ctx": 8192,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Giá cơ sở cho token",
            "units": [
              {
                "amount": "0.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "{\n  \"model\": \"google/gemini-embedding-2-preview\",\n  \"input\": [\n    \"First document\",\n    \"Second document\"\n  ]\n}",
            "label": "Complete minimal JSON body",
            "language": "json"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncat > embedding-request.json <<'JSON_REQUEST'\n{\n  \"model\": \"google/gemini-embedding-2-preview\",\n  \"input\": [\n    \"First document\",\n    \"Second document\"\n  ]\n}\nJSON_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @embedding-request.json -o embedding-response.json\n",
            "label": "curl · minimal text embeddings",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "embeddings",
        "hints": [
          "Keep every vector index and dimension.",
          "Multimodal model name does not admit image objects on this exact path."
        ],
        "http": "POST",
        "in": 0.4,
        "input": [
          "text"
        ],
        "label": "Biểu diễn nhúng",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "google/gemini-embedding-2-preview",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "google/gemini-embedding-2-preview",
        "request_model_id": "google/gemini-embedding-2-preview",
        "route_label": "Ultra"
      }
    ],
    "name": "Google: Gemini Embedding 2 Preview",
    "price": {
      "in": 0.4,
      "in_label": null,
      "out": 0,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 0.4,
      "sort_out": 0,
      "varies": false
    },
    "short": "Gemini Embedding 2 Preview chuyển văn bản, ảnh, âm thanh, video và PDF thành vector số trong một không gian đa phương thức. Hồ sơ xem trước được mô tả riêng hỗ trợ truy xuất và so sánh chéo phương thức, đầu vào 8.192 token và số chiều vector linh hoạt."
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "Gemini Embedding 2 Preview chuyển văn bản, ảnh, âm thanh, video và PDF thành vector số trong một không gian đa phương thức. Hồ sơ xem trước được mô tả riêng hỗ trợ truy xuất và so sánh chéo phương thức, đầu vào 8.192 token và số chiều vector linh hoạt.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "b04d222c760ac3d6a265605455eaf0fe2f738997dc418a11147194aac76164ea",
    "renderer_sha256": "64a62299639eb843877e9ec5c95e32bf22bac3acfe230f6f502c5c3aa186f9c1"
  },
  "sourceRevision": "7ddd95a3b13de71e805df14ea3cc699c3c1806415dfaa1cad2e9509c2ce3384e"
}
