diff --git a/src/providers/antrophic/api.ts b/src/providers/antrophic/api.ts new file mode 100644 index 0000000..6f9cab1 --- /dev/null +++ b/src/providers/antrophic/api.ts @@ -0,0 +1,33 @@ +export interface AntrophicFetchPayload { + apiKey: string + baseUrl: string + body: Record + signal?: AbortSignal +} + +export const fetchChatCompletion = async(payload: AntrophicFetchPayload) => { + const initOptions = { + headers: { + 'anthropic-version':'2023-06-01', + 'Content-Type': 'application/json', + 'x-api-key': ${payload.apiKey}`, + }, + method: 'POST', + body: JSON.stringify(payload.body), + signal: payload.signal, + } + return fetch(`${payload.baseUrl}/v1/messages`, initOptions) +} + +export const fetchImageGeneration = async(payload: AntrophicFetchPayload) => { + const initOptions = { + headers: { + 'Content-Type': 'application/json', + 'Authorization': `Bearer ${payload.apiKey}`, + }, + method: 'POST', + body: JSON.stringify(payload.body), + signal: payload.signal, + } + return fetch(`${payload.baseUrl}/v1/images/generations`, initOptions) +}