Se necesita configuración adicional para usar los SDKs de Cliente de Anthropic a través de una plataforma asociada. Si estás usando Amazon Bedrock, consulta esta guía; si estás usando Google Cloud Vertex AI, consulta esta guía.

Python

Repositorio de GitHub de la biblioteca Python

Ejemplo:

Python
import anthropic

client = anthropic.Anthropic(
    # por defecto usa os.environ.get("ANTHROPIC_API_KEY")
    api_key="my_api_key",
)
message = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Hola, Claude"}
    ]
)
print(message.content)

Cadenas de model aceptadas:

# Modelos Claude 4
"claude-opus-4-20250514"
"claude-opus-4-0"  # alias
"claude-sonnet-4-20250514"
"claude-sonnet-4-0"  # alias

# Modelos Claude 3.7
"claude-3-7-sonnet-20250219"
"claude-3-7-sonnet-latest"  # alias

# Modelos Claude 3.5
"claude-3-5-haiku-20241022"
"claude-3-5-haiku-latest"  # alias
"claude-3-5-sonnet-20241022"
"claude-3-5-sonnet-latest"  # alias
"claude-3-5-sonnet-20240620"  # versión anterior

# Modelos Claude 3
"claude-3-opus-20240229"
"claude-3-opus-latest"  # alias
"claude-3-sonnet-20240229"
"claude-3-haiku-20240307"

TypeScript

Repositorio de GitHub de la biblioteca TypeScript

Aunque esta biblioteca está en TypeScript, también se puede usar en bibliotecas JavaScript.

Ejemplo:

TypeScript
import Anthropic from '@anthropic-ai/sdk';

const anthropic = new Anthropic({
  apiKey: 'my_api_key', // por defecto usa process.env["ANTHROPIC_API_KEY"]
});

const msg = await anthropic.messages.create({
  model: "claude-sonnet-4-20250514",
  max_tokens: 1024,
  messages: [{ role: "user", content: "Hola, Claude" }],
});
console.log(msg);

Cadenas de model aceptadas:

// Modelos Claude 4
"claude-opus-4-20250514"
"claude-opus-4-0"  // alias
"claude-sonnet-4-20250514"
"claude-sonnet-4-0"  // alias

// Modelos Claude 3.7
"claude-3-7-sonnet-20250219"
"claude-3-7-sonnet-latest"  // alias

// Modelos Claude 3.5
"claude-3-5-haiku-20241022"
"claude-3-5-haiku-latest"  // alias
"claude-3-5-sonnet-20241022"
"claude-3-5-sonnet-latest"  // alias
"claude-3-5-sonnet-20240620"  // versión anterior

// Modelos Claude 3
"claude-3-opus-20240229"
"claude-3-opus-latest"  // alias
"claude-3-sonnet-20240229"
"claude-3-haiku-20240307"

Java

Repositorio de GitHub de la biblioteca Java

Ejemplo:

Java
import com.anthropic.models.Message;
import com.anthropic.models.MessageCreateParams;
import com.anthropic.models.Model;

MessageCreateParams params = MessageCreateParams.builder()
    .maxTokens(1024L)
    .addUserMessage("Hola, Claude")
    .model(Model.CLAUDE_SONNET_4_0)
    .build();
Message message = client.messages().create(params);

Valores enum de model:

// Modelos Claude 4
Model.CLAUDE_OPUS_4_0
Model.CLAUDE_OPUS_4_20250514
Model.CLAUDE_SONNET_4_0
Model.CLAUDE_SONNET_4_20250514

// Modelos Claude 3.7
Model.CLAUDE_3_7_SONNET_LATEST
Model.CLAUDE_3_7_SONNET_20250219

// Modelos Claude 3.5
Model.CLAUDE_3_5_HAIKU_LATEST
Model.CLAUDE_3_5_HAIKU_20241022
Model.CLAUDE_3_5_SONNET_LATEST
Model.CLAUDE_3_5_SONNET_20241022
Model.CLAUDE_3_5_SONNET_20240620

// Modelos Claude 3
Model.CLAUDE_3_OPUS_LATEST
Model.CLAUDE_3_OPUS_20240229
Model.CLAUDE_3_SONNET_20240229
Model.CLAUDE_3_HAIKU_20240307

Go

Repositorio de GitHub de la biblioteca Go

Ejemplo:

Go
package main

import (
	"context"
	"fmt"
	"github.com/anthropics/anthropic-sdk-go"
	"github.com/anthropics/anthropic-sdk-go/option"
)

func main() {
	client := anthropic.NewClient(
		option.WithAPIKey("my-anthropic-api-key"),
	)
	message, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
		Model:     anthropic.F(anthropic.ModelClaudeSonnet4_0),
		MaxTokens: anthropic.F(int64(1024)),
		Messages: anthropic.F([]anthropic.MessageParam{
			anthropic.NewUserMessage(anthropic.NewTextBlock("¿Qué es un cuaternión?")),
		}),
	})
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", message.Content)
}

Constantes de Model:

// Modelos Claude 4
anthropic.ModelClaudeOpus4_0
anthropic.ModelClaudeOpus4_20250514
anthropic.ModelClaudeSonnet4_0
anthropic.ModelClaudeSonnet4_20250514

// Modelos Claude 3.7
anthropic.ModelClaude3_7SonnetLatest
anthropic.ModelClaude3_7Sonnet20250219

// Modelos Claude 3.5
anthropic.ModelClaude3_5HaikuLatest
anthropic.ModelClaude3_5Haiku20241022
anthropic.ModelClaude3_5SonnetLatest
anthropic.ModelClaude3_5Sonnet20241022
anthropic.ModelClaude_3_5_Sonnet_20240620

// Modelos Claude 3
anthropic.ModelClaude3OpusLatest
anthropic.ModelClaude_3_Opus_20240229
anthropic.ModelClaude_3_Sonnet_20240229
anthropic.ModelClaude_3_Haiku_20240307

Ruby

Repositorio de GitHub de la biblioteca Ruby

Ejemplo:

ruby
require "bundler/setup"
require "anthropic"

anthropic = Anthropic::Client.new(
  api_key: "my_api_key" # por defecto usa ENV["ANTHROPIC_API_KEY"]
)

message =
  anthropic.messages.create(
    max_tokens: 1024,
    messages: [{
      role: "user",
      content: "Hola, Claude"
    }],
    model: "claude-sonnet-4-20250514"
  )

puts(message.content)

Cadenas de model aceptadas:

# Modelos Claude 4
:"claude-opus-4-20250514"
:"claude-opus-4-0"  # alias
:"claude-sonnet-4-20250514"
:"claude-sonnet-4-0"  # alias

# Modelos Claude 3.7
:"claude-3-7-sonnet-20250219"
:"claude-3-7-sonnet-latest"  # alias

# Modelos Claude 3.5
:"claude-3-5-haiku-20241022"
:"claude-3-5-haiku-latest"  # alias
:"claude-3-5-sonnet-20241022"
:"claude-3-5-sonnet-latest"  # alias
:"claude-3-5-sonnet-20240620"  # versión anterior

# Modelos Claude 3
:"claude-3-opus-20240229"
:"claude-3-opus-latest"  # alias
:"claude-3-sonnet-20240229"
:"claude-3-haiku-20240307"

Espacio de nombres beta en los SDKs de cliente

Cada SDK tiene un espacio de nombres beta que está disponible. Esto se usa para nuevas características que Anthropic lanza en una versión beta. Úsalo junto con encabezados beta para usar estas características.

import anthropic

client = anthropic.Anthropic(
    # por defecto usa os.environ.get("ANTHROPIC_API_KEY")
    api_key="my_api_key",
)
message = client.beta.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Hola, Claude"}
    ],
    betas=["beta-feature-name"]
)
print(message.content)