LogoLogoAPI-Dokumentation
LogoLogoAPI-Dokumentation
Startseite
ÜberblickAuthentifizierung und IdempotenzBildgenerierungBildbearbeitungBildkonvertierungDiagrammerzeugungJobs und begrenztes WartenCreditsFehlerRatenbegrenzung und ParallelitätAPI-Changelog
API-Dokumentation

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

FeldTypPflichtStandardRegeln
datafileja—CSV, TSV, TXT, XLSX oder XLS; maximal 5 MB; erste Zeile muss eindeutige Spaltennamen enthalten
promptstringnein—Was gezeigt oder hervorgehoben werden soll, bis zu 8.000 Zeichen
chart_typesstringneinautomatischKommagetrennt oder mehrfach; bis zu 4 der unten genannten Typen
journal_stylestringneindefaultdefault, nature, science, cell, plos oder acs
figure_widthstringneindoublesingle (einspaltig) oder double (zweispaltig)
color_palettestringneinokabe_itookabe_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

Bildkonvertierung

Bilder nach SVG, PPTX, PNG, PDF oder TIFF konvertieren

Jobs und begrenztes Warten

Asynchrone Arbeit abfragen und bereinigte Ergebnisse lesen

Inhaltsverzeichnis

Formularfelder
Diagrammtypen
Credits
Ausgabe
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.

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.