New: Nano Banana 2.1Try the model
API Stock

API Stock vs. PiAPI

Alternative zu PiAPI

Vergleichen Sie PiAPI und API Stock für Bildgenerierung, Guthaben und Ergebnisse. Die Tabelle zeigt Nano Banana und zwei Auflösungen von Nano Banana Pro.

API Stock und PiAPI im Vergleich

Wann Sie API Stock wählen sollten

Wählen Sie API Stock für unterstützte PiAPI-Modelle, wenn Sie Bearer-Authentifizierung und flache Eingaben statt model und task_type bevorzugen.

Wann sich PiAPI weiterhin lohnt

PiAPI bietet Aufgabentypen und Abläufe mit eigenen Konten ohne direkte Entsprechung hier. Prüfen Sie jede Aufgabe einzeln; ein gleicher Modellname garantiert keine vollständige Kompatibilität.

API-Dokumentation von PiAPI

Scrollen Sie horizontal, um alle Tabellenspalten zu lesen.

API-Wechsel: PiAPI zu API Stock
IntegrationsdetailPiAPIAPI Stock
AnfragePOST /api/v1/taskPOST /api/v1/generation/create
AuthentifizierungX-API-KeyAuthorization: Bearer
Modellkennungmodel: gemini / task_type: gemini-2.5-flash-imagenano-banana

Der Vergleich bezieht sich auf das folgende Beispielmodell, nicht auf sämtliche Endpunkte. Gleiche Modellnamen garantieren keine identischen Parameter, Moderationsregeln oder Ergebnisse.

Preisvergleich: PiAPI und API Stock

Ausgewählte gemeinsame Modelle mit gleichen Abrechnungseinheiten. Unsere Preise stammen aus dem aktuellen Katalog; die Anbieterpreise sind datierte Beobachtungen mit Quellenlinks.

Preisvergleich: PiAPI und API Stock
Nano Bananapro Bild · Text zu BildAPI Stock$0.015PiAPI$0.0350% günstiger
Nano Banana Pro1K · pro Bild · Text zu BildAPI Stock$0.04PiAPI$0.10561.9% günstiger
Nano Banana Pro4K · pro Bild · Text zu BildAPI Stock$0.05PiAPI$0.1872.2% günstiger

Ein Bild aus einem Textprompt, ohne Referenzbilder. Öffentliche Basistarife; Abos, Mengenrabatte, andere Auflösungen und Bearbeitungen können den Endpreis ändern.

Kosten einer Arbeitslast

Nano Banana

1.000 Bilder mit obiger Konfiguration

API Stock
$15
PiAPI
$30

Nano Banana Pro · 1K

1.000 Bilder mit obiger Konfiguration

API Stock
$40
PiAPI
$105

Beispielkosten aus den obigen Zeilen, ohne Mengenrabatte, Abos oder kostenpflichtige Extras. Keine Zusage gleicher Laufzeiten oder Ausgaben.

Preise

Migration von PiAPI

Ersetzen Sie X-API-Key durch Authorization: Bearer. Übertragen Sie model, task_type und input in eine öffentliche Modell-ID und dokumentierte Parameter. Ersetzen Sie task_id durch taskId und passen Sie Status- und Webhook-Verarbeitung an.

  1. 1

    Konto erstellen, Guthaben aufladen und API-Schlüssel erzeugen.

  2. 2

    POST /api/v1/generation/create mit öffentlicher Modell-ID und dokumentierten Parametern senden. Jede Aufgabe erzeugt eine Ausgabe.

  3. 3

    taskId auslesen. GET /api/v1/task/status/TASK_ID abfragen oder webhook beim Erstellen angeben.

PiAPI

bash
curl --fail-with-body 'https://api.piapi.ai/api/v1/task' \
-H "X-API-Key: $PIAPI_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "gemini",
"task_type": "gemini-2.5-flash-image",
"input": {
"prompt": "A ceramic mug on a wooden table, soft morning light",
"aspect_ratio": "1:1"
}
}'

API Stock

bash
curl --fail-with-body 'https://api.api-stock.com/api/v1/generation/create' \
-H "Authorization: Bearer $API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "nano-banana",
"prompt": "A ceramic mug on a wooden table, soft morning light"
}'
Vollständiges Beispiel: Aufgabe erstellen und Datei abrufen

Auf dem Server mit Node 22+ oder Bun und API_KEY ausführen. Das Beispiel erstellt eine kostenpflichtige Aufgabe und fragt sie ohne erneute Erstellung ab. Speichern Sie die Datei vor Ablauf ihrer URL.

javascript
import { writeFile } from "node:fs/promises";
const baseURL = "https://api.api-stock.com/api/v1";
const apiKey = process.env.API_KEY;
if (!apiKey) throw new Error("Set API_KEY on the server");
async function request(path, options = {}) {
const response = await fetch(baseURL + path, {
...options,
headers: {
Authorization: `Bearer ${apiKey}`,
"Content-Type": "application/json",
},
signal: AbortSignal.timeout(30_000),
});
if (!response.ok) throw new Error(await response.text());
return response.json();
}
const { taskId } = await request("/generation/create", {
method: "POST",
body: JSON.stringify({
"model": "nano-banana",
"prompt": "A ceramic mug on a wooden table, soft morning light"
}),
});
if (!taskId) throw new Error("Missing taskId");
const deadline = Date.now() + 10 * 60_000;
let fileUrl;
while (Date.now() < deadline) {
const { data } = await request(`/task/status/${encodeURIComponent(taskId)}`);
if (data.status === "finished") {
fileUrl = data.files?.[0]?.fileUrl;
if (!fileUrl) throw new Error("Task finished without a file");
break;
}
if (data.status === "failed" || data.status === "expired") {
throw new Error(data.errorMessage || data.status);
}
await new Promise((resolve) => setTimeout(resolve, 2000));
}
if (!fileUrl) throw new Error(`Still processing: save taskId ${taskId} and resume polling`);
const file = await fetch(fileUrl, { signal: AbortSignal.timeout(60_000) });
if (!file.ok) throw new Error(`Download failed: ${file.status}`);
const mime = file.headers.get("content-type")?.split(";")[0];
const extension = { "image/png": "png", "image/jpeg": "jpg", "image/webp": "webp" }[mime] || "bin";
await writeFile(`generated-image.${extension}`, new Uint8Array(await file.arrayBuffer()));

API-Schlüssel gehören auf den Server. Prüfen Sie vor dem Umstieg eine Anfrage mit Parametern, Statusverarbeitung und Ergebnis.

Häufige Fragen

Wie migriere ich von PiAPI?

Ersetzen Sie X-API-Key durch Authorization: Bearer. Übertragen Sie model, task_type und input in eine öffentliche Modell-ID und dokumentierte Parameter. Ersetzen Sie task_id durch taskId und passen Sie Status- und Webhook-Verarbeitung an.

Ist API Stock immer günstiger als PiAPI?

Nein. Vergleichen Sie Modell, Konfiguration und Abrechnungseinheit in der Tabelle. Preise können steigen oder fallen; prüfen Sie beide Kataloge vor dem Umstieg.

Lässt sich jeder PiAPI-Workflow übertragen?

PiAPI bietet Aufgabentypen und Abläufe mit eigenen Konten ohne direkte Entsprechung hier. Prüfen Sie jede Aufgabe einzeln; ein gleicher Modellname garantiert keine vollständige Kompatibilität.

Was passiert bei Fehlern oder offenen Anfragen?

Medienaufgaben werden gemäß den konfigurierten Routen wiederholt; ein Ersatzanbieter wird genutzt, falls verfügbar. Endgültig fehlgeschlagene Generierungen werden erstattet. Fragen Sie laufende Aufgaben ab, statt Duplikate zu erstellen. Eine abgelaufene Datei-URL ist kein Generierungsfehler.

Wie lade ich das Guthaben auf?

Verfügbare Zahlungsmethoden, Währungen und Mindestbeträge für Aufladungen werden vor der Zahlung in Ihrem Konto angezeigt. Es gibt kein Abo: Die Modellnutzung wird von Ihrem Prepaid-Guthaben abgebucht.

Erste Anfrage mit API Stock testen

Wählen Sie ein Modell, prüfen Sie Parameter und Preis und erstellen Sie einen API-Schlüssel. Testen Sie eine Anfrage vor dem Umstieg.