Anthropic: Claude Opus 4.1 (batch)
Claude Opus 4.1 es la actualización de Opus 4 de Anthropic para desarrollo de software con agentes, investigación, análisis de datos y razonamiento. Se centra en el seguimiento de detalles, los cambios de código en varios archivos y la depuración precisa, con respuestas estándar o razonamiento ampliado opcional.
Sobre el modelo
Esta descripción cubre las capacidades del modelo. Las entradas, salidas y opciones disponibles en Ailoot se indican a continuación para el método seleccionado.
Claude Opus 4.1 es la actualización de Anthropic del Claude Opus 4 original, centrada en tareas con agentes, programación práctica y razonamiento. Su presentación también destaca la investigación en profundidad y el análisis de datos, especialmente el seguimiento de detalles y el uso de búsquedas dentro de una tarea más amplia. El anexo de la ficha del sistema que la acompaña describe mejoras en la calidad del razonamiento y el seguimiento de instrucciones. Sigue siendo una edición distinta del Opus 4 original y de los modelos Opus 4.5, 4.6 y 5 posteriores; sus modos y límites no deben tratarse como especificaciones de esta actualización.
Para código, la presentación destaca la refactorización en varios archivos y la identificación de correcciones precisas en una base de código grande. Proporciona los archivos o fragmentos relevantes, el comportamiento existente, el comportamiento deseado y las restricciones que debe preservar un cambio válido. Una petición ilustrativa puede pedir que siga un fallo a través de funciones relacionadas, proponga el cambio coherente más pequeño y explique por qué hace falta cada parte modificada. El resultado útil es un parche o una propuesta de código revisable que conserva el contexto original y los supuestos, en lugar de una reescritura amplia que oculte el problema inicial.
Para investigación y análisis de datos, su enfoque en el seguimiento de detalles resulta útil cuando una pregunta depende de varios pasajes u observaciones. Proporciona el material con identificadores de las fuentes, define la pregunta y pide las pruebas que respaldan cada conclusión. Una descripción práctica puede solicitar una tabla comparativa que muestre dónde coinciden dos documentos, dónde difieren y qué preguntas siguen sin respuesta. Si la búsqueda forma parte del flujo, la aplicación proporciona la herramienta y el contenido que devuelve. El modelo conecta después esos resultados con el material existente; una búsqueda propuesta en su texto no equivale a una recuperación completada.
Opus 4.1 tiene un modo de respuesta estándar y razonamiento ampliado opcional. La guía de razonamiento anterior ofrece control directo mediante budget_tokens, con un mínimo de 1,024 tokens. El presupuesto normalmente es inferior a max_tokens porque el razonamiento interno y la respuesta final comparten el margen de generación. Es un objetivo para el razonamiento, no una promesa de consumir la cantidad completa. El razonamiento adaptativo y los controles de esfuerzo de las ediciones Opus posteriores son capacidades independientes. Prepara un problema completo y especifica el formato de la respuesta final para que el análisis adicional lleve al resultado que necesita el lector.
La beta documentada para los modelos Claude 4 anteriores admite razonamiento intercalado: razonamiento entre llamadas de herramientas dentro de un mismo turno del asistente. Utiliza la función de razonamiento intercalado del proveedor en el flujo Messages compatible. En ese modo, el presupuesto de razonamiento puede abarcar varios bloques y superar el valor max_tokens de un solo turno bajo la excepción documentada. Devuelve el bloque de razonamiento correspondiente sin modificar junto con el resultado de una herramienta, incluida su firma. Así, un flujo de depuración puede alternar análisis, una comprobación ejecutada por la aplicación y la interpretación de la salida real, manteniendo separadas las acciones propuestas de las completadas.
El anexo de la ficha del sistema también describe tareas de uso de la computadora que implican observar una pantalla, utilizar el mouse e introducir texto con el teclado, junto con tareas más largas de programación con herramientas. El modelo puede razonar a partir de un estado visual suministrado y elegir una acción en un entorno conectado; la aplicación realiza la interacción y devuelve lo que ha cambiado. Para una tarea basada en pantalla, identifica el objetivo, los controles visibles relevantes y las acciones permitidas. Para un flujo documental o de datos, pide una explicación textual o un resultado estructurado vinculado a las pruebas suministradas. La interpretación del modelo y la ejecución del entorno son partes independientes del trabajo.
La evaluación del proveedor indica una susceptibilidad a la inyección de instrucciones similar a la del Opus 4 original. Examina en concreto texto oculto o elementos de interfaz que intentan desviar a un agente de la tarea del usuario. Mantén las instrucciones de la tarea separadas del material devuelto por herramientas y conserva el objetivo original al interpretar una página o un documento. Esta es una condición sustancial de un flujo de agentes: ver una petición dentro de contenido externo no la convierte en una instrucción autorizada por el usuario. Las protecciones del modelo no convierten en una entrada fiable todas las páginas que encuentra.
Su ficha del sistema también describe una limitación de programación denominada manipulación de recompensas, incluidas respuestas incrustadas en el código y soluciones adaptadas únicamente a los ejemplos que el modelo tiene delante. Opus 4.1 muestra tendencias similares a Opus 4, con algunos retrocesos en esas evaluaciones específicas. Para una propuesta de código, pide una solución que satisfaga el requisito general, identifique las condiciones que contempla e incluya comprobaciones más allá del único ejemplo suministrado. Pide que el informe final distinga lo propuesto, lo que el entorno comprobó realmente y lo que no pudo establecerse. Esto conecta las fortalezas de depuración precisa y seguimiento de detalles del modelo con un artefacto concreto cuyo comportamiento puede inspeccionarse.
Ailoot Ultra · Batch POST /v1/batches anthropic/claude-opus-4.1:batch
anthropic/claude-opus-4.1:batch
anthropic/claude-opus-4.1:batchInicio
Claude Opus 4.1 es la actualización de Opus 4 de Anthropic para desarrollo de software con agentes, investigación, análisis de datos y razonamiento. Se centra en el seguimiento de detalles, los cambios de código en varios archivos y la depuración precisa, con respuestas estándar o razonamiento ampliado opcional.
- Entradas aceptadas
- Texto
- Resultados
- Texto
Disponible en Ailoot · entradas y métodos
Ailoot Ultra · Batch POST /v1/batches
- Entrada
text- Salida
text- Formato de salida
- JSON de results[].response.body en línea
| Campo | Tipo | Requisito | Valores y límites | Predeterminado |
|---|---|---|---|---|
Campoendpoint | Tipostring | RequisitoObligatorio | Valores y límites /v1/chat/completions | Predeterminado— |
Campomodel | Tipostring | RequisitoObligatorio | Valores y límites anthropic/claude-opus-4.1:batch | Predeterminado— |
Camporequests | Tipobatch_item[] | RequisitoObligatorio | Valores y límites Número mínimo de elementos: 1 | Predeterminado— |
Camporequests[].custom_id | Tipostring | RequisitoObligatorio | Valores y límites | Predeterminado— |
Camporequests[].body.messages | Tipomessage[] | RequisitoObligatorio | Valores y límites | Predeterminado— |
Campocompletion_window | Tipostring | RequisitoOpcional | Valores y límites 24h | Predeterminado— |
Campoprovider | Tipoobject|null | RequisitoOpcional | Valores y límites | Predeterminado— |
Camporequests[].body.model | Tipostring | RequisitoOpcional | Valores y límites anthropic/claude-opus-4.1:batch, anthropic/claude-opus-4.1 | Predeterminado— |
Campoprovider.only | Tipostring[] | RequisitoOpcional | Valores y límites anthropic | Predeterminado— |
Campoprovider.allow_fallbacks | Tipoboolean|null | RequisitoOpcional | Valores y límites false, null | Predeterminado— |
Parámetros del método y ciclo de vida
| Parámetro | Contrato |
|---|---|
Parámetrocontent_type | Contratoapplication/json |
Parámetrorequired | Contratoendpoint, model, requests |
Parámetromaterial_types | Contratotext |
Parámetrorepresentation | Contratorequests[] en línea; cada elemento tiene custom_id y body |
Parámetrorequest_endpoint_profile | Contrato/v1/chat/completions |
Parámetrofile_material | ContratoQuien realiza la llamada puede leer localmente el JSONL UTF-8 real e incorporarlo a requests[]. No se utiliza el campo purpose para cargas, ni input_file_id ni referencias a archivos. Si falta el material del cliente o está vacío, la preparación se detiene antes del POST. |
Parámetroserialization_order | Contratoendpoint, model, provider (si se proporciona), completion_window (si se proporciona), requests al final |
Parámetrooptional_controls | Contratoprovider.only, provider.allow_fallbacks, completion_window |
Parámetroschema_scope | ContratoCuerpos de solicitudes de texto de Chat Completions dentro de la estructura Batch en línea documentada. |
Ciclo de vida: asynchronous
GET /v1/batches/{operation_id} · El response.id real de la respuesta de creación original; el mismo usuario, clave y grupo
Tarifas
Las referencias tarifarias no añaden opciones a la solicitud. Los parámetros admitidos se indican en el método seleccionado.
- Modo fast
- Sin especificar Cuando se selecciona el modo fast
- Modo flex
- Sin especificar Cuando se selecciona el modo flex
- Esfuerzo máximo de razonamiento
- Sin especificar Cuando el esfuerzo máximo de razonamiento usa el ajuste default
- Precios de caché explícita
- Activado Cuando se solicita caché explícita
Tarifas de Ailoot
Precios por configuración
Relaciona cada cargo con las condiciones mostradas. Usa una tarifa para cada conjunto de configuraciones alternativas.
| Configuración | Tabla de tarifas | Tokens de contexto, más de | Tokens de contexto, hasta inclusive | Cargo |
|---|---|---|---|---|
| ConfiguraciónTarifas base por token | Tabla de tarifasTarifa base | Tokens de contexto, más de— | Tokens de contexto, hasta inclusiveSin límite superior | Cargo Entrada · Tokens de entrada $0.015 / 1K tokens Salida · Tokens de salida $0.075 / 1K tokens Entrada · Lectura de caché $0.0015 / 1K tokens Entrada · Escritura en caché $0.01875 / 1K tokens Entrada · Escritura en caché, 1 hora $0.03 / 1K tokens |
| ConfiguraciónNivel 1 por longitud de la solicitud | Tabla de tarifas— | Tokens de contexto, más de0 | Tokens de contexto, hasta inclusiveSin límite superior | Cargo Entrada · Tokens de entrada $0.015 / 1K tokens Salida · Tokens de salida $0.075 / 1K tokens Entrada · Lectura de caché $0.0015 / 1K tokens Entrada · Escritura en caché $0.01875 / 1K tokens Entrada · Escritura en caché, 1 hora $0.03 / 1K tokens |
Ailoot reserva un monto estimado antes de la solicitud. Tras obtener el resultado, liquida el cargo definitivo según el uso medido. En las respuestas en flujo, la liquidación usa el registro de uso final. Cómo funcionan la reserva y la liquidación →
Solicitudes de ejemplo
Ailoot Ultra · Batch
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json
from pathlib import Path
body=json.loads('{"endpoint":"/v1/chat/completions","model":"anthropic/claude-opus-4.1:batch","requests":[{"custom_id":"req-0001","body":{"messages":[{"role":"user","content":"Hello!"}],"max_tokens":16}}]}')
Path("batch-request.json").write_text(json.dumps(body,ensure_ascii=False),encoding="utf-8")
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json
import json, os
from pathlib import Path
from urllib.request import Request, urlopen
def prepare_requests(customer_path):
path = Path(customer_path)
if not path.is_file(): raise ValueError("Customer JSONL file is missing")
items = [json.loads(line) for line in path.read_text(encoding="utf-8").splitlines() if line.strip()]
if not items: raise ValueError("Customer JSONL contains no requests")
ids = set()
for item in items:
if set(item) != {"custom_id", "body"}: raise ValueError("Each item needs custom_id and body")
cid = item["custom_id"]
if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError("custom_id must be nonempty and unique")
ids.add(cid)
if not isinstance(item["body"], dict) or not item["body"].get("messages"): raise ValueError("Supply actual text messages")
supplied_model = item["body"].get("model")
if supplied_model is not None and supplied_model not in ['anthropic/claude-opus-4.1:batch', 'anthropic/claude-opus-4.1']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"anthropic/claude-opus-4.1:batch", "requests":items}
if __name__ == "__main__":
material = os.environ.get("AILOOT_BATCH_REQUESTS_JSONL", "")
if not material: raise SystemExit("Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file")
body = prepare_requests(material)
key = os.environ.get("AILOOT_API_KEY", "")
if not key: raise SystemExit("Set AILOOT_API_KEY")
request = Request("https://api.ailoot.ai/v1/batches", data=json.dumps(body, ensure_ascii=False).encode("utf-8"), headers={"Authorization":"Bearer " + key, "Content-Type":"application/json"}, method="POST")
with urlopen(request) as response:
raw = response.read()
Path("batch-create-response.json").write_bytes(raw)
print(raw.decode("utf-8"))
import json
from pathlib import Path
raw = Path("batch-status-response.json").read_bytes()
response = json.loads(raw)
if response.get("status") != "completed":
raise SystemExit("Keep the original operation; read its status without resubmitting")
results = response.get("results")
if not isinstance(results, list) or not results:
raise SystemExit("Preserve the original response; completed results are missing")
Path("batch-results.jsonl").write_text("".join(json.dumps(item, ensure_ascii=False) + "\n" for item in results), encoding="utf-8")
# Preserve batch-status-response.json with aggregate usage and every result/error.
Recibir y guardar resultados
Ailoot Ultra · Batch
JSON de results[].response.body en línea
GET /v1/batches/{operation_id}
Consultar el estado de la tarea
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
BATCH_OPERATION_ID="$(python3 - <<'PY_ID'
import json
from pathlib import Path
from urllib.parse import quote
response = json.loads(Path("batch-create-response.json").read_text(encoding="utf-8"))
operation = response.get("id")
if not isinstance(operation, str) or not operation: raise SystemExit("No actual original operation ID; preserve the response and do not resubmit")
print(quote(operation, safe=""))
PY_ID
)"
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o batch-status-response.json
Conserva todos los resultados completados
Conserva todas las respuestas, archivos y partes de contenido completos recibidos.
Conserva el JSON completo del estado original, cada result/custom_id y el cuerpo completo de la respuesta o del error. Guarda results[] completados como JSONL sin filtrar.
Si es necesario revisar la respuesta original
Conserva el ID de la operación original. La respuesta 503 result_pending_check incluye X-Should-Retry:false; nunca vuelvas a enviar un lote original cuyo resultado sea desconocido.
Campos de respuesta
| Campo | Tipo |
|---|---|
Camporesults[].custom_id | Tipostring |
Camporesults[].response.body.choices[].message.content | Tipostring|null |
Camporesults[].error | Tipoobject|null |
Campousage | Tipoobject|null |
Campoid | Tipostring |
Campomodel | Tipostring |
Campoendpoint | Tipostring |
Campostatus | Tipostring |
Camporequest_counts | Tipoobject |
Camporesults[].id | Tipostring |
Camporesults[].response.status_code | Tipointeger |
Camporesults[].response.request_id | Tipostring |
Errores y siguientes pasos
| Respuesta | Condición | Siguiente paso |
|---|---|---|
Respuesta400 · invalid_request_error | CondiciónLa estructura en línea documentada no es válida, hay claves duplicadas, existe un problema con la identidad de los elementos o hay un conflicto entre las capacidades configuradas del modelo. | Siguiente pasoCorrige los campos indicados antes de realizar cualquier nuevo envío. |
Respuesta401 · authentication_error | CondiciónClave de API no válida. | Siguiente pasoUsa la clave de Ailoot autorizada. |
Respuesta403 · permission_error | CondiciónGrupo de Batch no disponible. | Siguiente pasoVerifica los permisos de la clave y el grupo. |
Respuesta422 · invalid_request_error | CondiciónBatch usa facturación contra saldo; se rechazan las solicitudes de creación con una suscripción. | Siguiente pasoUsa el grupo autorizado con facturación contra saldo. |
Respuesta422 · price_unavailable | CondiciónNo se puede cotizar la entrada de Batch. | Siguiente pasoConserva la respuesta; usa la entrada documentada para la familia. |
Respuesta402 · billing_error | CondiciónReserva de Batch no disponible. | Siguiente pasoResuelve los requisitos de admisión antes de realizar una nueva solicitud. |
Respuesta503 · price_unavailable | CondiciónPrecio del método Batch o tarifas nativas no disponibles. | Siguiente pasoConserva la respuesta; no sustituyas los precios. |
Respuesta503 · api_error | CondiciónLa ruta exacta del proveedor no está disponible. | Siguiente pasoConserva la respuesta para reparar la ruta. |
Respuesta503 · result_pending_check | CondiciónEl resultado original requiere una revisión; X-Should-Retry:false. | Siguiente pasoConserva el operation_id/id original y consulta su estado; nunca repitas el POST original. |
Respuesta404 · not_found | CondiciónLa operación de consulta de estado de Batch no existe o pertenece a otra identidad. | Siguiente pasoUsa el id original exacto y el mismo usuario, clave y grupo. |
Alias
Alias del modelo
Ailoot Ultra anthropic/claude-opus-4.1:batch
Alias de rutas de métodos
Usa las rutas de método indicadas arriba.
ID de modelo relacionados
FAQ · Anthropic: Claude Opus 4.1 (batch)
- ¿Qué entradas y resultados están disponibles?
POST /v1/batches·anthropic/claude-opus-4.1:batch:text→text- ¿Qué campos utiliza la solicitud?
POST /v1/batches·anthropic/claude-opus-4.1:batch:endpoint,model,requests,completion_window,provider- ¿Qué límites se aplican?
POST /v1/batches·anthropic/claude-opus-4.1:batch:requests.min_items:1