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 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 model aceptadas:

# Modelos Claude 4
"claude-opus-4-1-20250805"
"claude-opus-4-1"  # alias
"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"  # obsoleto
"claude-3-5-sonnet-latest"  # alias
"claude-3-5-sonnet-20240620"  # obsoleto, versión anterior

# Modelos Claude 3
"claude-3-opus-20240229"  # obsoleto
"claude-3-opus-latest"  # alias
"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 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 model aceptadas:

// Modelos Claude 4
"claude-opus-4-1-20250805"
"claude-opus-4-1"  // alias
"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"  // obsoleto
"claude-3-5-sonnet-latest"  // alias
"claude-3-5-sonnet-20240620"  // obsoleto, versión anterior

// Modelos Claude 3
"claude-3-opus-20240229"  // obsoleto
"claude-3-opus-latest"  // alias
"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 model:

// Modelos Claude 4
Model.CLAUDE_OPUS_4_1
Model.CLAUDE_OPUS_4_1_20250805
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  // obsoleto
Model.CLAUDE_3_5_SONNET_20240620  // obsoleto

// Modelos Claude 3
Model.CLAUDE_3_OPUS_LATEST
Model.CLAUDE_3_OPUS_20240229  // obsoleto
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/option"

	"github.com/anthropics/anthropic-sdk-go"
)

func main() {
	client := anthropic.NewClient(
		option.WithAPIKey("my-anthropic-api-key"),
	)

	message, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
		Model:     anthropic.ModelClaudeSonnet4_0,
		MaxTokens: 1024,
		Messages: []anthropic.MessageParam{
			anthropic.NewUserMessage(anthropic.NewTextBlock("¿Qué es un cuaternión?")),
		},
	})
	if err != nil {
		fmt.Printf("Error creando mensaje: %v\n", err)
		return
	}

	fmt.Printf("%+v\n", message.Content)
}

Constantes Model:

// Modelos Claude 4
anthropic.ModelClaudeOpus4_1
anthropic.ModelClaudeOpus4_1_20250805
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  // obsoleto
anthropic.ModelClaude_3_5_Sonnet_20240620  // obsoleto

// Modelos Claude 3
anthropic.ModelClaude3OpusLatest
anthropic.ModelClaude_3_Opus_20240229  // obsoleto
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 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 model aceptadas:

# Modelos Claude 4
:"claude-opus-4-1-20250805"
:"claude-opus-4-1"  # alias
:"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"  # obsoleto
:"claude-3-5-sonnet-latest"  # alias
:"claude-3-5-sonnet-20240620"  # obsoleto, versión anterior

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

PHP

Repositorio de GitHub de la biblioteca PHP

El SDK de PHP está actualmente en beta.

Ejemplo:

PHP
<?php

use Anthropic\Client;
use Anthropic\Messages\MessageParam;

$client = new Client(
  apiKey: getenv("ANTHROPIC_API_KEY") ?: "my-anthropic-api-key"
);

$message = $client->messages->create(
  maxTokens: 1024,
  messages: [MessageParam::with(role: "user", content: "Hola, Claude")],
  model: "claude-sonnet-4-20250514",
);
var_dump($message->content);

Cadenas model aceptadas:

// Modelos Claude 4
"claude-opus-4-1-20250805"
"claude-opus-4-1"  // alias
"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"  // obsoleto
"claude-3-5-sonnet-latest"  // alias
"claude-3-5-sonnet-20240620"  // obsoleto, versión anterior

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

Constantes Model:

// Modelos Claude 4
Model::CLAUDE_OPUS_4_1_20250805
Model::CLAUDE_OPUS_4_0  // alias
Model::CLAUDE_OPUS_4_20250514
Model::CLAUDE_SONNET_4_20250514
Model::CLAUDE_SONNET_4_0  // alias

// Modelos Claude 3.7
Model::CLAUDE_3_7_SONNET_LATEST  // alias
Model::CLAUDE_3_7_SONNET_20250219

// Modelos Claude 3.5
Model::CLAUDE_3_5_HAIKU_LATEST  // alias
Model::CLAUDE_3_5_HAIKU_20241022
Model::CLAUDE_3_5_SONNET_LATEST  // alias
Model::CLAUDE_3_5_SONNET_20241022  // obsoleto
Model::CLAUDE_3_5_SONNET_20240620  // obsoleto, versión anterior

// Modelos Claude 3
Model::CLAUDE_3_OPUS_LATEST  // alias
Model::CLAUDE_3_OPUS_20240229  // obsoleto
Model::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 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)