

Руководство по 2slides API - Полное руководство по AI-генерации презентаций
Добро пожаловать в полное руководство по 2slides API! Это руководство проведет вас через все, что нужно знать для интеграции AI-генерации презентаций в ваши приложения.
Обзор
2slides API позволяет программно генерировать профессиональные презентации с использованием AI. С поддержкой множества типов презентаций, включая временные шкалы, дорожные карты, интеллект-карты и многое другое, вы можете создавать потрясающие слайды из простого текстового ввода.
Ключевые возможности
- AI-генерация: Автоматическое создание профессиональных презентаций из текста
- Множество типов шаблонов: Поддержка временных шкал, дорожных карт, интеллект-карт, питч-деков, инфографики и многого другого
- Многоязычная поддержка: Генерация контента на нескольких языках
- Богатая библиотека шаблонов: Доступ к сотням профессионально разработанных шаблонов
- Пользовательские шаблоны: Загрузка и использование собственных шаблонов слайдов
- Поиск шаблонов: Поиск шаблонов по названию, ключевым словам и тегам
- Варианты загрузки: Получение презентаций в формате PowerPoint (.pptx)
- Отслеживание статуса в реальном времени: Мониторинг прогресса генерации через endpoints статуса заданий
Рекомендуемые типы презентаций

Все шаблоны презентаций доступны здесь: 2slides Templates. В частности, есть некоторые рекомендуемые типы презентаций, которые очень хорошо работают для конкретных целей и сценариев.
- Слайды с временной шкалой - Идеально подходят для временных графиков проектов и исторических событий
- Слайды дорожной карты - Идеальны для дорожных карт продуктов и планирования проектов
- Слайды интеллект-карт - Отлично подходят для построения концепций и структуры знаний
Начало работы
Базовый URL
Все API-запросы должны выполняться по адресу:
https://2slides.com
Требования
- Настройка аккаунта: Создайте учетную запись на 2slides.com
- API-ключ: Сгенерируйте API-ключ на странице управления API
- Кредиты: Убедитесь, что у вас достаточно кредитов для генерации слайдов (10 кредитов за страницу слайда)
Быстрый старт
- Получите свой API-ключ на странице управления API
- Найдите тему используя эндпоинт поиска тем, или просмотрите шаблоны, чтобы получить идентификатор темы слайда
- Сгенерируйте слайды с вашим контентом и выбранным идентификатором темы. Поддерживается как синхронный вызов с возвратом результирующих слайдов, так и асинхронный вызов с возвратом идентификатора задания. При использовании синхронного вызова следующие шаги 4 и 5 не требуются
- Проверяйте статус задания до завершения, будет предоставлен URL для скачивания сгенерированных слайдов
- Скачайте вашу презентацию используя предоставленный URL для скачивания
Аутентификация

Все API-эндпоинты требуют аутентификации с использованием API-ключа. Вы можете управлять своими API-ключами через интерфейс управления API.
Формат API-ключа
API-ключи имеют следующий формат:
sk-2slides-{64-символьная-шестнадцатеричная-строка}
Методы аутентификации
Заголовок Authorization
Authorization: Bearer sk-2slides-your-api-key-here
Управление API-ключами
- Максимальное количество ключей: Каждый пользователь может создать до 10 API-ключей
- Именование ключей: Давайте своим ключам описательные имена для легкой идентификации
- Безопасность: Храните свои API-ключи в безопасности и никогда не публикуйте их открыто
- Ротация: Регулярно обновляйте свои API-ключи для повышения безопасности
⚠️ Важное уведомление о безопасности: Платформа 2slides НЕ хранит ваши API-ключи в открытом виде по соображениям безопасности. После генерации вы должны немедленно скопировать и надежно сохранить свой API-ключ. Если вы потеряете свой API-ключ, вам потребуется сгенерировать новый, так как восстановить оригинальный невозможно.
API Endpoints
1. Генерация слайдов (Fast PPT)
Создание слайдов (Fast PPT) из текстового ввода с использованием определенной темы.
Endpoint:
POST /api/v1/slides/generateHeaders:
Authorization: Bearer sk-2slides-your-api-key-here Content-Type: application/json
Request Body:
{ "userInput": "Содержимое вашей презентации здесь...", "themeId": "theme-uuid-here", "responseLanguage": "Auto" }
Параметры:
- (обязательный): Контент, для которого вы хотите создать слайды
userInput - (обязательный): ID темы для генерации слайдов. Это может быть:
themeId- Публичные темы из галереи шаблонов
- Ваши собственные загруженные темы (доступные через вашу учетную запись)
- (опциональный): Язык для создаваемых слайдов. Используйте "Auto" для автоматического определения
responseLanguage - (опциональный): Синхронный (sync) или асинхронный (async) вызов, "sync" по умолчанию
mode
Доступные языки:
- - Автоматическое определение языка из ввода (по умолчанию)
Auto - - English
English - - 简体中文
Simplified Chinese - - 繁體中文
Traditional Chinese - - Español
Spanish - - العربية
Arabic - - Português
Portuguese - - Bahasa Indonesia
Indonesian - - 日本語
Japanese - - Русский
Russian - - हिंदी
Hindi - - Français
French - - Deutsch
German - - Tiếng Việt
Vietnamese - - Türkçe
Turkish - - Polski
Polish - - Italiano
Italian - - 한국어
Korean
Ответ в режиме async:
{ "success": true, "data": { "jobId": "job-uuid-here", "status": "processing", "message": "Генерация слайдов начата. Используйте jobId для проверки статуса.", "credits": { "current": 150, "required": 30 } } }
Ответ в режиме sync:
{ "success": true, "data": { "jobId": "1pFqIww3JjquQ1T3Ysmw1", "status": "success", "message": "Слайды успешно созданы", "downloadUrl": "https://presigned-url-here", "createdAt": 1760347015388, "updatedAt": 1760347048261, "duration": 32694, "slidePageCount": 9 } }
2. Проверка статуса задачи (Fast PPT)
Проверка статуса задачи генерации слайдов (Fast PPT) и получение результатов после завершения.
Endpoint:
GET /api/v1/jobs/{jobId}Headers:
Authorization: Bearer sk-2slides-your-api-key-here
Примеры ответов:
Обработка:
{ "success": true, "data": { "jobId": "job-uuid-here", "status": "processing", "message": "Генерация слайдов в процессе", "createdAt": 1703123456789, "updatedAt": 1703123460000 } }
Успешно:
{ "success": true, "data": { "jobId": "job-uuid-here", "status": "success", "message": "Слайды успешно созданы", "downloadUrl": "https://presigned-url-here", "createdAt": 1703123456789, "updatedAt": 1703123500000, "duration": 33211, "slidePageCount": 3 } }
Ошибка:
{ "success": true, "data": { "jobId": "job-uuid-here", "status": "failed", "message": "Не удалось создать слайды", "errorMessage": "Недостаточно кредитов для генерации", "createdAt": 1703123456789, "updatedAt": 1703123460000 } }
3. Создать слайды как эти (Nano Banana Pro)
Генерация слайдов (Nano Banana Pro) на основе референсного изображения. Этот endpoint использует синхронный режим и автоматически генерирует PDF после завершения всех слайдов.
Endpoint:
POST /api/v1/slides/create-like-thisHeaders:
Authorization: Bearer sk-2slides-your-api-key-here Content-Type: application/json
Request Body:
{ "userInput": "Содержимое вашей презентации здесь...", "referenceImageUrl": "https://example.com/reference-image.jpg", "responseLanguage": "Auto", "aspectRatio": "16:9", "resolution": "2K", "page": 1 }
Параметры:
- (обязательный): Контент, для которого вы хотите создать слайды
userInput - (обязательный): URL референсного изображения для следования стилю дизайна. Поддерживает:
referenceImageUrl- HTTP/HTTPS URL-адреса
- Base64 data URL (data:image/...)
- (опциональный): Язык для создаваемых слайдов. Используйте "Auto" для автоматического определения (по умолчанию: "Auto")
responseLanguage - (опциональный): Соотношение сторон для слайдов. Формат: "ширина:высота" (по умолчанию: "16:9")
aspectRatio - (опциональный): Разрешение изображений слайдов. Варианты: "1K", "2K", "4K" (по умолчанию: "2K")
resolution - (опциональный): Количество слайдов для генерации. Используйте 0 для автоопределения. Укажите число (>=1, макс: 100), чтобы принудительно создать такое количество слайдов. По умолчанию: 1.
page - (опциональный): Уровень детализации содержимого слайдов. Варианты: "concise" (краткий, фокус на ключевых словах) или "standard" (всеобъемлющий, детальный). По умолчанию: "concise".
contentDetail
Ответ:
{ "success": true, "data": { "jobId": "job-uuid-here", "status": "success", "message": "Успешно создано 5 слайдов", "downloadUrl": "https://presigned-url-to-pdf.pdf", "jobUrl": "https://2slides.com/workspace?jobId=job-uuid-here", "createdAt": 1703123456789, "updatedAt": 1703123500000, "slidePageCount": 5, "successCount": 5, "failedCount": 0 } }
Значения статуса:
- : Все слайды успешно созданы, PDF доступен
success - : Некоторые слайды не удалось создать
partial - : Не удалось создать все слайды
failed
Примечание: Этот endpoint работает в синхронном режиме и дождется создания всех слайдов перед возвратом ответа.
4. Поиск тем (Fast PPT)
Поиск доступных тем слайдов (Fast PPT) по ключевому слову. Включает как публичные темы, так и ваши собственные загруженные темы.
Endpoint:
GET /api/v1/themes/searchHeaders:
Authorization: Bearer sk-2slides-your-api-key-here
Параметры запроса:
- (обязательный): Ключевое слово для поиска в названии темы, описании и тегах
query - (опциональный): Максимальное количество результатов (1-100, по умолчанию 20)
limit
Пример запроса:
GET /api/v1/themes/search?query=timeline&limit=10
Ответ:
{ "success": true, "data": { "total": 25, "themes": [ { "id": "theme-uuid-1", "name": "Modern Timeline", "description": "Чистый и современный шаблон таймлайна для проектных презентаций", "tags": "timeline, modern, project, clean", "themeURL": "https://2slides.com/templates/st-1759917935785-nx0z6ae54" }, { "id": "theme-uuid-2", "name": "Business Roadmap", "description": "Профессиональный шаблон дорожной карты для бизнес-планирования", "tags": "roadmap, business, planning, professional", "themeURL": "https://2slides.com/templates/st-1755509077270-sftfm616s" } ] } }
Ограничение частоты запросов
API реализует ограничение частоты запросов для обеспечения справедливого использования и стабильности системы. Разные endpoints имеют разные лимиты:
| Endpoint | Временное окно | Макс. запросов | Описание |
|---|---|---|---|
/api/v1/slides/generate | 1 минута | 6 запросов | Основной endpoint генерации |
/api/v1/slides/create-like-this | 1 минута | 6 запросов | Создание слайдов из эталонного изображения |
/api/v1/jobs | 1 минута | 10 запросов | Проверка статуса задачи |
/api/v1/themes/search | 1 минута | 30 запросов | Поиск тем |
Заголовки ограничения частоты запросов
При превышении лимитов API возвращает ответ
429 Too Many RequestsHTTP/1.1 429 Too Many Requests X-RateLimit-Limit: 6 X-RateLimit-Remaining: 0 X-RateLimit-Reset: 1703123600 Retry-After: 45
Обработка ограничений частоты запросов
Вам необходимо тщательно обрабатывать лимиты частоты вызовов API, вот пример на Javascript.
async function makeApiRequest(url, options) { try { const response = await fetch(url, options); if (response.status === 429) { const retryAfter = response.headers.get('Retry-After'); console.log(`Превышен лимит запросов. Повторите попытку через ${retryAfter} секунд`); await new Promise(resolve => setTimeout(resolve, retryAfter * 1000)); return makeApiRequest(url, options); // Повторная попытка } return response; } catch (error) { console.error('Ошибка API-запроса:', error); throw error; } }
Система кредитов
2Slides использует систему кредитов для генерации слайдов. Каждая страница слайда стоит 10 кредитов.
Правила кредитов
- Новые пользователи: Получают 880 бесплатных кредитов при регистрации
- Стоимость: 10 кредитов за страницу слайда (Fast PPT), 100 кредитов за страницу 1K/2K Nano Banana Pro, 200 кредитов за страницу 4K Nano Banana Pro
- Минимум: Пользователям необходимо минимум 10 кредитов для начала генерации
- Списание: Кредиты списываются только после успешной генерации
- Возврат: Кредиты возвращаются при неудачной генерации
Проверка кредитов
Вы можете проверить баланс кредитов через панель управления аккаунтом или изучив информацию о кредитах в ответах API.
Покупка кредитов
Дополнительные кредиты можно приобрести через страницу тарифов различными способами оплаты.
Примеры
Полный пример рабочего процесса
Вот полный пример генерации слайдов с использованием API 2slides на Javascript и Python:
const API_KEY = 'sk-2slides-your-api-key-here'; const BASE_URL = 'https://2slides.com'; async function generateSlides() { try { // Шаг 1: Поиск темы const themeResponse = await fetch( `${BASE_URL}/api/v1/themes/search?query=timeline&limit=5`, { headers: { 'Authorization': `Bearer ${API_KEY}`, 'Content-Type': 'application/json' } } ); const themeData = await themeResponse.json(); const themeId = themeData.data.themes[0].id; // Шаг 2: Генерация слайдов const generateResponse = await fetch( `${BASE_URL}/api/v1/slides/generate`, { method: 'POST', headers: { 'Authorization': `Bearer ${API_KEY}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ userInput: "Create a timeline for our product development: Q1 - Research and planning, Q2 - MVP development, Q3 - Beta testing, Q4 - Public launch", themeId: themeId, responseLanguage: "English", mode: "async" }) } ); const generateData = await generateResponse.json(); const jobId = generateData.data.jobId; // Шаг 3: Опрос статуса выполнения let jobStatus; do { await new Promise(resolve => setTimeout(resolve, 2000)); // Ожидание 2 секунды const statusResponse = await fetch( `${BASE_URL}/api/v1/jobs/${jobId}`, { headers: { 'Authorization': `Bearer ${API_KEY}` } } ); jobStatus = await statusResponse.json(); console.log(`Статус: ${jobStatus.data.status}`); } while (jobStatus.data.status === 'processing' || jobStatus.data.status === 'pending'); // Шаг 4: Обработка результата if (jobStatus.data.status === 'success') { console.log('Слайды успешно сгенерированы!'); console.log('URL для скачивания:', jobStatus.data.downloadUrl); console.log('Количество сгенерированных страниц:', jobStatus.data.slidePageCount); // Скачивание файла const downloadResponse = await fetch(jobStatus.data.downloadUrl); const blob = await downloadResponse.blob(); // Создание ссылки для скачивания const url = window.URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url; a.download = 'presentation.pptx'; a.click(); window.URL.revokeObjectURL(url); } else { console.error('Ошибка генерации:', jobStatus.data.errorMessage); } } catch (error) { console.error('Ошибка:', error); } } // Запуск примера generateSlides();
Пример на Python
import requests import time import json API_KEY = 'sk-2slides-your-api-key-here' BASE_URL = 'https://2slides.com' def generate_slides(): headers = { 'Authorization': f'Bearer {API_KEY}', 'Content-Type': 'application/json' } try: # Шаг 1: Поиск темы theme_response = requests.get( f'{BASE_URL}/api/v1/themes/search', params={'query': 'roadmap', 'limit': 5}, headers=headers ) theme_data = theme_response.json() theme_id = theme_data['data']['themes'][0]['id'] # Шаг 2: Генерация слайдов generate_payload = { 'userInput': 'Create a product roadmap for our mobile app: Phase 1 - Core features, Phase 2 - Advanced features, Phase 3 - AI integration', 'themeId': theme_id, 'responseLanguage': 'English', 'mode': 'async' } generate_response = requests.post( f'{BASE_URL}/api/v1/slides/generate', headers=headers, json=generate_payload ) generate_data = generate_response.json() job_id = generate_data['data']['jobId'] # Шаг 3: Опрос статуса выполнения while True: time.sleep(2) # Ожидание 2 секунды status_response = requests.get( f'{BASE_URL}/api/v1/jobs/{job_id}', headers=headers ) status_data = status_response.json() status = status_data['data']['status'] print(f'Статус: {status}') if status in ['success', 'failed']: break # Шаг 4: Обработка результата if status == 'success': print('Слайды успешно сгенерированы!') print(f'URL для скачивания: {status_data["data"]["downloadUrl"]}') print(f'Количество сгенерированных страниц: {status_data["data"]["slidePageCount"]}') # Скачивание файла download_response = requests.get(status_data['data']['downloadUrl']) with open('presentation.pptx', 'wb') as f: f.write(download_response.content) print('Файл скачан как presentation.pptx') else: print(f'Ошибка генерации: {status_data["data"]["errorMessage"]}') except Exception as error: print(f'Ошибка: {error}') # Запуск примера generate_slides()
Примеры cURL
Поиск тем:
curl -X GET "https://2slides.com/api/v1/themes/search?query=timeline&limit=5" \ -H "Authorization: Bearer sk-2slides-your-api-key-here" \ -H "Content-Type: application/json"
Генерация слайдов:
curl -X POST "https://2slides.com/api/v1/slides/generate" \ -H "Authorization: Bearer sk-2slides-your-api-key-here" \ -H "Content-Type: application/json" \ -d '{ "userInput": "Create a timeline for our project milestones", "themeId": "theme-uuid-here", "responseLanguage": "English", "mode": "async" }'
Проверка статуса задачи:
curl -X GET "https://2slides.com/api/v1/jobs/job-uuid-here" \ -H "Authorization: Bearer sk-2slides-your-api-key-here"
Обработка ошибок
API использует стандартные HTTP коды состояния и возвращает детальную информацию об ошибках в формате JSON.
Распространенные ответы с ошибками
400 Bad Request:
{ "success": false, "error": "userInput is required and must be a non-empty string" }
401 Unauthorized:
{ "success": false, "error": "Authentication required" }
403 Forbidden:
{ "success": false, "error": "Access denied" }
404 Not Found:
{ "success": false, "error": "Theme not found" }
429 Too Many Requests:
{ "success": false, "error": "Rate limit exceeded" }
500 Internal Server Error:
{ "success": false, "error": "Internal server error" }
Лучшие практики обработки ошибок
async function handleApiRequest(url, options) { try { const response = await fetch(url, options); const data = await response.json(); if (!response.ok) { switch (response.status) { case 400: throw new Error(`Неверный запрос: ${data.error}`); case 401: throw new Error('Ошибка аутентификации. Пожалуйста, проверьте ваш API-ключ.'); case 403: throw new Error('Доступ запрещен. У вас может не быть прав для этого ресурса.'); case 404: throw new Error('Ресурс не найден.'); case 429: throw new Error('Превышен лимит запросов. Пожалуйста, повторите попытку позже.'); case 500: throw new Error('Ошибка сервера. Пожалуйста, повторите попытку позже.'); default: throw new Error(`Ошибка API: ${data.error || 'Неизвестная ошибка'}`); } } return data; } catch (error) { if (error.name === 'TypeError' && error.message.includes('fetch')) { throw new Error('Ошибка сети. Пожалуйста, проверьте ваше интернет-соединение.'); } throw error; } }
Лучшие практики
1. Безопасность API-ключей
- Никогда не раскрывайте API-ключи в клиентском коде или публичных репозиториях
- Используйте переменные окружения для безопасного хранения API-ключей
- Регулярно обновляйте ключи для повышения безопасности
- Отслеживайте использование ключей через панель управления API
- Храните ключи безопасно: Помните, что 2Slides не хранит ваши API-ключи, поэтому вы должны хранить их в безопасности
- Создавайте резервные копии ключей: Храните API-ключи в безопасном менеджере паролей или зашифрованном хранилище
2. Эффективное использование API
- Кэшируйте результаты поиска тем, чтобы избежать повторных запросов
- Реализуйте правильные интервалы опроса для проверки статуса задачи (2-5 секунд)
- Корректно обрабатывайте ограничения частоты запросов с экспоненциальной задержкой
- Группируйте операции когда возможно, чтобы сократить количество вызовов API
3. Обработка ошибок
- Всегда проверяйте коды статуса ответа
- Реализуйте логику повторных попыток для временных сбоев
- Логируйте ошибки должным образом для отладки
- Предоставляйте понятные сообщения об ошибках для пользователей
4. Оптимизация производительности
- Используйте подходящие интервалы опроса, чтобы избежать лишних запросов
- Реализуйте таймауты запросов, чтобы предотвратить зависание запросов
- Кэшируйте часто используемые данные, такие как информация о темах
- Отслеживайте использование кредитов, чтобы избежать неожиданных расходов
5. Рекомендации по контенту
- Предоставляйте четкие, структурированные данные для лучшей генерации слайдов
- Используйте подходящие темы для вашего типа контента
- Указывайте язык при необходимости для международного контента
- Делайте контент кратким для оптимального размещения на слайдах
Поддержка и ресурсы
Документация и ресурсы
- Документация API - Интерактивная документация API и песочница
- Галерея шаблонов - Просмотр доступных шаблонов слайдов
- Информация о ценах - Пакеты кредитов и цены
- Блог - Последние обновления и советы
Получение помощи
- Песочница API: Тестируйте ваши вызовы API прямо в браузере на 2slides.com/api
- Панель управления аккаунтом: Управляйте использованием кредитов на 2slides.com/account
- Поддержка: Свяжитесь со службой поддержки через главный сайт
Сообщество и обновления
- Обновления функций: Будьте в курсе новых функций и улучшений
- Библиотека шаблонов: Регулярное добавление новых профессиональных шаблонов
- Улучшения API: Постоянные улучшения производительности и функций API
Заключение
API 2Slides предоставляет мощный и гибкий способ программной генерации профессиональных презентаций. Благодаря обширному набору функций, надежной обработке ошибок и обширной библиотеке шаблонов вы можете интегрировать генерацию слайдов на базе AI в любое приложение или рабочий процесс.
Начните создавать потрясающие презентации уже сегодня с API 2Slides! Посетите 2slides.com/api, чтобы получить свой API-ключ и начать создавать.
About 2Slides
Create stunning AI-powered presentations in seconds. Transform your ideas into professional slides with 2slides AI Agent.
Try For Free