Connect to Proprioceptive AI
Connection kit · 13 November 2026 · Preview service
Send a prompt over HTTPS and receive a JSON answer with a receipt. No model download, GPU or third-party Python/Node package is needed on your computer.
Your prompts are sent to Proprioceptive AI's hosted service. This connection kit does not modify or steer models running on your own computer.
Chat URL: https://api.proprioceptiveai.com/v1/vault/chat
Method: POST
Content type: application/json
Access: The current public preview endpoint accepts requests without an API key. This was verified when this package was prepared.
Sign up through the API
Email is the only required field. Name and company are optional. No password, prior API key or email-verification step is needed. Signup details are saved privately and a notification is emailed to logan@proprioceptiveai.com.
Send a JSON POST from your own program or terminal:
curl 'https://proprioceptiveai.com/steering-signup.php' \
-H 'Content-Type: application/json' \
--data '{"email":"you@example.com","name":"Your name","company":"Optional"}'In Windows PowerShell, call curl.exe and use a request file if your shell changes JSON quoting. You can also use any Python or Node HTTP client.
| Field | Required | Meaning |
|---|---|---|
email | Yes | Your contact email address |
name | No | Your name |
company | No | Your company or organization |
A successful registration returns HTTP 201 and JSON containing:
{
"registered": true,
"user_reference": "STEER-…",
"download_url": "https://proprioceptiveai.com/steering-access.php?download=1&token=…",
"download_expires_in_seconds": 3600,
"setup_guide_url": "https://proprioceptiveai.com/steering-service-setup.html",
"notification": {
"recipient": "logan@proprioceptiveai.com",
"status": "accepted_by_mail_server"
}
}Use the exact returned download_url to get the ZIP within one hour. It does not require cookies or a second login. Keep the signup reference for support. It is not an API inference key.
accepted_by_mail_server means the hosting mail transport accepted the notification; it does not prove inbox delivery. If transport is unavailable, status is pending and signup details remain saved privately. Registration does not fail just because mail is temporarily unavailable.
Invalid JSON returns 400, invalid email returns 422 and excessive requests return 429. Browser integrations should call the signup endpoint through their own server; command-line and server clients need no CSRF token.
Available models
These are five deployed models, not six: the two 0.6B aliases select the same model. Use the exact API identifiers below; upstream model names are descriptive and are not accepted as API identifiers.
| Deployed model | Size | API model field |
|---|---|---|
| Qwen2.5-1.5B-Instruct | 1.5B | Omit the field for the default model |
| Qwen2.5-0.5B-Instruct | 0.5B | qwen-05b-preview |
| Qwen3-0.6B | 0.6B | qwen3-06b-preview |
| Qwen1.5-1.8B-Chat | 1.8B | qwen-18b-preview |
| TinyLlama-1.1B-Chat-v1.0 | 1.1B | tinyllama-1.1b-preview |
qwen-06b-preview is an alternate name for qwen3-06b-preview. The name qwen-18b-preview refers to 1.8B, not 18B. default is a convenience accepted by this kit's clients; do not send "model":"default" directly to the API.
All five returned nonempty answers in the connection checks recorded in verification.json. That establishes availability at the recorded time. It is not an accuracy benchmark or proof of improvement from enhancement. The preview routes identify themselves as preview-not-acceptance-sealed; response quality and availability can vary. Qwen2.5-3B, Qwen2.5-7B and Qwen3-1.7B are not included as public routes in this release.
1. Make your first request
Unzip this kit and open a terminal in its proprioceptive-ai-connect directory. Run:
curl --fail-with-body --show-error --max-time 200 \
'https://api.proprioceptiveai.com/v1/vault/chat' \
-H 'Content-Type: application/json' \
--data-binary '@examples/request.json'
On Windows PowerShell, call curl.exe explicitly:
curl.exe --fail-with-body --show-error --max-time 200 'https://api.proprioceptiveai.com/v1/vault/chat' -H 'Content-Type: application/json' --data-binary '@examples/request.json'
The request file selects the 0.5B model. Change its model value to another identifier in the table, or delete that field to use the default 1.5B model. Replace messages[0].content with your own prompt.
--fail-with-body needs curl 7.76 or later. With an older curl, use --fail instead; the Python client is another option.
A successful reply has this shape (illustrative values):
{
"answer": "The sum of 2 and 2 is 4.",
"x_loop": null,
"pulse_top1": 0.54,
"vault_active": 0,
"receipt": "sha256:example",
"tier": "preview-not-acceptance-sealed",
"model": "qwen-05b-preview"
}
Read answer for the text. Keep receipt when reporting a request problem. pulse_top1 is a model confidence signal, not a calibrated probability that an answer is correct. vault_active is a backend-reported count, not proof of enhancement or a saved conversation. The default model's reply can omit model and tier. An actual captured response is included in examples/response-observed.json.
2. Use Python
Requires Python 3.10 or later. No pip install step is needed.
python3 python/proprioceptive.py 'What is the sum of 2 and 2?' --model qwen-05b-preview
On Windows, use py -3 in place of python3 if that is your Python launcher.
To use the client in your own program, copy python/proprioceptive.py beside it:
from proprioceptive import APIError, chat
try:
reply = chat('What is the sum of 2 and 2?', model='qwen-05b-preview')
print(reply['answer'])
print('Receipt:', reply['receipt'])
except APIError as error:
print('Request failed:', error)
Calling chat('Your prompt') uses the default 1.5B route. Each call makes one request; the client does not retry automatically or follow redirects. The default socket timeout is 200 seconds and can be changed with timeout= or --timeout.
3. Use Node.js
Requires Node.js 20 or later. No npm install step is needed.
node node/proprioceptive.mjs qwen-05b-preview 'What is the sum of 2 and 2?'
Use default as the first argument for the 1.5B route. In another .mjs file at the kit root:
import { chat } from './node/proprioceptive.mjs';
try {
const reply = await chat({
prompt: 'What is the sum of 2 and 2?',
model: 'qwen-05b-preview'
});
console.log(reply.answer);
console.log('Receipt:', reply.receipt);
} catch (error) {
console.error('Request failed:', error.message);
}
The Node client makes one request with a 200-second timeout, no automatic retries and no redirects. Set timeoutMs to change the client deadline.
4. Experimental processing
Ordinary chat examples omit x_loop. To request the service's experimental enhancement processing, include "x_loop": true. The returned x_loop object reports what action the service took; the request does not guarantee a change, a correction or an improvement.
python3 python/proprioceptive.py 'Q: What is the sum of 2 and 2? Options: (A) 4 (B) 5' --model qwen-05b-preview --loop
const reply = await chat({ prompt: 'Your prompt', model: 'qwen-05b-preview', loop: true });
console.log(reply.answer, reply.x_loop);
For curl, use examples/request-experimental.json. The service may stand by its baseline answer, abstain, or report a dependency failure. Inspect the returned action instead of assuming the processing succeeded. This package's fresh public checks use ordinary chat only; they do not qualify experimental enhancement. Longer client timeouts do not change the server's own timeout.
Request and response contract
This public endpoint is a custom JSON API. It is not an OpenAI Chat Completions base URL: the public reply uses answer, not choices[0].message.content. Use the included clients or an ordinary HTTP client.
| Request field | Meaning |
|---|---|
messages |
Array of message objects; send one { "role": "user", "content": "..." } object. |
model |
Optional exact identifier from the model table. Omit for the default model. |
x_loop |
Optional boolean. true requests experimental processing. Omit for ordinary chat. |
Only the last message's content is forwarded. Earlier messages and system roles are not preserved by this endpoint. If you need context, compose it into the single prompt yourself. Streaming, tools, images, custom temperature and custom token limits are not supported through the documented public chat contract. Additional generation-control fields are not forwarded. This kit covers chat; it does not perform shared memory writes or undo operations.
Browser applications should call this API through their own server. Direct cross-origin browser requests are not currently supported: the tested endpoint returned no CORS allowance and rejected the OPTIONS preflight. The JavaScript example is for Node.js, not browser code.
Health and errors
curl --show-error --max-time 15 'https://api.proprioceptiveai.com/v1/vault/health'
An expected health reply includes "edge":"ok" and "writer":"ok". Check the JSON fields: this endpoint can return HTTP 200 with "writer":"down". It checks the default writer, not every model, and does not prove inference succeeds. Send a chat request to verify an actual answer.
| Result | What to do |
|---|---|
HTTP 200 with a nonempty answer and receipt |
The request returned an answer; assess its content separately. |
HTTP 400, unknown model |
Use an exact API identifier, or omit model for the default. |
| HTTP 400, missing content / bad JSON | Send valid JSON with a nonempty final message. |
| HTTP 404 | Check the full URL and route. |
| HTTP 502 | The upstream request failed. Preserve any error response; do not treat it as a model answer. |
| Timeout / connection failure | Completion is unknown. Avoid an automatic retry loop; wait and investigate before making a deliberate new request. |
| Empty or malformed successful response | Treat it as a failed request. The included clients reject it. |
The edge currently gives a chat backend up to 180 seconds; proxy/network limits can end a request earlier. The kit uses a 200-second client setting, which is not a latency guarantee. Start with one request at a time; this package does not advertise a concurrency or rate-limit allowance.
Included files
python/proprioceptive.py: Python client and command-line entry point.node/proprioceptive.mjs: Node.js client and command-line entry point.models.json: machine-readable model identifiers.openapi.json: documented chat and health API shapes.examples/: ordinary/experimental request files and an observed ordinary-chat response.verification.json: timestamped availability checks and testing scope.SHA256SUMS.txt: package file checksums.
This kit contains connection code and public API information only. It includes no model weights, private credentials or internal enhancement implementation.