Diagrammerzeugung
Aus einer Datentabelle ein publikationsreifes Diagramm erzeugen
POST /api/v1/charts/generations akzeptiert multipart/form-data. Erforderlicher Scope:
charts:generate. Der Dienst liest Ihre Tabelle, wählt oder verwendet die angegebenen
Diagrammtypen und liefert eine fertige PNG-Abbildung. Streaming oder Zwischenzustände
werden nicht offengelegt; fragen Sie den Job wie jeden anderen ab.
Formularfelder
| Feld | Typ | Pflicht | Standard | Regeln |
|---|---|---|---|---|
data | file | ja | — | CSV, TSV, TXT, XLSX oder XLS; maximal 5 MB; erste Zeile muss eindeutige Spaltennamen enthalten |
prompt | string | nein | — | Was gezeigt oder hervorgehoben werden soll, bis zu 8.000 Zeichen |
chart_types | string | nein | automatisch | Kommagetrennt oder mehrfach; bis zu 4 der unten genannten Typen |
journal_style | string | nein | default | default, nature, science, cell, plos oder acs |
figure_width | string | nein | double | single (einspaltig) oder double (zweispaltig) |
color_palette | string | nein | okabe_ito | okabe_ito, wong, tol_bright oder tol_muted |
Dateien, die nicht geparst werden können, das Größenlimit überschreiten oder doppelte bzw. leere
Spaltennamen haben, liefern 400 INVALID_REQUEST (HTTP 413 bei zu großen Uploads).
Diagrammtypen
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.
Credits
Jeder Diagramm-Job kostet 10 Credits. Sie werden bei Annahme reserviert und nur bei Erfolg abgerechnet; fehlgeschlagene Jobs geben die Reservierung frei.
Ausgabe
result.files enthält genau ein PNG in Druckauflösung mit width und height.
Die Abbildungsgröße richtet sich nach Journalstil und Spaltenbreite, daher variiert die Pixelgröße.
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=Behandlungsgruppen vergleichen und Signifikanz markieren' \
-F 'chart_types=boxplot' \
-F 'journal_style=nature' \
-F 'figure_width=single'JavaScript
const form = new FormData();
form.set('data', file);
form.set('prompt', 'Behandlungsgruppen vergleichen und Signifikanz markieren');
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": "Behandlungsgruppen vergleichen und Signifikanz markieren", "chart_types": "boxplot"},
)Die hochgeladene Tabelle ist private Job-Eingabe und wird nie in Job- oder Log-Antworten zurückgegeben. Angenommene Quellen werden nach einem Endzustand entfernt.

API-Dokumentation