Documentação da API
A API FioriAI é compatível com o formato OpenAI. Use o SDK oficial ou qualquer cliente HTTP.
Início rápido
A chave de API é obtida no Dashboard após o login. Nunca exponha sua chave em repositórios ou no frontend.
Base URL
https://fiori-ai.com/api/v1Autenticação
Envie a chave no header Authorization com o prefixo Bearer:
Authorization: Bearer sua_chave_apiCline (VS Code)
Para usar no Cline com provider OpenAI Compatible, preencha:
- Base URL:
https://fiori-ai.com/api/v1 - API Key: sua chave criada no Dashboard
- Model ID:
fiori-coder
Se preferir configurar direto no settings.json:
"cline.apiProvider": "openai",
"cline.openai": {
"apiKey": "sua_chave_api",
"baseURL": "https://fiori-ai.com/api/v1"
},
"cline.defaultModel": "fiori-coder"Modelos
Use o parâmetro model com um dos identificadores abaixo. Endpoints compatíveis com OpenAI:
GET /v1/models— lista de modelos ativosGET /v1/models/{id}— detalhe de um modelo (ex.:fiori-coder)
Cada requisição de chat debita créditos conforme o modelo:
| Modelo | Descrição | Créditos/requisição |
|---|---|---|
| fiori-a1 | Análise e classificação | 1 |
| fiori-a2 | Raciocínio avançado | 2 |
| fiori-coder | Codificação e engenharia de software | 2 |
Chat Completions
Endpoint principal para geração de texto. Suporta stream: true para respostas em tempo real.
Requisição
POST /v1/chat/completions
Parâmetros principais
model— Identificador do modelo (obrigatório)messages— Array de mensagens comroleecontent.contentpode ser string ou array de partes (OpenAI). Incluarole: "system"para instruções ao modelo. Suportaname,tool_call_idetool_callspara function calling.stream—truepara streaming via SSEmax_tokens/max_completion_tokens— Limite de tokens na respostatemperature— Aleatoriedade (0 a 2)top_p— Amostragem nucleus (0 a 1)stop— String ou lista de strings para paradan— Número de respostas a gerarpresence_penalty,frequency_penalty— Penalidades (-2 a 2)logit_bias— Ajuste de logits por tokenresponse_format— Formato de resposta (ex.: JSON)tools,tool_choice,parallel_tool_calls— Function callinguser— Identificador do usuário (opcional)seed— Semente para reprodutibilidadereasoning_effort— Esforço de raciocínio (low,medium,high)
Exemplos
cURL
curl -X POST "https://fiori-ai.com/api/v1/chat/completions" \
-H "Authorization: Bearer sua_chave_api" \
-H "Content-Type: application/json" \
-d '{
"model": "fiori-a1",
"messages": [
{"role": "user", "content": "Olá, como você pode ajudar?"}
]
}'Python (OpenAI SDK)
from openai import OpenAI
# Use variável de ambiente em produção
client = OpenAI(
base_url="https://fiori-ai.com/api/v1",
api_key="sua_chave_api", # ou os.getenv("FIORI_API_KEY")
)
response = client.chat.completions.create(
model="fiori-a1",
messages=[{"role": "user", "content": "Olá"}]
)
print(response.choices[0].message.content)JavaScript / Node.js
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://fiori-ai.com/api/v1",
apiKey: process.env.FIORI_API_KEY, // nunca hardcode
});
const response = await client.chat.completions.create({
model: "fiori-a1",
messages: [{ role: "user", content: "Resumo deste texto..." }],
});
console.log(response.choices[0].message.content);Respostas de erro
Erros seguem o formato OpenAI com error.message, error.type e error.code:
invalid_api_key(401) — Token inválido ou expiradoinsufficient_credits(402) — Créditos insuficientesmodel_not_found(404) — Modelo indisponívelprovider_not_supported(400) — Provider do modelo não suportadoprovider_not_configured(500) — Chave do provider (ex. Groq) não configurada no servidor