Полное руководство по использованию API Загрузчика
https://download.dreampartners.onlinetelegram_file_id и сохранения в кэш.
Если файл уже есть в кэше, возвращается информация из кэша без повторной загрузки.
POST https://download.dreampartners.online/download
| Parameter | Type | Required | Description |
|---|---|---|---|
| url | string | Yes | URL of the media to download |
{
"url": "https://youtube.com/watch?v=..."
}
{
"status": "success",
"cached": false,
"files": [
{
"path": "downloads/uuid/video.mp4",
"filename": "video.mp4",
"url": "https://download.dreampartners.online/files/...",
"size": 1024000,
"telegram_file_id": "BAACAgIAAxkBAAI...",
"bot_link": "https://t.me/bot_username?start=file_123",
"cache_id": 123,
"normalized_url": "https://youtube.com/watch?v=...",
"media_type": "video"
}
],
"task_id": "uuid",
"normalized_url": "https://youtube.com/watch?v=...",
"telegram_file_ids": ["BAACAgIAAxkBAAI..."],
"cache_id": 123
}
{
"status": "error",
"message": "Error description"
}
{
"url": "https://youtube.com/watch?v=..."
}
Content-Type: multipart/form-data
Field: file (binary)
{
"status": "success",
"text": "Transcribed text here..."
}
POST https://download.dreampartners.online/summary
{
"text": "Long text to summarize..."
}
{
"status": "success",
"summary": "1. Key point one\n2. Key point two..."
}
{
"status": "success",
"history": [
{
"id": "uuid",
"filename": "video.mp4",
"url": "https://...",
"size": 1024000,
"added_at": "2025-01-20T10:00:00"
}
]
}
{
"status": "success"
}
https://t.me/bot_username?start=file_{cache_id}
{
"file_id": "uuid-from-history"
}
{
"status": "success",
"bot_link": "https://t.me/bot_username?start=file_123",
"cache_id": 123,
"telegram_file_id": "BAACAgIAAxkBAAI...",
"message": "Используйте эту ссылку для открытия файла в боте"
}
file_id, затем сохраняется в базу данных.
При открытии ссылки бот покажет файл с опциями конвертации. Если файл уже загружен в Telegram, возвращается существующая ссылка без повторной загрузки.
{
"url": "https://youtube.com/watch?v=..."
}
{
"status": "success",
"file": {
"id": "uuid",
"filename": "video.mp4",
"url": "https://...",
"size": 1024000
},
"transcription": "Полный текст расшифровки...",
"summary": "1. Ключевой момент\n2. Второй момент..."
}
GET https://download.dreampartners.online/health
{
"status": "ok",
"service": "download-api"
}
| Код | Статус | Описание |
|---|---|---|
| 200 | OK | Сервис работает |
| 503 | Service Unavailable | Сервис временно недоступен |
// Базовый URL API
const API_BASE_URL = 'https://download.dreampartners.online';
// Download video
const response = await fetch(`${API_BASE_URL}/download`, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
url: 'https://youtube.com/watch?v=...'
})
});
const data = await response.json();
if (data.status === 'success') {
console.log('Files:', data.files);
console.log('Download URL:', data.files[0].url);
console.log('Telegram file_id:', data.files[0].telegram_file_id);
console.log('Bot link:', data.files[0].bot_link);
}
import requests
# Базовый URL API
API_BASE_URL = 'https://download.dreampartners.online'
# Download video
response = requests.post(
f'{API_BASE_URL}/download',
json={'url': 'https://youtube.com/watch?v=...'}
)
data = response.json()
if data['status'] == 'success':
print('Files:', data['files'])
print('Download URL:', data['files'][0]['url'])
print('Telegram file_id:', data['files'][0]['telegram_file_id'])
print('Bot link:', data['files'][0]['bot_link'])
print('Cache ID:', data.get('cache_id'))
print('Is carousel:', data.get('is_carousel', False))
# Пример запроса через cURL
curl -X POST https://download.dreampartners.online/download \
-H "Content-Type: application/json" \
-d '{"url": "https://youtube.com/watch?v=..."}'
# Проверка статуса API
curl https://download.dreampartners.online/health
Сервис автоматически кэширует все загруженные файлы:
telegram_file_idfile_idhttps://t.me/bot_username?start=file_{cache_id}, которая открывает файл в боте с опциями конвертации| Поле | Тип | Описание |
|---|---|---|
| telegram_file_id | string | ID файла в Telegram (получается автоматически при загрузке) |
| bot_link | string | Ссылка для открытия файла в боте: https://t.me/bot_username?start=file_{cache_id} |
| cache_id | integer | ID записи в кэше базы данных |
| normalized_url | string | Нормализованный URL (используется для проверки кэша) |
| media_type | string | Тип медиа: video, audio, photo, document |
| cached | boolean | true если файл взят из кэша, false если загружен заново |
telegram_file_id при загрузке.
Это позволяет использовать файлы в Telegram боте без повторной загрузки.
Кэш работает на основе нормализованных URL, поэтому ссылки с разными параметрами (например, ?t=10) считаются одинаковыми.