> For the complete documentation index, see [llms.txt](/llms.txt).
[miniwebtool /api](/)
[tools](/tools/) [docs](/docs/) [reference](/v1/docs) [pricing](/#pricing) [log in](/dashboard/login/) [get free key →](/billing/checkout/?plan=free)
- [~](/)
- /
- [tools](/tools/)
- /
- [craft](/tools/#craft)
- /
- Cross-Stitch Size Calculator API

# Cross-Stitch Size Calculator API

craft 1 credit / call v2026-04-22
Calculate finished cross-stitch design and fabric sizes from stitch and fabric counts.
One POST adds Cross-Stitch Size Calculator to your app, site, workflow, or agent — formula, validation, edge cases, and docs already handled.
prefer a UI? [Open the Cross-Stitch Size Calculator on miniwebtool.com →](https://miniwebtool.com/cross-stitch-size-calculator/)
[Start free — get a key →](/billing/checkout/?plan=free) 1,000 credits · no card · 30 seconds

### Endpoint

POST · 1cr

```text
POST https://api.miniwebtool.com/v1/tools/cross-stitch-size-calculator/run
```

### Request body

Field
Type
Req.
`width_stitches`
`int`
—
`height_stitches`
`int`
—
`fabric_preset`
6 | 8 | 11 | 14 | 16 | 18 | 20 | 22 | 25 | 28 | 32 | 36 | 40 | custom
`str`
—
`custom_count`
`float | None`
—
`over_threads`
1 | 2
`str`
—
`margin`
`float`
—
`precision`
`int`
—

### Cost & access

- 1 credit per successful call — failed calls refund.
- Starts on: Free.
- Max payload:`65536`bytes.
- Privacy mode:`hash_only`
- Available on: free, starter, pro, business, scale

### Response envelope

```text
{
  "request_id": "01K...",
  "tool": "cross-stitch-size-calculator",
  "tool_version": "2026-04-22",
  "credits_used": 1,
  "result": {... }
}
```

### Try it

API key *
Stored only in this browser tab. Playground test key is prefilled and only works on this page. [Get a live key →](/billing/checkout/?plan=free)
width_stitches (int)
height_stitches (int)
fabric_preset (str) 6 8 11 14 16 18 20 22 25 28 32 36 40 custom
6 | 8 | 11 | 14 | 16 | 18 | 20 | 22 | 25 | 28 | 32 | 36 | 40 | custom
custom_count (float | None)
over_threads (str) 1 2
1 | 2
margin (float)
precision (int)
Send request →
Response copy body
This endpoint starts on Free
Your key is valid, but its current plan cannot call`cross-stitch-size-calculator`. Upgrade to Free or higher to run this tool.
[Start Free →](/billing/checkout/?plan=free) [Compare plans](/#pricing)

```text

```

Response headers

```text

```

### Code examples

cURL Python JavaScript PHP Ruby Go Java
copy

```text
curl -X POST https://api.miniwebtool.com/v1/tools/cross-stitch-size-calculator/run \
  -H 'Authorization: Bearer mwt_live_YOUR_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"width_stitches":150,"height_stitches":200,"fabric_preset":"14","over_threads":"1","margin":3,"precision":2}'
```

copy

```text
import requests

resp = requests.post(
    'https://api.miniwebtool.com/v1/tools/cross-stitch-size-calculator/run',
    headers={'Authorization': 'Bearer mwt_live_YOUR_KEY'},
    json={'width_stitches': 150, 'height_stitches': 200, 'fabric_preset': '14', 'over_threads': '1', 'margin': 3, 'precision': 2},
)
resp.raise_for_status()
print(resp.json())
```

copy

```text
const resp = await fetch(
  'https://api.miniwebtool.com/v1/tools/cross-stitch-size-calculator/run',
  {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer mwt_live_YOUR_KEY',
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({"width_stitches":150,"height_stitches":200,"fabric_preset":"14","over_threads":"1","margin":3,"precision":2}),
  }
);
const data = await resp.json();
console.log(data);
```

copy

```text
<?php
$ch = curl_init('https://api.miniwebtool.com/v1/tools/cross-stitch-size-calculator/run');
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer mwt_live_YOUR_KEY',
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode([
    'width_stitches' => 150,
    'height_stitches' => 200,
    'fabric_preset' => '14',
    'over_threads' => '1',
    'margin' => 3,
    'precision' => 2
]),
]);
$resp = curl_exec($ch);
curl_close($ch);
print_r(json_decode($resp, true));
```

copy

```text
require 'net/http'
require 'json'
require 'uri'

uri = URI('https://api.miniwebtool.com/v1/tools/cross-stitch-size-calculator/run')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = (uri.scheme == 'https')

req = Net::HTTP::Post.new(uri)
req['Authorization'] = 'Bearer mwt_live_YOUR_KEY'
req['Content-Type'] = 'application/json'
req.body = {
  'width_stitches' => 150,
  'height_stitches' => 200,
  'fabric_preset' => '14',
  'over_threads' => '1',
  'margin' => 3,
  'precision' => 2
}.to_json

resp = http.request(req)
puts JSON.parse(resp.body).inspect
```

copy

```text
package main

import (
  "bytes"
  "encoding/json"
  "fmt"
  "io"
  "net/http"
)

func main() {
  body, _:= json.Marshal(map[string]interface{}{
    "width_stitches": 150,
    "height_stitches": 200,
    "fabric_preset": "14",
    "over_threads": "1",
    "margin": 3,
    "precision": 2,
  })
  req, _:= http.NewRequest("POST", "https://api.miniwebtool.com/v1/tools/cross-stitch-size-calculator/run", bytes.NewReader(body))
  req.Header.Set("Authorization", "Bearer mwt_live_YOUR_KEY")
  req.Header.Set("Content-Type", "application/json")

  resp, err:= http.DefaultClient.Do(req)
  if err!= nil { panic(err) }
  defer resp.Body.Close()
  out, _:= io.ReadAll(resp.Body)
  fmt.Println(string(out))
}
```

copy

```text
import java.net.URI;
import java.net.http.*;

var client = HttpClient.newHttpClient();
var req = HttpRequest.newBuilder()
.uri(URI.create("https://api.miniwebtool.com/v1/tools/cross-stitch-size-calculator/run"))
.header("Authorization", "Bearer mwt_live_YOUR_KEY")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString("{\"width_stitches\":150,\"height_stitches\":200,\"fabric_preset\":\"14\",\"over_threads\":\"1\",\"margin\":3,\"precision\":2}"))
.build();

var resp = client.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.body());
```

how-to call cross-stitch-size-calculator
- Get an API key
[Get an API key](/billing/checkout/?plan=free). Sign up free for a bearer token. 1,000 credits/month, no card.
- Assemble the JSON body
Required fields:. See the Request body table above for the full schema.
- POST to`https://api.miniwebtool.com/v1/tools/cross-stitch-size-calculator/run`
Headers:`Authorization: Bearer <key>`and`Content-Type: application/json`. Copy-paste snippets in 7 languages are under Code examples.
- Parse the response
Envelope:`{request_id, tool, tool_version, credits_used, result}`. The typed output lives in`result`.
faq frequently asked
What does the Cross-Stitch Size Calculator API do? +
Calculate finished cross-stitch design and fabric sizes from stitch and fabric counts. Use it to add this utility without rebuilding formulas, validation, examples, and documentation.
How much does one call to Cross-Stitch Size Calculator cost? +
1 credit per successful call. Failed calls (validation errors, 5xx) don't bill.
What parameters does the Cross-Stitch Size Calculator API require? +
Required fields: (none). Full schema at /v1/openapi.json.
Is the Cross-Stitch Size Calculator API deterministic? +
Yes — same input, same output, forever. Tool version 2026-04-22; output shape is stable within a major version.
Can an AI agent call the Cross-Stitch Size Calculator API? +
Yes. Connect to https://api.miniwebtool.com/v1/mcp over the Model Context Protocol. The agent discovers `cross-stitch-size-calculator` with its JSON Schema automatically, so the model can plan while MiniWebtool handles the exact tool result.
What format does the API return? +
JSON with a stable envelope: `{request_id, tool, tool_version, credits_used, result}`. Errors are RFC 7807 `application/problem+json`.
mcp use from an AI agent
Every endpoint on this site is also exposed via the [Model Context Protocol](/docs/#mcp) at`https://api.miniwebtool.com/v1/mcp`. Claude, Cursor, and any MCP-capable agent can discover this tool (`cross-stitch-size-calculator`) and its JSON Schema automatically — no client codegen.

```text
# List tools the agent can call
curl -s https://api.miniwebtool.com/v1/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' \
 | jq '.result.tools[] | select(.name=="cross-stitch-size-calculator")'
```

API OPERATIONAL v1 · OpenAPI 3.1 · MCP 2025-06-18
[terms](https://miniwebtool.com/about/terms-and-disclaimer/#api-terms) [privacy](https://miniwebtool.com/about/privacy/#api-privacy) [llms.txt](/llms.txt) [consumer site →](https://miniwebtool.com) © 2026 miniwebtool
