Fanamarinana
Ny fangatahana tsirairay dia mitondra ny API key-nao ao anaty header. Key iray isaky ny kaonty no miasa amin'ny endpoint rehetra sy model rehetra, amin'ny endrika header roa.
Authorization: Bearer YOUR_API_KEY x-api-key: YOUR_API_KEY Header ekena
Ny header roa dia vakiana amin'ny endpoint /v1 rehetra, na inona na inona ny endrika ampiasain'ilay endpoint. Alefaso iray amin'izy ireo.
| Header | Famaritana |
|---|---|
Authorization: Bearer <key> | Hamarinina aloha. Soraty Bearer amin'ny B lehibe sy elanelana iray alohan'ny key. Ny SDK OpenAI no mandefa ity header ity. |
x-api-key: <key> | Vakiana rehefa tsy manana header Authorization: Bearer ny fangatahana. Ny SDK Anthropic no mandefa ity header ity. |
Amin'ny SDK OpenAI, apetraho ny key sy ny base URL; ny SDK no mandefa Authorization: Bearer.
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.shannon-ai.com/v1"
)
response = client.chat.completions.create(
model="shannon-3",
messages=[
{"role": "user", "content": "Hello, Shannon!"}
]
)
print(response.choices[0].message.content) import OpenAI from 'openai';
const client = new OpenAI({
apiKey: 'YOUR_API_KEY',
baseURL: 'https://api.shannon-ai.com/v1'
});
const response = await client.chat.completions.create({
model: 'shannon-3',
messages: [
{ role: 'user', content: 'Hello, Shannon!' }
]
});
console.log(response.choices[0].message.content); curl -X POST "https://api.shannon-ai.com/v1/chat/completions" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "shannon-3",
"messages": [
{"role": "user", "content": "Hello, Shannon!"}
]
}' Amin'ny SDK Anthropic, apetraho ny key sy ny base URL tsy misy /v1; ny SDK no mandefa x-api-key.
import anthropic
client = anthropic.Anthropic(
api_key="YOUR_API_KEY",
base_url="https://api.shannon-ai.com"
)
message = client.messages.create(
model="shannon-3",
max_tokens=1024,
messages=[
{"role": "user", "content": "Hello, Shannon!"}
]
)
print("".join(block.text for block in message.content if block.type == "text")) import Anthropic from '@anthropic-ai/sdk';
const client = new Anthropic({
apiKey: 'YOUR_API_KEY',
baseURL: 'https://api.shannon-ai.com'
});
const message = await client.messages.create({
model: 'shannon-3',
max_tokens: 1024,
messages: [
{ role: 'user', content: 'Hello, Shannon!' }
]
});
console.log(message.content.filter((block) => block.type === 'text').map((block) => block.text).join('')); curl -X POST "https://api.shannon-ai.com/v1/messages" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "shannon-3",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "Hello, Shannon!"}
]
}' Endpoint iza no mila key
| Endpoint | Key |
|---|---|
POST /v1/chat/completions | Ilaina |
POST /v1/messages | Ilaina |
POST /v1/responses | Ilaina |
POST /v1/tokenize | Ilaina |
POST /v1/messages/count_tokens | Ilaina |
GET /v1/models | Tsy ilaina |
Ny key-nao
- Ny key dia
sk-arahin'ny tarehintsoratra 43 avy amin'nyA–Z,a–z,0–9,-ary_: tarehintsoratra 46 ny totaliny. - Ny kaonty tsirairay dia manana key iray tsara. Miforona izy amin'ny fotoana voalohany sokafanao ny Keys & usage.
- Ny key dia manome fidirana feno amin'ny API ho an'ny kaonty-nao: endpoint rehetra, model rehetra ary ny balance manontolo.
- Tsy manana daty fahataperana ny key. Miasa izy mandra-pivadikao na mamafanao azy.
Fanovana sy famafana
Ovainao sy foanao ny key ao amin'ny pejy Keys & usage. Keys & usage
| Hetsika | Inona no mitranga |
|---|---|
| Ovay | Omena key vaovao ary tsy miasa intsony ny key taloha. Miasa avy hatrany ny key vaovao. |
| Foano | Tsy miasa intsony ny key ary tsy misy key vaovao omena. Ovay (rotate) mba hahazo key mandeha indray. |
- Samy mihatra avy hatrany izy roa: ny fangatahana manaraka amin'ny key taloha dia valiana
401. Raiso ho 60 segondra ny fetra ambony alohan'ny hanilihana ny key taloha na aiza na aiza. - Ny client rehetra an'ny kaonty dia mampiasa key mitovy, ka mihatra amin'izy rehetra ny fanovana (rotation). Apetraho ao amin'ny client-nao ny key vaovao avy hatrany aorian'ny fanovana.
- Ny balance, ny fampiasana ary ny flood protection dia an'ny kaonty, fa tsy an'ny key. Ny key vaovao dia manohy miaraka amin'ny balance mitovy sy isan'ny fangatahana mitovy amin'ny minitra ankehitriny.
Hadisoana
Ny tsy fahombiazan'ny fanamarinana rehetra dia manana status 401 ary karazana authentication_error. Ny hafatra no manavaka ny tranga.
| Status | Karazana | Hafatra | Rehefa |
|---|---|---|---|
401 | authentication_error | Missing authentication | Ny fangatahana dia tsy manana header Authorization: Bearer na header x-api-key manomboka amin'ny sk-. Izany koa no valiny amin'ny bearer amin'ny litera kely sy amin'ny sanda Authorization tsy misy Bearer. |
401 | authentication_error | Invalid API key | Tsy ny key ankehitriny an'ny kaonty ilay key: diso ny fanoratana, voafafa, na nosoloina tamin'ny fanovana (rotation). |
{
"error": {
"type": "authentication_error",
"message": "Invalid API key",
"code": "invalid_api_key",
"param": null
}
} {
"type": "error",
"error": {
"type": "authentication_error",
"message": "Invalid API key"
}
} - Amin'ny lalana rehetra afa-tsy
/v1/messagesdia misycode: "invalid_api_key"koa ao amin'ny objeterror, na dia tsy misy key aza, aryparam: null. - Ny key dia hamarinina alohan'ny hovakiana ny vatana. Ny fangatahana tsy misy key mety dia mahazo
401na dia tsy mety aza na lehibe loatra ny vatany. - Ny sanda
Authorization: Bearertsy manomboka amin'nysk-dia tsy raisina ho API key. Mahazo401izy miaraka amin'ny hafatra milaza fa tsy mety na lany daty ny token.
Browser sy CORS
- Ny API dia mamaly fangatahana browser cross-origin ho an'ny lisitry ny origin voafaritra ihany. Ny JavaScript ao amin'ny pejy avy amin'ny origin hafa dia tsy afaka mamaky valiny
/v1. - Antsoy ny API avy amin'ny server-nao ary avelao ny pejy-nao hiresaka amin'ny server-nao. Izany koa dia mitazona ny key tsy ho ao amin'ny source an'ny pejy.
- Tsy voakasik'izany ny kaody amin'ny lafiny server sy ny fitaovana command-line: ny browser ihany no mampihatra ity fitsipika ity.
- Ny fidirana ao amin'ny shannon-ai.com dia tsy manamarina ny fangatahana
/v1. Tsy vakiana ny cookies eo; ny key ihany no credential. - Ho an'ny origin avela, afaka mandefa
content-type,authorization,x-api-key,anthropic-version,anthropic-beta,openai-betaaryx-request-idny browser, ary afaka mamaky ny headerx-request-idamin'ny valiny.
Fiarovana ny key
- Tazony ao amin'ny server ny key. Aza apetraka ao amin'ny pejy web, app finday na repository ampahibemaso: izay mitazona azy dia afaka mandany ny balance-nao manontolo.
- Alaivo avy amin'ny environment variable na secret store ny key fa aza soratana ao anaty kaody.
- Raha mety nivoaka ny key, ovay ao amin'ny Keys & usage. Tsy miasa avy hatrany ny key taloha.
- Aorian'ny fivoahan'ny key, vakio ny lisitry ny fangatahana ao amin'ny Keys & usage. Aseho ao ny fangatahana rehetra nataon'ny key tao anatin'ny 30 andro farany.