

Руководство по 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/generate
Headers:
Authorization: Bearer sk-2slides-your-api-key-here
Content-Type: application/jsonRequest Body:
{
"userInput": "Содержимое вашей презентации здесь...",
"themeId": "theme-uuid-here",
"responseLanguage": "Auto"
}Параметры:
userInput(обязательный): Контент, для которого вы хотите создать слайдыthemeId(обязательный): ID темы для генерации слайдов. Это может быть:- Публичные темы из галереи шаблонов
- Ваши собственные загруженные темы (доступные через вашу учетную запись)
responseLanguage(опциональный): Язык для создаваемых слайдов. Используйте "Auto" для автоматического определенияmode(опциональный): Синхронный (sync) или асинхронный (async) вызов, "sync" по умолчанию
Доступные языки:
Auto- Автоматическое определение языка из ввода (по умолчанию)English- EnglishSimplified Chinese- 简体中文Traditional Chinese- 繁體中文Spanish- EspañolArabic- العربيةPortuguese- PortuguêsIndonesian- Bahasa IndonesiaJapanese- 日本語Russian- РусскийHindi- हिंदीFrench- FrançaisGerman- DeutschVietnamese- Tiếng ViệtTurkish- TürkçePolish- PolskiItalian- ItalianoKorean- 한국어
Ответ в режиме 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-this
Headers:
Authorization: Bearer sk-2slides-your-api-key-here
Content-Type: application/jsonRequest Body:
{
"userInput": "Содержимое вашей презентации здесь...",
"referenceImageUrl": "https://example.com/reference-image.jpg",
"responseLanguage": "Auto",
"aspectRatio": "16:9",
"resolution": "2K",
"page": 1
}Параметры:
userInput(обязательный): Контент, для которого вы хотите создать слайдыreferenceImageUrl(обязательный): URL референсного изображения для следования стилю дизайна. Поддерживает:- HTTP/HTTPS URL-адреса
- Base64 data URL (data:image/...)
responseLanguage(опциональный): Язык для создаваемых слайдов. Используйте "Auto" для автоматического определения (по умолчанию: "Auto")aspectRatio(опциональный): Соотношение сторон для слайдов. Формат: "ширина:высота" (по умолчанию: "16:9")resolution(опциональный): Разрешение изображений слайдов. Варианты: "1K", "2K", "4K" (по умолчанию: "2K")page(опциональный): Количество слайдов для генерации. Используйте 0 для автоопределения. Укажите число (>=1, макс: 100), чтобы принудительно создать такое количество слайдов. По умолчанию: 1.contentDetail(опциональный): Уровень детализации содержимого слайдов. Варианты: "concise" (краткий, фокус на ключевых словах) или "standard" (всеобъемлющий, детальный). По умолчанию: "concise".
Ответ:
{
"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
}
}Значения статуса:
success: Все слайды успешно созданы, PDF доступенpartial: Некоторые слайды не удалось создатьfailed: Не удалось создать все слайды
Примечание: Этот endpoint работает в синхронном режиме и дождется создания всех слайдов перед возвратом ответа.
4. Поиск тем (Fast PPT)
Поиск доступных тем слайдов (Fast PPT) по ключевому слову. Включает как публичные темы, так и ваши собственные загруженные темы.
Endpoint: GET /api/v1/themes/search
Headers:
Authorization: Bearer sk-2slides-your-api-key-hereПараметры запроса:
query(обязательный): Ключевое слово для поиска в названии темы, описании и тегахlimit(опциональный): Максимальное количество результатов (1-100, по умолчанию 20)
Пример запроса:
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 Requests с этими заголовками:
HTTP/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