Meta: Muse Spark 1.3 Contributor
Muse Spark 1.3 Contributor es una edición de razonamiento de la familia de Meta para agentes y programación destinada a flujos de creación de prototipos. El fabricante indica entradas de texto, imagen, vídeo y PDF, salida de texto y un contexto de 1,048,576 tokens, con niveles de razonamiento hasta xhigh en lugar del max de Standard 1.3.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsmeta/muse-spark-1.3-contributor - Ailoot Ultra · Anthropic Messages
POST /v1/messagesmeta/muse-spark-1.3-contributor
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.
Muse Spark 1.3 Contributor es una edición con nombre propio de la familia Muse Spark de Meta destinada a prototipos y experimentación. La familia está diseñada para trabajo con agentes y programación: bucles de herramientas de varios pasos, asistentes de software y razonamiento sobre material de origen extenso. Conserva el nombre Contributor al seleccionar la edición en lugar de tratarla como la entrada Standard 1.3 trasladando todos sus ajustes sin cambios.
Entradas y contexto
La tabla oficial de modelos enumera texto, imágenes, vídeo y PDF como entradas y texto como salida, con una ventana de contexto de 1,048,576 tokens. Una tarea puede combinar un requisito escrito, una captura de pantalla, un clip pertinente o páginas de documentos y solicitar una explicación escrita, hallazgos estructurados o código propuesto. El resultado textual del modelo puede convertirse en un producto de la aplicación que lo rodea; renderizar una página o ejecutar código requiere ese entorno de aplicación.
Identifica cada fuente y su función antes de pedir un resultado. Una tarea de prototipo de interfaz puede combinar una captura de pantalla con el comportamiento deseado y el fragmento de código existente. Pide las diferencias visibles, el cambio de implementación propuesto y los supuestos que aún necesitan aclaración. Una tarea documental puede definir los campos que se deben extraer y pedir la página o el pasaje de apoyo junto a cada hallazgo.
El fabricante señala que la comprensión de audio en la versión 1.3 no está plenamente admitida y puede ofrecer respuestas de menor calidad. Trátalo como una limitación específica de la versión en lugar de copiar en esta descripción las capacidades de audio de Muse Spark 1.2 o de un modelo de transcripción con nombre propio.
Niveles de razonamiento y presupuesto de respuesta
Muse Spark genera razonamiento interno antes de su respuesta visible. Los niveles de esfuerzo documentados que se aplican aquí son minimal, low, medium, high y xhigh. El nivel max pertenece específicamente a Standard Muse Spark 1.3 y no está disponible para los modelos Contributor. No se admite desactivar el razonamiento con none; omitir el ajuste sigue dejando al modelo razonar a un nivel determinado por el propio modelo.
El presupuesto de tokens de salida cubre tanto el razonamiento interno como el texto visible. Por tanto, una solicitud de resultado escrito extenso necesita espacio para ambos, especialmente con un esfuerzo de razonamiento mayor. El razonamiento interno sin procesar permanece privado y las probabilidades logarítmicas no están admitidas como medida de confianza. Solicita la explicación, los campos o el código final que necesita la tarea, en lugar de asumir que la traza de razonamiento subyacente se devolverá como texto legible.
Para un experimento acotado de extracción o formato, define el registro exacto y el material de origen. Para un problema de programación o visual de varios pasos, define las decisiones intermedias y el resultado final. Un mayor esfuerzo de razonamiento cambia la asignación de razonamiento; por sí solo no define qué constituye un resultado útil y completado.
Herramientas y hallazgos estructurados
La documentación de Muse Spark del fabricante describe llamadas a herramientas definidas por el desarrollador y salida estructurada. La aplicación aporta las definiciones de herramientas, el modelo decide qué operación se necesita y prepara sus argumentos, y la aplicación ejecuta cada llamada y devuelve el resultado correspondiente. La siguiente respuesta puede utilizar esos resultados para decidir qué hacer después. Una llamada propuesta es distinta de una operación completada.
La misma documentación distingue las herramientas integradas de búsqueda conectadas de las funciones definidas por el desarrollador. La búsqueda o la ejecución de código forma parte del entorno de herramientas, no de una modalidad adicional de contenido de la respuesta textual. En un prototipo, proporciona solo las operaciones pertinentes para la pregunta y describe qué devuelve cada una para que la respuesta posterior siga conectada con información realmente recuperada o calculada.
Para una extracción estructurada, especifica los nombres de campos, la información requerida y la representación de los valores ausentes. Un registro práctico puede contener el identificador de origen, el hecho observado, la interpretación y la pregunta aún pendiente de aclaración. Mantén el registro separado de la prosa opcional cuando una aplicación deba procesar los campos de forma fiable. La interfaz de esquemas del fabricante rechaza los esquemas recursivos y limita el anidamiento a diez niveles. Su modo estricto exige una raíz de objeto simple, que todas las propiedades enumeradas sean obligatorias y que no se permitan propiedades adicionales. Una estructura coincidente no establece la corrección factual.
Una tarea útil de prototipo
Elige un flujo de trabajo que pueda producir un resultado que se pueda inspeccionar. Aporta el requisito, un ejemplo visual y el código que determina el comportamiento actual. Solicita una comparación breve, un fragmento revisado propuesto y ejemplos que distingan el comportamiento esperado del actual. Incluye cualquier resultado de consulta o ejecución devuelto por la aplicación antes de pedir la explicación final.
Para un prototipo documental, proporciona el PDF y la pregunta que se debe responder y pide después un resumen vinculado a fuentes o una tabla comparativa. Para vídeo, identifica el suceso o la relación visual que se debe examinar y solicita una descripción ordenada con las observaciones que la respaldan. Define la extensión y las secciones de la respuesta final para que el contexto amplio del modelo sirva a la pregunta real.
Límites de edición y continuidad
Contributor sigue siendo su propia edición identificada de 1.3, con el contexto y los tipos de entrada documentados. La guía de razonamiento de Meta distingue el historial ordinario de conversación de la conservación de razonamiento privado entre turnos: la interfaz de chat del fabricante no devuelve esa traza privada a quienes la invocan desde fuera. Conserva los mensajes visibles, las fuentes y los resultados de herramientas necesarios para continuar, en lugar de asumir que todas las interfaces trasladan el razonamiento interno.
Las fuentes consultadas no especifican una capacidad máxima estricta de entrada o de tokens de salida por separado más allá de la ventana de contexto. Conserva la edición, la preparación de entradas y el producto solicitado, y mantén la ejecución de herramientas y la entrega final de texto conectadas con los resultados realmente obtenidos en el flujo de prototipo.
Tarea práctica
Tarea práctica
Ejemplo técnico en inglés
Prototype and test a text-only helper
Design a small Python prototype for an appointment reminder. Input records contain id and minutes_until_start. Return IDs where 0 <= minutes_until_start <= 30, preserving input order. Supply the function and cases at -1, 0, 30 and 31 minutes. Include a short note on assumptions; no calendar connection or reminder sending is available.Resultado esperado
A self-contained function, boundary-case assertions and explicit assumptions about input fields.Comprobar el resultado
Exactly the 0- and 30-minute records qualify, and the function does not send messages or assume calendar access.Ailoot Ultra · OpenAI Chat POST /v1/chat/completions meta/muse-spark-1.3-contributor
meta/muse-spark-1.3-contributor
meta/muse-spark-1.3-contributorPrimeros pasos
Muse Spark 1.3 Contributor es una edición de razonamiento de la familia de Meta para agentes y programación destinada a flujos de creación de prototipos. El fabricante indica entradas de texto, imagen, vídeo y PDF, salida de texto y un contexto de 1,048,576 tokens, con niveles de razonamiento hasta xhigh en lugar del max de Standard 1.3.
- Entradas aceptadas
- Texto
- Resultados
- Texto
Disponible en Ailoot · entradas y métodos
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Tipos de entrada
text- Tipos de salida
text- Formato de salida
- json o SSE
| Campo | Tipo | Requisito | Valores y límites | Predeterminado |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObligatorio | Valores y límites meta/muse-spark-1.3-contributor | Predeterminado— |
Campomessages | Tipomessage[] | RequisitoObligatorio | Valores y límites Número mínimo de elementos: 1 | Predeterminado— |
Campomessages[].role | Tipostring | RequisitoObligatorio | Valores y límites Ejemplos: system, user, assistant, tool, function Condiciones: Estos roles están representados explícitamente por los tipos de compatibilidad del código fuente; el conjunto exacto de roles depende del modelo. Depende del modelo | Predeterminado— |
Campomessages[].content | Tipostring|content_part[]|null | RequisitoOpcional | Valores y límites | Predeterminado— |
Campomessages[].tool_calls | Tipotool_call[] | RequisitoOpcional | Valores y límites | Predeterminado— |
Campomessages[].tool_call_id | Tipostring | RequisitoOpcional | Valores y límites Se aplica cuando: role=tool; utiliza el ID real devuelto | Predeterminado— |
Campomessages[].name | Tipostring | RequisitoOpcional | Valores y límites | Predeterminado— |
Campomessages[].reasoning_content | Tipostring | RequisitoOpcional | Valores y límites Se aplica cuando: Devuelve en los turnos siguientes el razonamiento realmente recibido cuando este modelo lo utilice | Predeterminado— |
Campomessages[].reasoning_details | Tipoobject|array | RequisitoOpcional | Valores y límites Depende del modelo | Predeterminado— |
Campomax_tokens | Tipointeger | RequisitoOpcional | Valores y límites Mínimo: 1 Depende del modelo | Predeterminado— |
Campomax_completion_tokens | Tipointeger | RequisitoOpcional | Valores y límites Mínimo: 1 Depende del modelo | Predeterminado— |
Campostream | Tipoboolean | RequisitoOpcional | Valores y límites | Predeterminadofalse |
Campostream_options.include_usage | Tipoboolean | RequisitoOpcional | Valores y límites Depende del modelo | Predeterminado— |
Campotemperature | Tiponumber | RequisitoOpcional | Valores y límites Depende del modelo | Predeterminado— |
Campotop_p | Tiponumber | RequisitoOpcional | Valores y límites Depende del modelo | Predeterminado— |
Campostop | Tipostring|string[] | RequisitoOpcional | Valores y límites Depende del modelo | Predeterminado— |
Campotools | Tipofunction_tool[] | RequisitoOpcional | Valores y límites Depende del modelo | Predeterminado— |
Campotools[].type | Tipostring | RequisitoOpcional | Valores y límites function Depende del modelo | Predeterminado— |
Campotools[].function.name | Tipostring | RequisitoObligatorio | Valores y límites Se aplica cuando: herramienta de función proporcionada | Predeterminado— |
Campotools[].function.description | Tipostring | RequisitoOpcional | Valores y límites | Predeterminado— |
Campotools[].function.parameters | TipoJSON_schema | RequisitoOpcional | Valores y límites | Predeterminado— |
Campotool_choice | Tipostring|object | RequisitoOpcional | Valores y límites Depende del modelo | Predeterminado— |
Campoparallel_tool_calls | Tipoboolean | RequisitoOpcional | Valores y límites Depende del modelo | Predeterminado— |
Camporesponse_format | Tipoobject | RequisitoOpcional | Valores y límites Depende del modelo | Predeterminado— |
Camporeasoning_effort | Tipostring | RequisitoOpcional | Valores y límites Depende del modelo | Predeterminado— |
Camporeasoning | Tipoobject | RequisitoOpcional | Valores y límites Depende del modelo | Predeterminado— |
Camposervice_tier | Tipostring | RequisitoOpcional | Valores y límites Depende del modelo | Predeterminado— |
Campoinstructions | Tipostring | RequisitoOpcional | Valores y límites Campo de compatibilidad | Predeterminado— |
Campofunctions | Tipofunction[] | RequisitoOpcional | Valores y límites Depende del modelo | Predeterminado— |
Campofunction_call | Tipostring|object | RequisitoOpcional | Valores y límites Depende del modelo | Predeterminado— |
Campoprompt_cache_options | Tipoobject | RequisitoOpcional | Valores y límites Depende del modelo | Predeterminado— |
Campomodalities | Tipostring[] | RequisitoOpcional | Valores y límites text | Predeterminado— |
Campoprovider | Tipoobject | RequisitoOpcional | Valores y límites Condiciones: provider.options se rechaza en esta ruta de texto Ultra | Predeterminado— |
Campocache_control.ttl | Tipostring | RequisitoOpcional | Valores y límites Condiciones: 1h se rechaza en los campos reales de caché de instrucciones | Predeterminado— |
Combinaciones de materiales de entrada
Texto · Texto UTF8
messages[].content
Parámetros del método y ciclo de vida
| Parámetro | Contrato |
|---|---|
Parámetrocontent_type | Contratoapplication/json |
Parámetrorequired | Contratomodel, messages |
Parámetromaterial_types | Contratotext |
Parámetromessages | Contratomatriz de mensajes con estructura role/content |
Parámetrofile_material | Contratodocumento real en UTF-8 insertado como texto literal; no se deduce ningún ID de archivo |
Parámetrooptional_controls | Contratostream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice |
Parámetrocontrol_scope | Contratodepende del modelo; las herramientas de funciones del usuario difieren de las herramientas alojadas |
Parámetrooutput_modalities | Contratotext |
Parámetrohosted_operations | Contratofalse |
Parámetromultimodal_input_binding | Contratonull |
Ciclo de vida: synchronous_or_streamed
Envía el ID exacto del modelo junto con messages.
La longitud del contexto no es un límite máximo de salida.
Un archivo de texto puede aportar texto literal; las entradas de imagen, audio u objetos de archivo requieren una vinculación exacta.
Planes
Las referencias tarifarias no añaden opciones a la solicitud. Los parámetros admitidos se indican en el método seleccionado.
- Modo rápido
- Tarifa estándar Cuando se selecciona el modo rápido
- Modo flex
- Tarifa estándar Cuando se selecciona el modo flex
- Esfuerzo máximo de razonamiento
- Tarifa estándar Cuando el esfuerzo máximo de razonamiento utiliza el ajuste predeterminado (default)
- Esfuerzo de razonamiento · alto
- Tarifa estándar Cuando el esfuerzo de razonamiento es alto
- Esfuerzo de razonamiento · bajo
- Tarifa estándar Cuando el esfuerzo de razonamiento es bajo
- Esfuerzo de razonamiento · máximo
- Tarifa estándar Cuando el esfuerzo de razonamiento es máximo
- Esfuerzo de razonamiento · medio
- Tarifa estándar Cuando el esfuerzo de razonamiento es medio
- Esfuerzo de razonamiento · mínimo
- Tarifa estándar Cuando el esfuerzo de razonamiento es mínimo
- Esfuerzo de razonamiento · xhigh
- Tarifa estándar Cuando el esfuerzo de razonamiento es xhigh
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.0002 / 1K tokens Salida · Tokens de salida $0.0004 / 1K tokens Entrada · Lectura de caché $0.000004 / 1K tokens Entrada · Escritura en caché — / 1K tokens Entrada · Escritura en caché, 1 hora — / 1K tokens |
| ConfiguraciónTramo 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.0002 / 1K tokens Salida · Tokens de salida $0.0004 / 1K tokens Entrada · Lectura de caché $0.000004 / 1K tokens Entrada · Escritura en caché — / 1K tokens Entrada · Escritura en caché, 1 hora — / 1K tokens |
Ailoot reserva un importe 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 · OpenAI Chat
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "meta/muse-spark-1.3-contributor", "messages": [{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}]}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
from openai import OpenAI
import os
if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model='meta/muse-spark-1.3-contributor',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}])
import base64, json
from pathlib import Path
def save_result(data, stem="result"):
# Keep every field, including usage, IDs, reasoning and tool requests.
Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
print(json.dumps(data, ensure_ascii=False, indent=2))
def save_blob(encoded, suffix, label):
raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
file = Path(stem + "-" + label + "." + ext)
file.write_bytes(raw)
print("Saved", file)
for index, block in enumerate(data.get("content") or []):
print("Content", index, json.dumps(block, ensure_ascii=False))
for choice in data.get("choices") or []:
print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
for index, item in enumerate(data.get("output") or []):
print("Output", index, json.dumps(item, ensure_ascii=False))
if item.get("type") == "image_generation_call" and item.get("result"):
save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
for ci, candidate in enumerate(data.get("candidates") or []):
for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
blob = part.get("inlineData") or part.get("inline_data")
if blob and blob.get("data"):
mime = blob.get("mimeType") or blob.get("mime_type")
suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))
save_result(result.to_dict(mode="json"))
from openai import OpenAI
import os
from pathlib import Path
if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
import base64, json
from pathlib import Path
def save_result(data, stem="result"):
# Keep every field, including usage, IDs, reasoning and tool requests.
Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
print(json.dumps(data, ensure_ascii=False, indent=2))
def save_blob(encoded, suffix, label):
raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
file = Path(stem + "-" + label + "." + ext)
file.write_bytes(raw)
print("Saved", file)
for index, block in enumerate(data.get("content") or []):
print("Content", index, json.dumps(block, ensure_ascii=False))
for choice in data.get("choices") or []:
print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
for index, item in enumerate(data.get("output") or []):
print("Output", index, json.dumps(item, ensure_ascii=False))
if item.get("type") == "image_generation_call" and item.get("result"):
save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
for ci, candidate in enumerate(data.get("candidates") or []):
for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
blob = part.get("inlineData") or part.get("inline_data")
if blob and blob.get("data"):
mime = blob.get("mimeType") or blob.get("mime_type")
suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))
with client.chat.completions.stream(model='meta/muse-spark-1.3-contributor',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
for event in stream:
payload=event.to_dict(mode="json")
log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
print(json.dumps(payload,ensure_ascii=False))
final=stream.get_final_completion()
save_result(final.to_dict(mode="json"),"stream-result")
Recibir y guardar resultados
Ailoot Ultra · OpenAI Chat
json o SSE
Conserva todos los resultados completados
Conserva todas las respuestas, archivos y partes de contenido completos recibidos.
Conserva cada alternativa y su contenido, llamadas de herramientas y razonamiento. En SSE, ensambla los fragmentos incrementales por índice de alternativa/herramienta y conserva el motivo final de terminación y el uso.
Si es necesario revisar la respuesta original
Conserva los ID de solicitud y respuesta y las cabeceras. No se proporciona una URL genérica para recuperar tareas de texto.
Campos de respuesta
| Campo | Tipo |
|---|---|
Campochoices[].index | Tipointeger |
Campochoices[].message.content | Tipostring|null |
Campochoices[].message.tool_calls | Tipotool_call[] |
Campochoices[].message.reasoning_content | Tipostring |
Campochoices[].message.reasoning_details | Tipoobject|array |
Campochoices[].finish_reason | Tipostring|null |
Campousage | Tipoobject |
Errores y siguientes pasos
| Respuesta | Condición | Siguiente paso |
|---|---|---|
Respuesta400 · invalid_request_error | CondiciónCampos obligatorios, representación del material o valor del parámetro no válidos | Siguiente pasoCorrige los campos indicados antes de una nueva solicitud de creación. |
Alias
Alias del modelo
Ailoot Ultra meta/muse-spark-1.3-contributor
Alias de rutas de métodos
Usa las rutas de método indicadas arriba.
ID de modelo relacionados
Ailoot Ultra · Anthropic Messages POST /v1/messages meta/muse-spark-1.3-contributor
meta/muse-spark-1.3-contributor
meta/muse-spark-1.3-contributorPrimeros pasos
Muse Spark 1.3 Contributor es una edición de razonamiento de la familia de Meta para agentes y programación destinada a flujos de creación de prototipos. El fabricante indica entradas de texto, imagen, vídeo y PDF, salida de texto y un contexto de 1,048,576 tokens, con niveles de razonamiento hasta xhigh en lugar del max de Standard 1.3.
- Entradas aceptadas
- Texto
- Resultados
- json · sse
Disponible en Ailoot · entradas y métodos
Ailoot Ultra · Anthropic Messages POST /v1/messages
- Tipos de entrada
text- Tipos de salida
json,sse- Formato de salida
- JSON o SSE
| Campo | Tipo | Requisito | Valores y límites | Predeterminado |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObligatorio | Valores y límites meta/muse-spark-1.3-contributor | Predeterminado— |
Campomessages | Tipomessage[] | RequisitoObligatorio | Valores y límites | Predeterminado— |
Campomessages[].role | Tipostring | RequisitoObligatorio | Valores y límites user, assistant | Predeterminado— |
Campomessages[].content | Tipostring | RequisitoObligatorio | Valores y límites | Predeterminado— |
Campomax_tokens | Tipointeger | RequisitoObligatorio | Valores y límites | Predeterminado— |
Campostream | Tipoboolean | RequisitoOpcional | Valores y límites | Predeterminadofalse |
Combinaciones de materiales de entrada
Texto · Texto UTF-8
cadena messages[].content
Parámetros del método y ciclo de vida
| Parámetro | Contrato |
|---|---|
Parámetrocontent_type | Contratoapplication/json |
Parámetrorequired | Contratomodel, messages, max_tokens |
Parámetrooptional_controls | Contratostream |
Parámetromaterial_types | Contratotext |
Parámetrotext_file_material | ContratoLee el documento real en UTF-8 y coloca su texto en el campo input indicado o en la cadena de contenido del mensaje. |
Ciclo de vida: synchronous_or_streamed
Planes
Las referencias tarifarias no añaden opciones a la solicitud. Los parámetros admitidos se indican en el método seleccionado.
- Modo rápido
- Tarifa estándar Cuando se selecciona el modo rápido
- Modo flex
- Tarifa estándar Cuando se selecciona el modo flex
- Esfuerzo máximo de razonamiento
- Tarifa estándar Cuando el esfuerzo máximo de razonamiento utiliza el ajuste predeterminado (default)
- Esfuerzo de razonamiento · alto
- Tarifa estándar Cuando el esfuerzo de razonamiento es alto
- Esfuerzo de razonamiento · bajo
- Tarifa estándar Cuando el esfuerzo de razonamiento es bajo
- Esfuerzo de razonamiento · máximo
- Tarifa estándar Cuando el esfuerzo de razonamiento es máximo
- Esfuerzo de razonamiento · medio
- Tarifa estándar Cuando el esfuerzo de razonamiento es medio
- Esfuerzo de razonamiento · mínimo
- Tarifa estándar Cuando el esfuerzo de razonamiento es mínimo
- Esfuerzo de razonamiento · xhigh
- Tarifa estándar Cuando el esfuerzo de razonamiento es xhigh
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.0002 / 1K tokens Salida · Tokens de salida $0.0004 / 1K tokens Entrada · Lectura de caché $0.000004 / 1K tokens Entrada · Escritura en caché — / 1K tokens Entrada · Escritura en caché, 1 hora — / 1K tokens |
| ConfiguraciónTramo 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.0002 / 1K tokens Salida · Tokens de salida $0.0004 / 1K tokens Entrada · Lectura de caché $0.000004 / 1K tokens Entrada · Escritura en caché — / 1K tokens Entrada · Escritura en caché, 1 hora — / 1K tokens |
Ailoot reserva un importe 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 · Anthropic Messages
{
"model": "meta/muse-spark-1.3-contributor",
"max_tokens": 128,
"messages": [
{
"role": "user",
"content": "Summarize the incident report."
}
],
"stream": false
}set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'meta/muse-spark-1.3-contributor', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
-H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'meta/muse-spark-1.3-contributor', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError
api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
with urlopen(request, timeout=120) as response:
raw = response.read()
Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
Path('result.json').write_bytes(error.read())
Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
Recibir y guardar resultados
Ailoot Ultra · Anthropic Messages
JSON o SSE
Conserva todos los resultados completados
Conserva todas las respuestas, archivos y partes de contenido completos recibidos.
Conserva todos los bloques de contenido, las firmas de razonamiento y los ID reales de uso de herramientas. Ensambla todos los fragmentos incrementales de los bloques SSE; el primer bloque de texto no constituye la salida completa.
Si es necesario revisar la respuesta original
Conserva los ID de solicitud y respuesta y las cabeceras. No se proporciona una URL genérica para recuperar tareas de texto.
Campos de respuesta
| Campo | Tipo |
|---|---|
Campoid | Tipostring |
Campomodel | Tipostring |
Campocontent[] | Tipotext|thinking|tool_use|other content block |
Campostop_reason | Tipostring|null |
Campousage | Tipoobject |
Errores y siguientes pasos
| Respuesta | Condición | Siguiente paso |
|---|---|---|
Respuesta400 · invalid_request_error | CondiciónCampos obligatorios, representación del material o valor del parámetro no válidos | Siguiente pasoCorrige los campos indicados antes de una nueva solicitud de creación. |
Alias
Alias del modelo
Ailoot Ultra meta/muse-spark-1.3-contributor
Alias de rutas de métodos
Usa las rutas de método indicadas arriba.
ID de modelo relacionados
FAQ · Meta: Muse Spark 1.3 Contributor
- ¿Qué entradas y resultados están disponibles?
POST /v1/chat/completions·meta/muse-spark-1.3-contributor:text→textPOST /v1/messages·meta/muse-spark-1.3-contributor:text→json,sse- ¿Qué campos utiliza la solicitud?
POST /v1/chat/completions·meta/muse-spark-1.3-contributor:model,messages,stream,modalities,providerPOST /v1/messages·meta/muse-spark-1.3-contributor:model,messages,max_tokens,stream- ¿Qué límites se aplican?
POST /v1/chat/completions·meta/muse-spark-1.3-contributor:messages.min_items:1