Voyage AI: Voyage Code 3
Voyage Code 3 creates embeddings for text-to-code, code-to-code and docstring-to-code retrieval. A 32,000-token window, selectable vector dimensions and quantized output support repository search and code-context selection for coding assistants.
About the model
This description covers the model’s capabilities. Available in Ailoot inputs, outputs and options are listed for the selected method below.
Voyage Code 3 is an embedding model specialized for retrieving source code. The maker describes natural-language-to-code, code-to-code and docstring-to-code tasks: a question can find an implementation, a code fragment can find related logic, and a function description can locate relevant code. The model produces vectors for retrieval rather than an edited file or a completed program.
Prepare repository material around meaningful code units. Keep a function with its name, signature and the comments that explain its purpose. For a larger component, include the nearby definitions needed to understand the operation. Store the repository, revision, file path and line location separately so a search result opens the exact source that was embedded.
A natural-language search can describe behavior, such as finding the part of a project that validates an upload before saving it. A code-based query can supply a function whose purpose needs to be matched elsewhere. Choose representative searches from actual development tasks, including unfamiliar naming, similar implementations and utilities whose meaning depends on surrounding code.
The 32,000-token context window accommodates substantial code passages. Use that space deliberately: a complete function and its relevant dependencies can be more informative than an arbitrary block cut halfway through control flow. Keep source formatting readable and preserve language syntax during extraction. If a source file is larger than the input window, divide it at useful structural boundaries and retain the relationship between passages and their parent file.
Voyage Code 3 supports embeddings with 2,048, 1,024, 512 or 256 dimensions, together with floating-point, signed or unsigned eight-bit, and binary representations. These controls support different repository-index sizes and search configurations. Evaluate a compact representation using the same real searches as the larger baseline, checking whether the correct function or file remains among the useful results.
For a coding assistant, retrieve the relevant source passages first, then provide those passages and their file references to the component responsible for answering or making a change. A similarity match helps choose context; it does not establish that two implementations are interchangeable. Inspect inputs, side effects and surrounding contracts in the retrieved code before using it to guide an edit.
Separate unrelated versions of a repository through metadata and keep indexed revisions traceable. If a function moves or its behavior changes, update both its vector and its source location. The same embedding settings should describe the indexed source and its queries. When migrating an index, compare results against the existing question set so a changed model or vector representation does not silently change which code a developer sees.
Useful checks include whether a query finds the actual implementation rather than only a test name, whether a docstring finds its corresponding function, and whether semantically related code is distinguished from a superficially similar fragment. Retain the returned source text and location in the search result so developers can inspect the evidence. This turns the model’s code-focused embeddings into a practical navigation and context-selection tool.
Ailoot Ultra · Embeddings POST /v1/embeddings voyage-code-3
voyage-code-3Overview
Voyage Code 3 creates embeddings for text-to-code, code-to-code and docstring-to-code retrieval. A 32,000-token window, selectable vector dimensions and quantized output support repository search and code-context selection for coding assistants.
- Accepted inputs
- Text
- Results
- embedding
Available in Ailoot · inputs & methods
Ailoot Ultra · Embeddings POST /v1/embeddings
- Input types
text- Output types
embedding
| Field | Type | Requirement | Values & limits | Default |
|---|---|---|---|---|
Fieldmodel | Typestring | RequirementRequired | Values & limits voyage-code-3 Conditions: Use the exact Ailoot model selector. | Default— |
Fieldinput | Typestring or array<string> | RequirementRequired | Values & limits Conditions: A text or list of texts; keep one vector for every returned data item and its index. | Default— |
Method parameters and lifecycle
| Parameter | Contract |
|---|---|
Parametercontent_type | Contractapplication/json |
Parameterrequired | Contractmodel, input |
Parameteroptional | Contract |
Parametermaterial_types | Contracttext |
Parameterconditions | ContractSend text with the selected model; retain every returned vector and its index. |
Lifecycle: synchronous
Pricing
Tariff references do not add request options. Supported parameters are listed for the selected method.
- Fast mode
- Not specified When fast mode is selected
- Flex mode
- Not specified When flex mode is selected
- Maximum reasoning effort
- Not specified When maximum reasoning effort uses the default adjustment
Ailoot rates
Prices by configuration
| Configuration | Rate schedule | Charge |
|---|---|---|
| ConfigurationBase token rates | Rate scheduleBase rate | Charge Input · Input tokens $0.0004 / 1K tokens Output · Output tokens $0 / 1K tokens Input · Cache read — / 1K tokens Input · Cache write — / 1K tokens Input · Cache write, 1 hour — / 1K tokens |
Ailoot reserves an estimated amount before a request. After the result, it settles the final charge from measured usage. Streaming settlement uses the final usage record. How reservation and settlement work →
Example requests
Ailoot Ultra · Embeddings
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON'
{
"model": "voyage-code-3",
"input": "The quick brown fox jumps over the lazy dog"
}
JSON
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o embeddings.json
# Keep every data item and its index, the full usage object and response headers.
Receive and save results
Aliases
Model aliases
Ailoot Ultra voyage-code-3
Method path aliases
Use the method paths shown above.
Related caller IDs
FAQ · Voyage AI: Voyage Code 3
- What inputs and results are available?
POST /v1/embeddings·voyage-code-3:text→embedding- Which fields does the request use?
POST /v1/embeddings·voyage-code-3:model,input