# x402-gateway Text Translation (Meta M2M100)

> x402-gateway Text Translation (Meta M2M100) is a paid API for AI agents from x402-gateway.blackwoodstate8.workers.dev, paid per call via x402, $0.012/call, status unknown (last checked 2026-10-22).

Translates text between approximately 100 languages using Meta's M2M100 1.2B model, returning translated text with source and target language identifiers.

## Facts

- Endpoint: POST https://x402-gateway.blackwoodstate8.workers.dev/v1/translate?utm_source=zero.xyz
- Price: $0.012/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-22
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/x402-gateway-text-translation-meta-m2m100-50a89bd0
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_06EX4BC24mIKjSU8DpSrF

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 x402-gateway-text-translation-meta-m2m100-50a89bd0 -d '<json body>'
```

Example prompt: Translate this into Spanish: 'Thank you for your order. Your package will arrive in 3-5 business days.'

## When to prefer this

Choose this endpoint when you need fast, affordable machine translation between any of ~100 languages without needing certified, legal, or formatting-preserving output. It is ideal for translating plain text such as messages, product descriptions, support replies, or social media posts. Prefer alternatives when you need certified translation, rich-text/document formatting preservation, or real-time speech translation (transcribe audio first, then call this endpoint).

## Known failure modes

- Unsupported language code returns an error — only ISO 639-1 codes for supported M2M100 languages are valid
- Text exceeding 2000 characters is rejected by schema validation
- Missing required 'to' field causes a 400-level error
- Payment failure (insufficient USDC balance) blocks the request
- High load may push response beyond 5000ms p95 latency
- Low-resource languages may produce lower-quality translations

## How this service works

Use when you need to translate text, a language translation or a text translation of a sentence or paragraph between two languages. Do not use for formatting that must be preserved, certified or legal translation, or speech (transcribe first). Returns JSON with text translation between about 100 languages by Meta M2M100 1.2B on Workers AI: the translated text with the source and target languages used for 0.012 USDC per call. Typical response time 5000 ms (p95). Category: Inference.

## Output

A JSON object containing the translated text, the source language code used (defaulting to 'en' if not specified), the target language code, and the name of the model that performed the translation. Optionally includes a 'next' field suggesting a related paid call.

## 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",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "type": "object",
     "required": [
      "text",
      "to"
     ],
     "properties": {
      "to": {
       "type": "string",
       "pattern": "^[a-z]{2,3}$",
       "description": "Target language as an ISO 639-1 code, e.g. es, fr, pt, de, ja, zh"
      },
      "from": {
       "type": "string",
       "pattern": "^[a-z]{2,3}$",
       "description": "Source language as an ISO 639-1 code (default en)"
      },
      "text": {
       "type": "string",
       "maxLength": 2000,
       "minLength": 1,
       "description": "Text to translate, e.g. Pay only for the requests you make (up to 2000 characters)"
      }
     }
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "translatedText",
      "from",
      "to",
      "model"
     ],
     "properties": {
      "to": {
       "type": "string"
      },
      "from": {
       "type": "string"
      },
      "next": {
       "type": "object",
       "required": [
        "service",
        "tool",
        "method",
        "url",
        "useWhen",
        "sample"
       ],
       "properties": {
        "url": {
         "type": "string",
         "description": "Paid route of the next call"
        },
        "tool": {
         "type": "string",
         "description": "MCP tool name of the same call"
        },
        "method": {
         "enum": [
          "GET",
          "POST"
         ],
         "type": "string"
        },
        "sample": {
         "type": "string",
         "description": "Free fixed sample of the whole family"
        },
        "service": {
         "type": "string",
         "description": "Service id of the suggested next paid call"
        },
        "useWhen": {
         "type": "string",
         "description": "When the next call is the right one
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "to": "pt",
  "from": "en",
  "model": "@cf/meta/m2m100-1.2b",
  "translatedText": "Pague apenas pelos pedidos que você faz."
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/x402-gateway-text-translation-meta-m2m100-50a89bd0/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-gateway.blackwoodstate8.workers.dev](https://www.zero.xyz/host/x402-gateway.blackwoodstate8.workers.dev/llms.txt)
