Create a Text Completion
[Legacy] Create a Text Completion.
The Text Completions API is a legacy API. We recommend using the Messages API going forward.
Future models and features will not be compatible with Text Completions. See our migration guide for guidance in migrating from Text Completions to Messages.
ParametersExpand Collapse
CompletionCreateParams = CompletionCreateParamsNonStreaming { stream } | CompletionCreateParamsStreaming { stream }
CompletionCreateParamsBase { max_tokens_to_sample, model, prompt, 7 more }
max_tokens_to_sample: number
Body param: The maximum number of tokens to generate before stopping.
Note that our models may stop before reaching this maximum. This parameter only specifies the absolute maximum number of tokens to generate.
Body param: The model that will complete your prompt.
See models for additional details and options.
"claude-opus-4-5-20251101" | "claude-opus-4-5" | "claude-3-7-sonnet-latest" | 17 more
"claude-opus-4-5-20251101"
Premium model combining maximum intelligence with practical performance
"claude-opus-4-5"
Premium model combining maximum intelligence with practical performance
"claude-3-7-sonnet-latest"
High-performance model with early extended thinking
"claude-3-7-sonnet-20250219"
High-performance model with early extended thinking
"claude-3-5-haiku-latest"
Fastest and most compact model for near-instant responsiveness
"claude-3-5-haiku-20241022"
Our fastest model
"claude-haiku-4-5"
Hybrid model, capable of near-instant responses and extended thinking
"claude-haiku-4-5-20251001"
Hybrid model, capable of near-instant responses and extended thinking
"claude-sonnet-4-20250514"
High-performance model with extended thinking
"claude-sonnet-4-0"
High-performance model with extended thinking
"claude-4-sonnet-20250514"
High-performance model with extended thinking
"claude-sonnet-4-5"
Our best model for real-world agents and coding
"claude-sonnet-4-5-20250929"
Our best model for real-world agents and coding
"claude-opus-4-0"
Our most capable model
"claude-opus-4-20250514"
Our most capable model
"claude-4-opus-20250514"
Our most capable model
"claude-opus-4-1-20250805"
Our most capable model
"claude-3-opus-latest"
Excels at writing and complex tasks
"claude-3-opus-20240229"
Excels at writing and complex tasks
"claude-3-haiku-20240307"
Our previous most fast and cost-effective
prompt: string
Body param: The prompt that you want Claude to complete.
For proper response generation you will need to format your prompt using alternating `
Human:and
Assistant:` conversational turns. For example:
"
Human: {userQuestion}
Assistant:"
See prompt validation and our guide to prompt design for more details.
Body param: An object describing metadata about the request.
user_id?: string | null
An external identifier for the user who is associated with the request.
This should be a uuid, hash value, or other opaque identifier. Anthropic may use this id to help detect abuse. Do not include any identifying information such as name, email address, or phone number.
stop_sequences?: Array<string>
Body param: Sequences that will cause the model to stop generating.
Our models stop on `"
Human:"`, and may include additional built-in stop sequences in the future. By providing the stop_sequences parameter, you may include additional strings that will cause the model to stop generating.
stream?: false
Body param: Whether to incrementally stream the response using server-sent events.
See streaming for details.
temperature?: number
Body param: Amount of randomness injected into the response.
Defaults to 1.0. Ranges from 0.0 to 1.0. Use temperature closer to 0.0 for analytical / multiple choice, and closer to 1.0 for creative and generative tasks.
Note that even with temperature of 0.0, the results will not be fully deterministic.
top_k?: number
Body param: Only sample from the top K options for each subsequent token.
Used to remove "long tail" low probability responses. Learn more technical details here.
Recommended for advanced use cases only. You usually only need to use temperature.
top_p?: number
Body param: Use nucleus sampling.
In nucleus sampling, we compute the cumulative distribution over all the options for each subsequent token in decreasing probability order and cut it off once it reaches a particular probability specified by top_p. You should either alter temperature or top_p, but not both.
Recommended for advanced use cases only. You usually only need to use temperature.
Header param: Optional header to specify the beta version(s) you want to use.
"message-batches-2024-09-24" | "prompt-caching-2024-07-31" | "computer-use-2024-10-22" | 16 more
CompletionCreateParamsNonStreaming extends CompletionCreateParamsBase { max_tokens_to_sample, model, prompt, 7 more } { stream }
stream?: false
Body param: Whether to incrementally stream the response using server-sent events.
See streaming for details.
CompletionCreateParamsNonStreaming extends CompletionCreateParamsBase { max_tokens_to_sample, model, prompt, 7 more } { stream }
stream?: false
Body param: Whether to incrementally stream the response using server-sent events.
See streaming for details.
ReturnsExpand Collapse
Completion { id, completion, model, 2 more }
id: string
Unique object identifier.
The format and length of IDs may change over time.
completion: string
The resulting completion up to and excluding the stop sequences.
The model that will complete your prompt.
See models for additional details and options.
"claude-opus-4-5-20251101" | "claude-opus-4-5" | "claude-3-7-sonnet-latest" | 17 more
"claude-opus-4-5-20251101"
Premium model combining maximum intelligence with practical performance
"claude-opus-4-5"
Premium model combining maximum intelligence with practical performance
"claude-3-7-sonnet-latest"
High-performance model with early extended thinking
"claude-3-7-sonnet-20250219"
High-performance model with early extended thinking
"claude-3-5-haiku-latest"
Fastest and most compact model for near-instant responsiveness
"claude-3-5-haiku-20241022"
Our fastest model
"claude-haiku-4-5"
Hybrid model, capable of near-instant responses and extended thinking
"claude-haiku-4-5-20251001"
Hybrid model, capable of near-instant responses and extended thinking
"claude-sonnet-4-20250514"
High-performance model with extended thinking
"claude-sonnet-4-0"
High-performance model with extended thinking
"claude-4-sonnet-20250514"
High-performance model with extended thinking
"claude-sonnet-4-5"
Our best model for real-world agents and coding
"claude-sonnet-4-5-20250929"
Our best model for real-world agents and coding
"claude-opus-4-0"
Our most capable model
"claude-opus-4-20250514"
Our most capable model
"claude-4-opus-20250514"
Our most capable model
"claude-opus-4-1-20250805"
Our most capable model
"claude-3-opus-latest"
Excels at writing and complex tasks
"claude-3-opus-20240229"
Excels at writing and complex tasks
"claude-3-haiku-20240307"
Our previous most fast and cost-effective
stop_reason: string | null
The reason that we stopped.
This may be one the following values:
"stop_sequence": we reached a stop sequence — either provided by you via thestop_sequencesparameter, or a stop sequence built into the model"max_tokens": we exceededmax_tokens_to_sampleor the model's maximum
type: "completion"
Object type.
For Text Completions, this is always "completion".
import Anthropic from '@anthropic-ai/sdk';
const client = new Anthropic({
apiKey: process.env['ANTHROPIC_API_KEY'], // This is the default and can be omitted
});
const completion = await client.completions.create({
max_tokens_to_sample: 256,
model: 'claude-opus-4-5-20251101',
prompt: '\n\nHuman: Hello, world!\n\nAssistant:',
});
console.log(completion.id);{
"id": "compl_018CKm6gsux7P8yMcwZbeCPw",
"completion": " Hello! My name is Claude.",
"model": "claude-2.1",
"stop_reason": "stop_sequence",
"type": "completion"
}Returns Examples
{
"id": "compl_018CKm6gsux7P8yMcwZbeCPw",
"completion": " Hello! My name is Claude.",
"model": "claude-2.1",
"stop_reason": "stop_sequence",
"type": "completion"
}