Create Branch
Grow a Branch under a completed Node: n child Nodes, each one Completion of its text. The text of a Node is the text on the path from the root to it. The server writes the new Nodes as their tokens arrive, also when no client is connected. Answers the new Nodes, queued. For a Node that is not completed, 409 and the error object. For a model that the API does not serve, 400 model_not_found, and no Node is made. If the token budget cannot hold one Node's Completion, 429 budget_exceeded and no Node is made.
bearerAuthorizationBearer <token>An API key: Authorization: Bearer sk-acs-..., or a key of the old platform, acs-bm-.... A User makes and revokes keys in the App.
loom_id*string^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$uuidnode_id*string^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$uuididempotency-key?stringA key of your choice, 1 to 255 characters, such as a UUID. A retry with the same key and the same request does the work once: it gets the first answer, and is never charged twice. Kept 24 hours, one set for each User across all their API keys.
1 <= length <= 255application/json- body
model*stringThe Base model: an id from GET /v1/models, such as llama-8b.
^[^\u0000]*$max_tokens?integerGenerate at most this many tokens for each Node; at most 1000.
value <= 1000temperature?numberSample less likely tokens more often; 0 takes the most likely token each time. From 0 to 2, as vLLM takes it.
0 <= value <= 2logprobs?|Return the log probabilities of this many top tokens; at most 100.
0 <= value <= 100top_p?numberSample from the most likely tokens up to this probability; more than 0 and at most 1, as OpenAI and vLLM take it.
0 < value <= 1top_k?integervLLM: sample from this many most likely tokens; 0 or -1 for all.
-1 <= valuemin_p?numbervLLM: leave out tokens less likely than this fraction of the most likely; from 0 to 1.
0 <= value <= 1presence_penalty?numberMake a token that is already in the text less likely; from -2 to 2.
-2 <= value <= 2frequency_penalty?numberMake a token less likely each time it is already in the text; from -2 to 2.
-2 <= value <= 2repetition_penalty?numbervLLM: divide the scores of repeated tokens by this, more than 0; 1 for none.
0 < valueseed?|From 0. The same seed samples the same tokens; vLLM can still change one now and then when it batches requests.
0 <= valuestop?|array<>|Stop before any of these texts; at most 4.
n?integerHow many child Nodes to make, from 1 to 8.
1 <= value <= 8Branch
application/json- response
object*"list""list"data*array<>curl -X POST 'https://api.v2.infra.acsresearch.org/v1/looms/497f6eca-6276-4993-bfeb-53cbbbba6f08/nodes/497f6eca-6276-4993-bfeb-53cbbbba6f08/branch' \ -H 'Authorization: Bearer <API_KEY>' \ -H 'Content-Type: application/json' \ -d '{ "model": "string"}'{ "object": "list", "data": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "object": "loom.node", "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef", "status": "queued", "text": "string", "logprobs": { "text_offset": [ 0 ], "token_logprobs": [ 0 ], "tokens": [ "string" ], "top_logprobs": [ { "property1": 0, "property2": 0 } ] }, "error": { "message": "string", "type": "string", "param": "string", "code": "string", "retryable": true, "retry_after_seconds": 0, "upstream_status": 0, "request_id": "string" }, "request": { "model": "string", "max_tokens": 32000, "temperature": 0, "logprobs": 0, "top_p": 0, "top_k": 0, "min_p": 0, "presence_penalty": 0, "frequency_penalty": 0, "repetition_penalty": 0, "seed": 0, "stop": "string" } } ]}Cancel Loom POST
Stop each Node of the Loom that is `queued` or `running`, and answer the Loom. Each becomes `cancelled`: a running Node keeps the text it grew, and its tokens so far are charged; a queued Node never runs and holds nothing.
Set Root POST
Replace the Loom's tree with one root, the text you write, and answer the Loom. While a Node of the Loom is `queued` or `running`, 409.