Sydney API
Документация по API
Введение
API предоставляет 4 конечные точки для различных функциональностей: `/v1/chat` для языковых моделей на основе чата, `/v1/prompt` для языковых моделей на основе запросов, `/v1/image` для работы с изображениями и `/v1/moderate`. Каждая конечная точка требует ключ API (`API_KEY`) для авторизации.
Конечная точка: /v1/chat
Эта конечная точка используется для языковых моделей на основе чата. Она принимает POST-запросы и требует следующие параметры:
- `model` (строка, обязательно): Модель, используемая для генерации ответов. Допустимые значения: 'gpt-3.5-turbo', 'gpt-4', 'claude-2-100k', 'claude-1.3-100k' и 'claude-instant-1-100k'.
- `messages` (массив, обязательно): Массив объектов сообщений, представляющих разговор. Каждый объект сообщения должен иметь `role` ('user', 'system' или 'assistant') и `content` (текст сообщения).
# Пример на питоне
import requests
API_KEY = ''API_KEY"
headers = {'Authorization': API_KEY}
data = {
'model': 'gpt-3.5-turbo',
'messages': [
{'role': 'user', 'content': 'Привет, как дела?'}
]
}
response = requests.post('https://не-твоё-дело.понос.орг.рус/v1/chat', headers=headers, json=data)
response.json()
// пример на nodejs
const axios = require('axios');
const API_KEY = 'ваш_api_ключ';
const headers = {
'Authorization': API_KEY
};
const data = {
model: 'gpt-3.5-turbo',
messages: [
{
role: 'user',
content: 'Привет, как дела?'
}
]
};
axios.post('https://не-твоё-дело.понос.орг.рус/v1/chat', data, { headers })
.then(response => {
console.log(response.data);
}).catch(error => {
console.error(error);
});
Конечная точка: `/v1/prompt`
Не использовать если не знаете что делаете, лучше используйте `/v1/chat`
Эта конечная точка используется для языковых моделей claude на основе запросов. Она принимает POST-запросы и требует следующие параметры:
- `model` (строка, обязательно): Модель, используемая для генерации ответов. Допустимые значения - все модели claude
- `prompt` (строка, обязательно): Входной запрос или запрос.
# Пример на питоне
import requests
API_KEY = 'ваш_api_ключ'
headers = {
'Authorization': API_KEY
}
data = {
'model': ''claude-2-100k",
'prompt': '\n\nHuman: Переведите следующий английский текст на французский: "Hello, how are you?\n\nAssistant: "'
}
response = requests.post('https://не-твоё-дело.понос.орг.рус/v1/prompt', headers=headers, json=data)
print(response.json())
// Пример запроса на жс
const axios = require('axios');
const API_KEY = 'ваш_api_ключ';
const headers = { 'Authorization': API_KEY };
const data = {
model: 'claude-2-100k',
prompt: '\n\nHuman: Переведите следующий английский текст на французский: "Hello, how are you?"\n\nAssistant: '
};
axios.post('https://не-твоё-дело.понос.орг.рус/v1/prompt', data, { headers })
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error(error);
});
Конечная точка: `/v1/image`
Эта конечная точка используется для работы с изображениями. Она принимает POST-запросы и требует следующие параметры:
- `model` (строка, обязательно): Модель, используемая для генерации изображения. Допустимые значения: 'sdxl' и 'kandisky'.
- `prompt` (строка, обязательно): Запрос или описание для генерации изображения.
- `ar` (строка, опционально): Соотношение сторон. Доступны - 16:9, 3:2, 1:1, 2:3, 9:16
- `negative` (строка, опционально): Негативный промпт, sdxl only
import requests
API_KEY = 'ваш_api_ключ'
headers = {'Authorization': API_KEY}
data = {
'model': 'sdxl',
'prompt': 'A cat at night, photorealistic, ultradetalized'
}
response = requests.post('https://не-твоё-дело.понос.орг.рус/v1/image', headers=headers, json=data)
print(response.json())
const axios = require('axios');
const API_KEY = 'ваш_api_ключ';
const headers = { 'Authorization': API_KEY };
const data = {
model: 'sdxl',
prompt: 'A cat at night, photorealistic '
};
axios.post('https://не-твоё-дело.понос.орг.рус/v1/image', data, { headers })
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error(error);
});
Конечная точка `/v1/moderate`
Эта конечная точка используется для модерации сообщения юзера. Она принимает POST-запросы и требует следующие параметры:
- `q`: сообщение пользователя
- `filters` (список, опционально): Что фильтровать, например ["nsfw","nsfl"]
import requests
headers = {'Authorization':'ddosxd-api-1jq4e9xbzu2ilgn'}
data = {'q':'Привет, как дела?','filters':['nsfw','политика']}
r = requests.post('https://не-твоё-дело.понос.орг.рус/v1/moderate',headers=headers, json=data)
r.json()
const axios = require('axios');
const headers = {
'Authorization':'ddosxd-api-1jq4e9xbzu2ilgn'
};
const data = {
q:'Привет, как дела?',
filters:['nsfw','политика']
};
axios.post('https://не-твоё-дело.понос.орг.рус/v1/moderate', {
headers,data
}) .then(res =>
console.log(res.data)
).catch(err =>
console.log(err)
);
Ответ
Ответы API могут быть успешными, возвращая URL сгенерированного изображения или ответы чата, либо сообщением об ошибке
Варианты ответов:
- 200 - Всё ок
- 429 - Вы отправляете слишком много запросов
- 401 - Неавторизован, проверьте ключ
- 403 - Вам сюда низя
- 500 - Сервер ерор, пишите @ddosxd
Если сообщение об ошибке, то текст сообщения находится в ключе "error"
Если фото, то ссылка находится в ключе "url"
Если ответ от чатбота то ключ "reply"
Рейт лимиты
gpt-4:
500 в день
2 в минуту
gpt-3.5-turbo:
2000 в день
10 в минуту
claude:
1500 в день
7 в минуту
sdxl:
1000 в день
3 в минуту
kandinsky:
10000 в день
20 в минуту
Получение ключа API
Для получения ключа API вы можете использовать команду `/key_get` с @SydneyAIbot в Telegram.
Также можете использовать "всеобщий" ключ
ddosxd-api-1jq4e9xbzu2ilgn
Пожалуйста, обратите внимание, что вышеупомянутая документация предоставляет обзор конечных точек API и их использования. Обязательно обращайтесь к официальной документации API для получения подробной информации и любых обновлений.
Upd:
api endpoint: https://не-твоё-дело.понос.орг.рус/ --> https://api.ddosxd.ru/
https://api.ddosxd.ru/v1/chat etc