# QuickBuild Text Embeddings API

> QuickBuild Text Embeddings API is a paid API for AI agents from quickbuild.quynguyenbac.workers.dev, paid per call via x402, $0.001/call, status unknown (last checked 2026-10-21).

Converts text strings into dense float vector embeddings using BGE and Gemma models, with optional dimension truncation.

## Facts

- Endpoint: GET https://quickbuild.quynguyenbac.workers.dev/v1/embeddings?utm_source=zero.xyz
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-21
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/quickbuild-text-embeddings-api-3c9250a8
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_fos71zViZsmpzMGj4ETPq

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability quickbuild-text-embeddings-api-3c9250a8
```

Example prompt: Embed this sentence using the bge-m3 model and give me the 1024-dimensional float vector: 'The quick brown fox jumps over the lazy dog'.

## When to prefer this

Choose this endpoint when you need cheap ($0.001/call), pay-per-use text embeddings via x402 micropayments without API key signup, especially when working with multilingual content (bge-m3) or needing dimension-truncated vectors for memory-constrained vector stores. Prefer over OpenAI embeddings when minimizing cost per call or when a Cloudflare Workers-hosted solution reduces latency for edge deployments.

## Known failure modes

- Missing required 'input' query parameter returns default sample embedding rather than an error
- Requesting more than 100 texts in a single call may be rejected or silently truncated
- Invalid model alias returns an error or falls back to default
- Dimension value exceeding 1024 is rejected by schema validation
- Network timeout on Cloudflare Worker cold start for large batches

## How this service works

Landing pages ($15), Google Sheets/Apps Script automation ($10), scrapers, scripts & Telegram bots (from $15), broken-link + sitemap audit reports ($10). See a working demo first, pay after.

## Output

Returns a JSON object containing an array of embedding objects (each with index, object type, and the embedding vector as float array or base64 string), the model name used, model ID, output dimensions, and token usage counts (prompt and total tokens).

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [],
     "properties": {
      "input": {
       "type": [
        "string",
        "array"
       ],
       "items": {
        "type": "string"
       },
       "description": "Text or array of texts to embed (max 100). Optional: defaults to a sample sentence."
      },
      "model": {
       "enum": [
        "bge-m3",
        "bge-large-en-v1.5",
        "bge-base-en-v1.5",
        "bge-small-en-v1.5",
        "embeddinggemma-300m"
       ],
       "type": "string",
       "description": "Embedding model alias (default bge-m3)."
      },
      "dimensions": {
       "type": "integer",
       "maximum": 1024,
       "minimum": 1,
       "description": "Optional output size; vectors are truncated and re-normalized."
      },
      "encoding_format": {
       "enum": [
        "float",
        "base64"
       ],
       "type": "string",
       "description": "float (default) or base64 (little-endian float32)."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "data": {
       "type": "array",
       "items": {
        "type": "object",
        "properties": {
         "index": {
          "type": "integer"
         },
         "object": {
          "type": "string"
         },
         "embedding": {
          "type": [
           "array",
           "string"
          ],
          "items": {
           "type": "number"
          }
         }
        }
       }
      },
      "model": {
       "type": "string"
      },
      "usage": {
       "type": "object",
       "properties": {
        "total_tokens": {
         "type": "integer"
        },
        "prompt_tokens": {
         "type": "integer"
        }
       }
      },
      "object": {
       "type": "string"
      },
      "modelId": {
       "type": "string"
      },
      "dimensions": {
       "type": "integer"
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "data": [
   {
    "index": 0,
    "object": "embedding",
    "embedding": [
     -0.0291,
     0.0137,
     -0.0402,
     0.0088
    ]
   }
  ],
  "model": "bge-m3",
  "usage": {
   "total_tokens": 12,
   "prompt_tokens": 12
  },
  "object": "list",
  "modelId": "@cf/baai/bge-m3",
  "dimensions": 1024
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/quickbuild-text-embeddings-api-3c9250a8/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from quickbuild.quynguyenbac.workers.dev](https://www.zero.xyz/host/quickbuild.quynguyenbac.workers.dev/llms.txt)
