{"openapi":"3.1.0","info":{"title":"Vektorwerk","version":"1.0.0","description":"Local text embeddings and semantic similarity over Ollama."},"servers":[{"url":"https://vektor.netzhandwerker.de"}],"paths":{"/embed":{"post":{"operationId":"vector_embed","summary":"Create local text embeddings with Nomic or BGE-M3.","description":"Embeds up to 32 texts on the local Ollama runtime. Returns explicit model and dimensions; no paid third-party API is called.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"text":{"type":"string"},"texts":{"type":"array","minItems":1,"maxItems":32,"items":{"type":"string"}},"model":{"type":"string","enum":["nomic","bge_m3"],"default":"nomic"}},"oneOf":[{"required":["text"]},{"required":["texts"]}]}}}},"responses":{"200":{"description":"Successful response."},"402":{"description":"Payment required: 0.001 USDC."}},"x-x402":{"price_usdc":"0.001","network":"eip155:8453"}}},"/similarity":{"post":{"operationId":"vector_similarity","summary":"Rank texts by cosine similarity to a query.","description":"Embeds one query and up to 64 candidates locally, then returns cosine scores and stable descending ranks.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["query","candidates"],"properties":{"query":{"type":"string"},"candidates":{"type":"array","minItems":1,"maxItems":64,"items":{"type":"string"}},"model":{"type":"string","enum":["nomic","bge_m3"],"default":"nomic"}}}}}},"responses":{"200":{"description":"Successful response."},"402":{"description":"Payment required: 0.001 USDC."}},"x-x402":{"price_usdc":"0.001","network":"eip155:8453"}}}}}