LogoLogoДокументация API
LogoLogoДокументация API
Главная страница
ОбзорАутентификация и идемпотентностьГенерация изображенийРедактирование изображенийКонвертация изображенийПостроение графиковЗадачи и ограниченное ожиданиеКредитыОшибкиОграничения частоты и параллелизмаИстория изменений API
Документация API

Построение графиков

Построить график публикационного качества из таблицы данных

POST /api/v1/charts/generations принимает multipart/form-data. Требуемая область: charts:generate. Сервис читает таблицу, подбирает или применяет указанные типы графиков и возвращает готовое изображение PNG. Потоковая передача и промежуточные состояния не раскрываются; опрашивайте задачу как любую другую.

Поля формы

ПолеТипОбязательноПо умолчаниюПравила
datafileда—CSV, TSV, TXT, XLSX или XLS; не более 5 МБ; первая строка должна содержать уникальные имена столбцов
promptstringнет—Что показать или подчеркнуть, до 8 000 символов
chart_typesstringнетавтоматическиЧерез запятую или повторно; до 4 типов из списка ниже
journal_stylestringнетdefaultdefault, nature, science, cell, plos или acs
figure_widthstringнетdoublesingle (одна колонка) или double (две колонки)
color_palettestringнетokabe_itookabe_ito, wong, tol_bright или tol_muted

Файлы, которые не удаётся разобрать, превышают лимит размера или содержат повторяющиеся либо пустые имена столбцов, возвращают 400 INVALID_REQUEST (HTTP 413 для слишком больших загрузок).

Типы графиков

Конвертация изображений

Преобразование изображений в SVG, PPTX, PNG, PDF или TIFF

Задачи и ограниченное ожидание

Опрос асинхронной работы и чтение очищенных результатов

Оглавление

Поля формы
Типы графиков
Кредиты
Результат
cURL
JavaScript
Python

bar, line, scatter, boxplot, violin, histogram, heatmap, regression, errorbar, timeseries, volcano, kaplan_meier, forest, dot, radar, upset, dendrogram, qq, ogive, funnel, density, roc, sankey, stem_leaf, correlation, pca, manhattan, bland_altman, waterfall, dose_response, growth_curve, standard_curve, raincloud, beeswarm, ecdf, ma_plot, enrichment, enzyme_kinetics, calendar_heatmap, choropleth, stacked_area, ridgeline, bubble, hexbin, paired_dot, precision_recall, calibration_curve, confusion_matrix.

Кредиты

Каждая задача построения графика стоит 10 кредитов: они резервируются при приёме и списываются только при успехе; неудачные задачи освобождают резерв.

Результат

result.files содержит ровно один PNG в печатном разрешении с width и height. Размер рисунка зависит от стиля журнала и ширины колонки, поэтому размер в пикселях меняется от запроса к запросу.

cURL

curl https://sci-draw.com/api/v1/charts/generations \
  -H 'Authorization: Bearer sd_YOUR_KEY' \
  -H 'Idempotency-Key: study-12-figure-2' \
  -H 'Prefer: wait=30' \
  -F 'data=@results.csv;type=text/csv' \
  -F 'prompt=Сравнить группы лечения и отметить значимость' \
  -F 'chart_types=boxplot' \
  -F 'journal_style=nature' \
  -F 'figure_width=single'

JavaScript

const form = new FormData();
form.set('data', file);
form.set('prompt', 'Сравнить группы лечения и отметить значимость');
form.set('chart_types', 'boxplot');
const response = await fetch('https://sci-draw.com/api/v1/charts/generations', {
  method: 'POST',
  headers: { Authorization: `Bearer ${apiKey}`, 'Idempotency-Key': crypto.randomUUID() },
  body: form,
});

Python

with open("results.csv", "rb") as table:
    response = requests.post(
        "https://sci-draw.com/api/v1/charts/generations",
        headers={"Authorization": f"Bearer {api_key}", "Idempotency-Key": str(uuid.uuid4())},
        files={"data": ("results.csv", table, "text/csv")},
        data={"prompt": "Сравнить группы лечения и отметить значимость", "chart_types": "boxplot"},
    )

Загруженная таблица является приватным входом задачи и никогда не возвращается в ответах задач или журналов. Принятые источники удаляются после достижения конечного состояния.