> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sailresearch.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Models

> All models currently served by Sail

{/* Capability rows below are auto-generated from config/models.json */}

<div className="capabilities-table-wrapper">
  <table className="capabilities-table">
    <thead>
      <tr className="cap-header-row">
        <th className="cap-th cap-th-model" style={{ width: "16.0rem", minWidth: "16.0rem" }}>
          Model
        </th>

        <th className="cap-th cap-th-slug">Slug</th>

        <th className="cap-th cap-th-bool" style={{ width: "6.0rem" }}>
          <a className="cap-th-link" href="/images">
            Image
          </a>
        </th>

        <th className="cap-th cap-th-bool" style={{ width: "6.0rem" }}>
          <a className="cap-th-link" href="/loras">
            LoRA
          </a>
        </th>

        <th className="cap-th cap-th-bool" style={{ width: "6.0rem" }}>
          Reasoning
        </th>
      </tr>
    </thead>

    <tbody>
      <tr className="cap-row">
        <td className="cap-cell cap-cell-model" style={{ width: "16.0rem", minWidth: "16.0rem" }}>
          <div className="cap-cell-model-inner">
            <span className="cap-logo" data-org="moonshot" role="img" aria-label="Moonshot AI" />

            <div className="cap-model-meta">
              <div className="cap-model-name">Kimi-K2.6</div>
              <div className="cap-creator">Moonshot AI</div>

              <button
                type="button"
                className="cap-expand-btn"
                aria-expanded="false"
                aria-label="Show model details"
                onClick={(e) => {
              const cell = e.currentTarget.closest(".cap-cell-model");
              const panel = e.currentTarget.nextElementSibling;
              const open = cell.classList.toggle("is-expanded");
              e.currentTarget.setAttribute("aria-expanded", String(open));
              panel.setAttribute("aria-hidden", String(!open));
            }}
              >
                <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" className="cap-expand-icon" aria-hidden="true">
                  <path d="M9 18l6-6-6-6" />
                </svg>

                <span className="cap-expand-label">Details</span>
              </button>

              <div className="cap-expandable" aria-hidden="true">
                <div className="cap-expand-content">
                  <div className="cap-expand-row">
                    <span className="cap-expand-key">Context</span>
                    <span className="cap-expand-val">262K</span>
                  </div>

                  <div className="cap-expand-row">
                    <span className="cap-expand-key">Params</span>
                    <span className="cap-expand-val">1T; 32B active (MoE)</span>
                  </div>

                  <div className="cap-expand-row cap-expand-row-tags">
                    <span className="cap-expand-key">Popular for</span>
                  </div>

                  <div className="cap-tags">
                    <span className="cap-tag">coding</span>
                    <span className="cap-tag">agentic</span>
                    <span className="cap-tag">vision</span>
                    <span className="cap-tag">long context</span>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </td>

        <td className="cap-cell cap-cell-slug">
          <div className="cap-slug-actions">
            <a className="cap-slug-link" href="https://huggingface.co/moonshotai/Kimi-K2.6" title="moonshotai/Kimi-K2.6" target="_blank" rel="noopener">
              <code>moonshotai/Kimi-K2.6</code>

              <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" className="cap-extlink" aria-hidden="true">
                <path d="M15 3h6v6" />

                <path d="M10 14 21 3" />

                <path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" />
              </svg>
            </a>

            <button
              type="button"
              className="cap-copy-btn"
              aria-label="Copy moonshotai/Kimi-K2.6"
              onClick={(e) => {
            const b = e.currentTarget;
            const t = "moonshotai/Kimi-K2.6";
            const ok = () => {
              b.classList.add("cap-copy-done");
              setTimeout(() => b.classList.remove("cap-copy-done"), 1500);
            };
            if (navigator.clipboard && navigator.clipboard.writeText) {
              navigator.clipboard
                .writeText(t)
                .then(ok)
                .catch(() => fallback(b, t, ok));
            } else {
              fallback(b, t, ok);
            }
            function fallback(_b, _t, _ok) {
              const ta = document.createElement("textarea");
              ta.value = _t;
              ta.style.position = "absolute";
              ta.style.left = "-9999px";
              document.body.appendChild(ta);
              ta.select();
              try {
                document.execCommand("copy");
                _ok();
              } catch (_) {
                _ok();
              }
              document.body.removeChild(ta);
            }
          }}
            >
              <span className="cap-copy-icon-wrap">
                <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" className="cap-copy-icon cap-copy-icon-default" aria-hidden="true">
                  <rect width="14" height="14" x="8" y="8" rx="2" ry="2" />

                  <path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2" />
                </svg>

                <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" className="cap-copy-icon cap-copy-icon-done" aria-hidden="true">
                  <path d="M20 6 9 17l-5-5" />
                </svg>
              </span>
            </button>
          </div>
        </td>

        <td className="cap-cell cap-cell-bool is-true" data-cap="Image">
          <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.25" strokeLinecap="round" strokeLinejoin="round" className="cap-check" aria-hidden="true">
            <path d="M20 6 9 17l-5-5" />
          </svg>
        </td>

        <td className="cap-cell cap-cell-bool is-true" data-cap="LoRA">
          <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.25" strokeLinecap="round" strokeLinejoin="round" className="cap-check" aria-hidden="true">
            <path d="M20 6 9 17l-5-5" />
          </svg>
        </td>

        <td className="cap-cell cap-cell-bool is-true" data-cap="Reasoning">
          <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.25" strokeLinecap="round" strokeLinejoin="round" className="cap-check" aria-hidden="true">
            <path d="M20 6 9 17l-5-5" />
          </svg>
        </td>
      </tr>

      <tr className="cap-row">
        <td className="cap-cell cap-cell-model" style={{ width: "16.0rem", minWidth: "16.0rem" }}>
          <div className="cap-cell-model-inner">
            <span className="cap-logo" data-org="zhipu" role="img" aria-label="Z.ai" />

            <div className="cap-model-meta">
              <div className="cap-model-name">GLM-5.2</div>
              <div className="cap-creator">Z.ai</div>

              <button
                type="button"
                className="cap-expand-btn"
                aria-expanded="false"
                aria-label="Show model details"
                onClick={(e) => {
              const cell = e.currentTarget.closest(".cap-cell-model");
              const panel = e.currentTarget.nextElementSibling;
              const open = cell.classList.toggle("is-expanded");
              e.currentTarget.setAttribute("aria-expanded", String(open));
              panel.setAttribute("aria-hidden", String(!open));
            }}
              >
                <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" className="cap-expand-icon" aria-hidden="true">
                  <path d="M9 18l6-6-6-6" />
                </svg>

                <span className="cap-expand-label">Details</span>
              </button>

              <div className="cap-expandable" aria-hidden="true">
                <div className="cap-expand-content">
                  <div className="cap-expand-row">
                    <span className="cap-expand-key">Context</span>
                    <span className="cap-expand-val">1M</span>
                  </div>

                  <div className="cap-expand-row">
                    <span className="cap-expand-key">Params</span>

                    <span className="cap-expand-val">
                      753B; 40B active (MoE)
                    </span>
                  </div>

                  <div className="cap-expand-row cap-expand-row-tags">
                    <span className="cap-expand-key">Popular for</span>
                  </div>

                  <div className="cap-tags">
                    <span className="cap-tag">coding</span>
                    <span className="cap-tag">agentic</span>
                    <span className="cap-tag">multilingual</span>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </td>

        <td className="cap-cell cap-cell-slug">
          <div className="cap-slug-actions">
            <a className="cap-slug-link" href="https://huggingface.co/zai-org/GLM-5.2-FP8" title="zai-org/GLM-5.2-FP8" target="_blank" rel="noopener">
              <code>zai-org/GLM-5.2-FP8</code>

              <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" className="cap-extlink" aria-hidden="true">
                <path d="M15 3h6v6" />

                <path d="M10 14 21 3" />

                <path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" />
              </svg>
            </a>

            <button
              type="button"
              className="cap-copy-btn"
              aria-label="Copy zai-org/GLM-5.2-FP8"
              onClick={(e) => {
            const b = e.currentTarget;
            const t = "zai-org/GLM-5.2-FP8";
            const ok = () => {
              b.classList.add("cap-copy-done");
              setTimeout(() => b.classList.remove("cap-copy-done"), 1500);
            };
            if (navigator.clipboard && navigator.clipboard.writeText) {
              navigator.clipboard
                .writeText(t)
                .then(ok)
                .catch(() => fallback(b, t, ok));
            } else {
              fallback(b, t, ok);
            }
            function fallback(_b, _t, _ok) {
              const ta = document.createElement("textarea");
              ta.value = _t;
              ta.style.position = "absolute";
              ta.style.left = "-9999px";
              document.body.appendChild(ta);
              ta.select();
              try {
                document.execCommand("copy");
                _ok();
              } catch (_) {
                _ok();
              }
              document.body.removeChild(ta);
            }
          }}
            >
              <span className="cap-copy-icon-wrap">
                <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" className="cap-copy-icon cap-copy-icon-default" aria-hidden="true">
                  <rect width="14" height="14" x="8" y="8" rx="2" ry="2" />

                  <path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2" />
                </svg>

                <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" className="cap-copy-icon cap-copy-icon-done" aria-hidden="true">
                  <path d="M20 6 9 17l-5-5" />
                </svg>
              </span>
            </button>
          </div>
        </td>

        <td className="cap-cell cap-cell-bool is-false" data-cap="Image" />

        <td className="cap-cell cap-cell-bool is-false" data-cap="LoRA" />

        <td className="cap-cell cap-cell-bool is-true" data-cap="Reasoning">
          <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.25" strokeLinecap="round" strokeLinejoin="round" className="cap-check" aria-hidden="true">
            <path d="M20 6 9 17l-5-5" />
          </svg>
        </td>
      </tr>

      <tr className="cap-row">
        <td className="cap-cell cap-cell-model" style={{ width: "16.0rem", minWidth: "16.0rem" }}>
          <div className="cap-cell-model-inner">
            <span className="cap-logo" data-org="openai" role="img" aria-label="OpenAI" />

            <div className="cap-model-meta">
              <div className="cap-model-name">gpt-oss-120b</div>
              <div className="cap-creator">OpenAI</div>

              <button
                type="button"
                className="cap-expand-btn"
                aria-expanded="false"
                aria-label="Show model details"
                onClick={(e) => {
              const cell = e.currentTarget.closest(".cap-cell-model");
              const panel = e.currentTarget.nextElementSibling;
              const open = cell.classList.toggle("is-expanded");
              e.currentTarget.setAttribute("aria-expanded", String(open));
              panel.setAttribute("aria-hidden", String(!open));
            }}
              >
                <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" className="cap-expand-icon" aria-hidden="true">
                  <path d="M9 18l6-6-6-6" />
                </svg>

                <span className="cap-expand-label">Details</span>
              </button>

              <div className="cap-expandable" aria-hidden="true">
                <div className="cap-expand-content">
                  <div className="cap-expand-row">
                    <span className="cap-expand-key">Context</span>
                    <span className="cap-expand-val">131K</span>
                  </div>

                  <div className="cap-expand-row">
                    <span className="cap-expand-key">Params</span>

                    <span className="cap-expand-val">
                      117B; 5.1B active (MoE)
                    </span>
                  </div>

                  <div className="cap-expand-row cap-expand-row-tags">
                    <span className="cap-expand-key">Popular for</span>
                  </div>

                  <div className="cap-tags">
                    <span className="cap-tag">coding</span>
                    <span className="cap-tag">math</span>
                    <span className="cap-tag">cost-efficiency</span>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </td>

        <td className="cap-cell cap-cell-slug">
          <div className="cap-slug-actions">
            <a className="cap-slug-link" href="https://huggingface.co/openai/gpt-oss-120b" title="openai/gpt-oss-120b" target="_blank" rel="noopener">
              <code>openai/gpt-oss-120b</code>

              <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" className="cap-extlink" aria-hidden="true">
                <path d="M15 3h6v6" />

                <path d="M10 14 21 3" />

                <path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" />
              </svg>
            </a>

            <button
              type="button"
              className="cap-copy-btn"
              aria-label="Copy openai/gpt-oss-120b"
              onClick={(e) => {
            const b = e.currentTarget;
            const t = "openai/gpt-oss-120b";
            const ok = () => {
              b.classList.add("cap-copy-done");
              setTimeout(() => b.classList.remove("cap-copy-done"), 1500);
            };
            if (navigator.clipboard && navigator.clipboard.writeText) {
              navigator.clipboard
                .writeText(t)
                .then(ok)
                .catch(() => fallback(b, t, ok));
            } else {
              fallback(b, t, ok);
            }
            function fallback(_b, _t, _ok) {
              const ta = document.createElement("textarea");
              ta.value = _t;
              ta.style.position = "absolute";
              ta.style.left = "-9999px";
              document.body.appendChild(ta);
              ta.select();
              try {
                document.execCommand("copy");
                _ok();
              } catch (_) {
                _ok();
              }
              document.body.removeChild(ta);
            }
          }}
            >
              <span className="cap-copy-icon-wrap">
                <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" className="cap-copy-icon cap-copy-icon-default" aria-hidden="true">
                  <rect width="14" height="14" x="8" y="8" rx="2" ry="2" />

                  <path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2" />
                </svg>

                <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" className="cap-copy-icon cap-copy-icon-done" aria-hidden="true">
                  <path d="M20 6 9 17l-5-5" />
                </svg>
              </span>
            </button>
          </div>
        </td>

        <td className="cap-cell cap-cell-bool is-false" data-cap="Image" />

        <td className="cap-cell cap-cell-bool is-false" data-cap="LoRA" />

        <td className="cap-cell cap-cell-bool is-true" data-cap="Reasoning">
          <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.25" strokeLinecap="round" strokeLinejoin="round" className="cap-check" aria-hidden="true">
            <path d="M20 6 9 17l-5-5" />
          </svg>
        </td>
      </tr>

      <tr className="cap-row">
        <td className="cap-cell cap-cell-model" style={{ width: "16.0rem", minWidth: "16.0rem" }}>
          <div className="cap-cell-model-inner">
            <span className="cap-logo" data-org="gemma" role="img" aria-label="Google" />

            <div className="cap-model-meta">
              <div className="cap-model-name">Gemma 4 31B IT</div>
              <div className="cap-creator">Google</div>

              <button
                type="button"
                className="cap-expand-btn"
                aria-expanded="false"
                aria-label="Show model details"
                onClick={(e) => {
              const cell = e.currentTarget.closest(".cap-cell-model");
              const panel = e.currentTarget.nextElementSibling;
              const open = cell.classList.toggle("is-expanded");
              e.currentTarget.setAttribute("aria-expanded", String(open));
              panel.setAttribute("aria-hidden", String(!open));
            }}
              >
                <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" className="cap-expand-icon" aria-hidden="true">
                  <path d="M9 18l6-6-6-6" />
                </svg>

                <span className="cap-expand-label">Details</span>
              </button>

              <div className="cap-expandable" aria-hidden="true">
                <div className="cap-expand-content">
                  <div className="cap-expand-row">
                    <span className="cap-expand-key">Context</span>
                    <span className="cap-expand-val">256K</span>
                  </div>

                  <div className="cap-expand-row">
                    <span className="cap-expand-key">Params</span>
                    <span className="cap-expand-val">31B</span>
                  </div>

                  <div className="cap-expand-row cap-expand-row-tags">
                    <span className="cap-expand-key">Popular for</span>
                  </div>

                  <div className="cap-tags">
                    <span className="cap-tag">vision</span>
                    <span className="cap-tag">multilingual</span>
                    <span className="cap-tag">general chat</span>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </td>

        <td className="cap-cell cap-cell-slug">
          <div className="cap-slug-actions">
            <a className="cap-slug-link" href="https://huggingface.co/google/gemma-4-31B-it" title="google/gemma-4-31B-it" target="_blank" rel="noopener">
              <code>google/gemma-4-31B-it</code>

              <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" className="cap-extlink" aria-hidden="true">
                <path d="M15 3h6v6" />

                <path d="M10 14 21 3" />

                <path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" />
              </svg>
            </a>

            <button
              type="button"
              className="cap-copy-btn"
              aria-label="Copy google/gemma-4-31B-it"
              onClick={(e) => {
            const b = e.currentTarget;
            const t = "google/gemma-4-31B-it";
            const ok = () => {
              b.classList.add("cap-copy-done");
              setTimeout(() => b.classList.remove("cap-copy-done"), 1500);
            };
            if (navigator.clipboard && navigator.clipboard.writeText) {
              navigator.clipboard
                .writeText(t)
                .then(ok)
                .catch(() => fallback(b, t, ok));
            } else {
              fallback(b, t, ok);
            }
            function fallback(_b, _t, _ok) {
              const ta = document.createElement("textarea");
              ta.value = _t;
              ta.style.position = "absolute";
              ta.style.left = "-9999px";
              document.body.appendChild(ta);
              ta.select();
              try {
                document.execCommand("copy");
                _ok();
              } catch (_) {
                _ok();
              }
              document.body.removeChild(ta);
            }
          }}
            >
              <span className="cap-copy-icon-wrap">
                <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" className="cap-copy-icon cap-copy-icon-default" aria-hidden="true">
                  <rect width="14" height="14" x="8" y="8" rx="2" ry="2" />

                  <path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2" />
                </svg>

                <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" className="cap-copy-icon cap-copy-icon-done" aria-hidden="true">
                  <path d="M20 6 9 17l-5-5" />
                </svg>
              </span>
            </button>
          </div>
        </td>

        <td className="cap-cell cap-cell-bool is-true" data-cap="Image">
          <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.25" strokeLinecap="round" strokeLinejoin="round" className="cap-check" aria-hidden="true">
            <path d="M20 6 9 17l-5-5" />
          </svg>
        </td>

        <td className="cap-cell cap-cell-bool is-false" data-cap="LoRA" />

        <td className="cap-cell cap-cell-bool is-true" data-cap="Reasoning">
          <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.25" strokeLinecap="round" strokeLinejoin="round" className="cap-check" aria-hidden="true">
            <path d="M20 6 9 17l-5-5" />
          </svg>
        </td>
      </tr>

      <tr className="cap-row">
        <td className="cap-cell cap-cell-model" style={{ width: "16.0rem", minWidth: "16.0rem" }}>
          <div className="cap-cell-model-inner">
            <span className="cap-logo" data-org="gemma" role="img" aria-label="Google" />

            <div className="cap-model-meta">
              <div className="cap-model-name">Gemma 4 31B IT (NVFP4)</div>
              <div className="cap-creator">Google</div>

              <button
                type="button"
                className="cap-expand-btn"
                aria-expanded="false"
                aria-label="Show model details"
                onClick={(e) => {
              const cell = e.currentTarget.closest(".cap-cell-model");
              const panel = e.currentTarget.nextElementSibling;
              const open = cell.classList.toggle("is-expanded");
              e.currentTarget.setAttribute("aria-expanded", String(open));
              panel.setAttribute("aria-hidden", String(!open));
            }}
              >
                <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" className="cap-expand-icon" aria-hidden="true">
                  <path d="M9 18l6-6-6-6" />
                </svg>

                <span className="cap-expand-label">Details</span>
              </button>

              <div className="cap-expandable" aria-hidden="true">
                <div className="cap-expand-content">
                  <div className="cap-expand-row">
                    <span className="cap-expand-key">Context</span>
                    <span className="cap-expand-val">262K</span>
                  </div>

                  <div className="cap-expand-row">
                    <span className="cap-expand-key">Params</span>
                    <span className="cap-expand-val">31B</span>
                  </div>

                  <div className="cap-expand-row cap-expand-row-tags">
                    <span className="cap-expand-key">Popular for</span>
                  </div>

                  <div className="cap-tags">
                    <span className="cap-tag">vision</span>
                    <span className="cap-tag">multilingual</span>
                    <span className="cap-tag">general chat</span>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </td>

        <td className="cap-cell cap-cell-slug">
          <div className="cap-slug-actions">
            <a className="cap-slug-link" href="https://huggingface.co/nvidia/Gemma-4-31B-IT-NVFP4" title="nvidia/Gemma-4-31B-IT-NVFP4" target="_blank" rel="noopener">
              <code>nvidia/Gemma-4-31B-IT-NVFP4</code>

              <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" className="cap-extlink" aria-hidden="true">
                <path d="M15 3h6v6" />

                <path d="M10 14 21 3" />

                <path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" />
              </svg>
            </a>

            <button
              type="button"
              className="cap-copy-btn"
              aria-label="Copy nvidia/Gemma-4-31B-IT-NVFP4"
              onClick={(e) => {
            const b = e.currentTarget;
            const t = "nvidia/Gemma-4-31B-IT-NVFP4";
            const ok = () => {
              b.classList.add("cap-copy-done");
              setTimeout(() => b.classList.remove("cap-copy-done"), 1500);
            };
            if (navigator.clipboard && navigator.clipboard.writeText) {
              navigator.clipboard
                .writeText(t)
                .then(ok)
                .catch(() => fallback(b, t, ok));
            } else {
              fallback(b, t, ok);
            }
            function fallback(_b, _t, _ok) {
              const ta = document.createElement("textarea");
              ta.value = _t;
              ta.style.position = "absolute";
              ta.style.left = "-9999px";
              document.body.appendChild(ta);
              ta.select();
              try {
                document.execCommand("copy");
                _ok();
              } catch (_) {
                _ok();
              }
              document.body.removeChild(ta);
            }
          }}
            >
              <span className="cap-copy-icon-wrap">
                <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" className="cap-copy-icon cap-copy-icon-default" aria-hidden="true">
                  <rect width="14" height="14" x="8" y="8" rx="2" ry="2" />

                  <path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2" />
                </svg>

                <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" className="cap-copy-icon cap-copy-icon-done" aria-hidden="true">
                  <path d="M20 6 9 17l-5-5" />
                </svg>
              </span>
            </button>
          </div>
        </td>

        <td className="cap-cell cap-cell-bool is-true" data-cap="Image">
          <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.25" strokeLinecap="round" strokeLinejoin="round" className="cap-check" aria-hidden="true">
            <path d="M20 6 9 17l-5-5" />
          </svg>
        </td>

        <td className="cap-cell cap-cell-bool is-false" data-cap="LoRA" />

        <td className="cap-cell cap-cell-bool is-true" data-cap="Reasoning">
          <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.25" strokeLinecap="round" strokeLinejoin="round" className="cap-check" aria-hidden="true">
            <path d="M20 6 9 17l-5-5" />
          </svg>
        </td>
      </tr>

      <tr className="cap-row cap-row-last">
        <td className="cap-cell cap-cell-model" style={{ width: "16.0rem", minWidth: "16.0rem" }}>
          <div className="cap-cell-model-inner">
            <span className="cap-logo" data-org="nvidia" role="img" aria-label="NVIDIA" />

            <div className="cap-model-meta">
              <div className="cap-model-name">
                Nemotron 3 Super 120B A12B BF16
              </div>

              <div className="cap-creator">NVIDIA</div>

              <button
                type="button"
                className="cap-expand-btn"
                aria-expanded="false"
                aria-label="Show model details"
                onClick={(e) => {
              const cell = e.currentTarget.closest(".cap-cell-model");
              const panel = e.currentTarget.nextElementSibling;
              const open = cell.classList.toggle("is-expanded");
              e.currentTarget.setAttribute("aria-expanded", String(open));
              panel.setAttribute("aria-hidden", String(!open));
            }}
              >
                <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" className="cap-expand-icon" aria-hidden="true">
                  <path d="M9 18l6-6-6-6" />
                </svg>

                <span className="cap-expand-label">Details</span>
              </button>

              <div className="cap-expandable" aria-hidden="true">
                <div className="cap-expand-content">
                  <div className="cap-expand-row">
                    <span className="cap-expand-key">Context</span>
                    <span className="cap-expand-val">1M</span>
                  </div>

                  <div className="cap-expand-row">
                    <span className="cap-expand-key">Params</span>

                    <span className="cap-expand-val">
                      120B; 12B active (MoE)
                    </span>
                  </div>

                  <div className="cap-expand-row cap-expand-row-tags">
                    <span className="cap-expand-key">Popular for</span>
                  </div>

                  <div className="cap-tags">
                    <span className="cap-tag">coding</span>
                    <span className="cap-tag">agentic</span>
                    <span className="cap-tag">multilingual</span>
                    <span className="cap-tag">long context</span>
                    <span className="cap-tag">general chat</span>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </td>

        <td className="cap-cell cap-cell-slug">
          <div className="cap-slug-actions">
            <a className="cap-slug-link" href="https://huggingface.co/nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-BF16" title="nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-BF16" target="_blank" rel="noopener">
              <code>nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-BF16</code>

              <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" className="cap-extlink" aria-hidden="true">
                <path d="M15 3h6v6" />

                <path d="M10 14 21 3" />

                <path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" />
              </svg>
            </a>

            <button
              type="button"
              className="cap-copy-btn"
              aria-label="Copy nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-BF16"
              onClick={(e) => {
            const b = e.currentTarget;
            const t = "nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-BF16";
            const ok = () => {
              b.classList.add("cap-copy-done");
              setTimeout(() => b.classList.remove("cap-copy-done"), 1500);
            };
            if (navigator.clipboard && navigator.clipboard.writeText) {
              navigator.clipboard
                .writeText(t)
                .then(ok)
                .catch(() => fallback(b, t, ok));
            } else {
              fallback(b, t, ok);
            }
            function fallback(_b, _t, _ok) {
              const ta = document.createElement("textarea");
              ta.value = _t;
              ta.style.position = "absolute";
              ta.style.left = "-9999px";
              document.body.appendChild(ta);
              ta.select();
              try {
                document.execCommand("copy");
                _ok();
              } catch (_) {
                _ok();
              }
              document.body.removeChild(ta);
            }
          }}
            >
              <span className="cap-copy-icon-wrap">
                <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" className="cap-copy-icon cap-copy-icon-default" aria-hidden="true">
                  <rect width="14" height="14" x="8" y="8" rx="2" ry="2" />

                  <path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2" />
                </svg>

                <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" className="cap-copy-icon cap-copy-icon-done" aria-hidden="true">
                  <path d="M20 6 9 17l-5-5" />
                </svg>
              </span>
            </button>
          </div>
        </td>

        <td className="cap-cell cap-cell-bool is-false" data-cap="Image" />

        <td className="cap-cell cap-cell-bool is-false" data-cap="LoRA" />

        <td className="cap-cell cap-cell-bool is-true" data-cap="Reasoning">
          <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.25" strokeLinecap="round" strokeLinejoin="round" className="cap-check" aria-hidden="true">
            <path d="M20 6 9 17l-5-5" />
          </svg>
        </td>
      </tr>
    </tbody>
  </table>
</div>

* Each row links the exact Hugging Face checkpoint Sail currently serves. If we offer multiple quantizations, we list them as separate model IDs.
* Use [`GET /v1/models`](/api-reference/models-api/list-supported-models) to confirm runtime availability for your API key.
* For per-model rates by completion window, see [Pricing](/pricing).
