Crie uma conclusão de chat
Envie um pedido de chat-completions do ShareAI com uma chave API Bearer e compreenda o modelo suportado, mensagens e campos de fluxo.
Nesta página
https://api.shareai.now/api/v1/chat/completionsExecute um pedido de chat usando o modelo selecionado.
- URL Base
https://api.shareai.now- Autenticação
- Chave API Bearer
Este é o caminho de integração padrão para pedidos pagos e autorizados pelo espaço de trabalho da sua chave API. As restrições de modelo e fornecedor da chave aplicam-se à alocação, incluindo caminhos de fallback permitidos.
Corpo do pedido#
| Campo | Tipo | Significado |
|---|---|---|
model | string, obrigatório | Identificador exato do modelo disponível. Copie-o de Models. |
messages | array | Mensagens de conversa contendo função e conteúdo. |
stream | boolean | false retorna um resultado JSON; true solicita eventos enviados pelo servidor. |
Use o conteúdo da mensagem de texto. Envie funções como system, user and assistant conforme apropriado para a conversa. Inclua o histórico da conversa que deseja que o modelo utilize; não presuma que os pedidos compartilham uma conversa armazenada.
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());
Resposta#
Um resultado concluído não-streaming define done como true e retorna o texto gerado em message.content. O nível superior também carrega done_reason and consumption_type. O streaming utiliza um formato diferente, chat-completion-chunk. Não presuma que o resultado não-streaming tenha um array de escolhas no 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 é um resultado concluído ilustrativo; consumption_type descreve o modo real de alocação. Verifique se há um erro no nível superior mesmo quando o status HTTP for 200. Um resultado sem dispositivo atualmente usa error.code = no_device com HTTP 200.
Restrições de modelo e fornecedor#
Uma chave pode ser limitada a modelos específicos e fornecedores de execução. Se o acesso for negado, inspecione informações da chave e atualize a chave no Console apenas se o espaço de trabalho proprietário pretender conceder esse acesso.
Streaming ou autorização do cliente#
Última atualização em 15 de setembro de 2026