Crea una completación de chat
Envía una solicitud de chat-completions de ShareAI con una clave API Bearer y comprende el modelo compatible, los mensajes y los campos de flujo.
En esta página
https://api.shareai.now/api/v1/chat/completionsEjecuta una solicitud de chat usando el modelo seleccionado.
- URL base
https://api.shareai.now- Autenticación
- Clave API Bearer
Esta es la ruta de integración predeterminada para solicitudes pagadas y autorizadas por el espacio de trabajo de tu clave API. Las restricciones del modelo y proveedor de la clave se aplican a la asignación, incluidas las rutas alternativas permitidas.
Cuerpo de la solicitud#
| Campo | Tipo | Significado |
|---|---|---|
model | cadena, obligatorio | Identificador exacto del modelo disponible. Cópialo de Modelos. |
messages | matriz | Mensajes de conversación que contienen rol y contenido. |
stream | booleano | false devuelve un resultado JSON; true solicita eventos enviados por el servidor. |
Usa contenido de mensajes de texto. Envía roles como system, user and assistant según corresponda a la conversación. Incluye el historial de conversación que deseas que el modelo utilice; no asumas que las solicitudes comparten una conversación almacenada.
cURL
curl --fail-with-body --request POST \
"https://api.shareai.now/api/v1/chat/completions" \
-H "Authorization: Bearer $SHAREAI_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"model": "MODEL_IDENTIFIER",
"messages": [
{
"role": "system",
"content": "Be concise and helpful."
},
{
"role": "user",
"content": "Give me three ideas for a local community event."
}
],
"stream": false
}'
Python
import json
import os
import urllib.request
headers = {"Authorization": "Bearer " + os.environ["SHAREAI_API_KEY"]}
headers["Content-Type"] = "application/json"
payload = {'model': 'MODEL_IDENTIFIER', 'messages': [{'role': 'system', 'content': 'Be concise and helpful.'}, {'role': 'user', 'content': 'Give me three ideas for a local community event.'}], 'stream': False}
data = json.dumps(payload).encode()
request = urllib.request.Request('https://api.shareai.now/api/v1/chat/completions', data=data, headers=headers, method='POST')
with urllib.request.urlopen(request, timeout=60) as response:
print(json.load(response))
TypeScript
const url = "https://api.shareai.now/api/v1/chat/completions";
const headers: Record = {
Authorization: `Bearer ${process.env.SHAREAI_API_KEY}`,
};
headers["Content-Type"] = "application/json";
const payload = {
"model": "MODEL_IDENTIFIER",
"messages": [
{
"role": "system",
"content": "Be concise and helpful."
},
{
"role": "user",
"content": "Give me three ideas for a local community event."
}
],
"stream": false
};
const response = await fetch(url, { method: "POST", headers, body: JSON.stringify(payload) });
if (!response.ok) throw new Error(`${response.status}: ${await response.text()}`);
console.log(await response.json());
Respuesta#
Un resultado completado no transmitido establece done en true y devuelve el texto generado en message.content. El nivel superior también lleva done_reason and consumption_type. La transmisión utiliza un formato diferente, chat-completion-chunk. No asumas que el resultado no transmitido tiene un array de opciones al estilo OpenAI.
JSON
{
"done": true,
"done_reason": "stop",
"consumption_type": "credits",
"message": {
"role": "assistant",
"content": "Here are three ideas for your community event.",
"done": true,
"done_reason": "stop"
}
}
Este es un resultado completado ilustrativo; consumption_type describe el modo de asignación real. Verifica un error de nivel superior incluso cuando el estado HTTP sea 200. Un resultado sin dispositivo actualmente usa error.code = no_device con HTTP 200.
Restricciones de modelo y proveedor#
Una clave puede estar limitada a modelos específicos y proveedores de ejecución. Si se deniega el acceso, inspecciona información de la clave y actualiza la clave en la Consola solo si el espacio de trabajo propietario tiene la intención de otorgar ese acceso.
Transmisión o autorización del cliente#
Última actualización septiembre 15, 2026