New: Nano Banana 2.1Try the model
API Stock

API Stock vs. WaveSpeedAI

Alternative zu WaveSpeedAI

API Stock als WaveSpeedAI-Alternative für Bilder und Videos mit einem Guthaben: Vergleichen Sie gemeinsame Bildmodelle und den Wechsel von Modell-Endpunkten zur Aufgaben-API.

API Stock und WaveSpeedAI im Vergleich

Wann Sie API Stock wählen sollten

Wählen Sie API Stock, wenn ein Medien-Endpunkt wichtiger ist als separate WaveSpeedAI-Modellrouten oder synchrone Optionen.

Wann sich WaveSpeedAI weiterhin lohnt

Bleiben Sie bei WaveSpeedAI, wenn Ihre Anwendung einen speziellen Endpunkt oder synchronen Ablauf benötigt. Prüfen Sie Modellverfügbarkeit und Eingaben vor dem Umstieg.

API-Dokumentation von WaveSpeedAI

Scrollen Sie horizontal, um alle Tabellenspalten zu lesen.

API-Wechsel: WaveSpeedAI zu API Stock
IntegrationsdetailWaveSpeedAIAPI Stock
AnfragePOST /api/v3/bytedance/seedream-v4.5POST /api/v1/generation/create
AuthentifizierungAuthorization: BearerAuthorization: Bearer
Modellkennungbytedance/seedream-v4.5seedream-4-5

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

Preisvergleich: WaveSpeedAI 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: WaveSpeedAI und API Stock
Seedream 4.52K · pro Bild · Text zu BildAPI Stock$0.036WaveSpeedAI$0.0410% günstiger
Nano Bananapro Bild · Text zu BildAPI Stock$0.015WaveSpeedAI$0.03860.5% 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

Seedream 4.5 · 2K

1.000 Bilder mit obiger Konfiguration

API Stock
$36
WaveSpeedAI
$40

Nano Banana

1.000 Bilder mit obiger Konfiguration

API Stock
$15
WaveSpeedAI
$38

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

Preise

Migration von WaveSpeedAI

Ersetzen Sie den /api/v3-Modell-Endpunkt durch /api/v1/generation/create und die öffentliche Modell-ID im JSON. Ordnen Sie size den dokumentierten Feldern size und resolution zu und passen Sie das Status-Polling 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.

WaveSpeedAI

bash
curl --fail-with-body 'https://api.wavespeed.ai/api/v3/bytedance/seedream-v4.5' \
-H "Authorization: Bearer $WAVESPEED_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"prompt": "A ceramic mug on a wooden table, soft morning light",
"size": "2048*2048"
}'

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": "seedream-4-5",
"prompt": "A ceramic mug on a wooden table, soft morning light",
"resolution": "2K",
"size": "1:1"
}'
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": "seedream-4-5",
"prompt": "A ceramic mug on a wooden table, soft morning light",
"resolution": "2K",
"size": "1:1"
}),
});
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 WaveSpeedAI?

Ersetzen Sie den /api/v3-Modell-Endpunkt durch /api/v1/generation/create und die öffentliche Modell-ID im JSON. Ordnen Sie size den dokumentierten Feldern size und resolution zu und passen Sie das Status-Polling an.

Ist API Stock immer günstiger als WaveSpeedAI?

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 WaveSpeedAI-Workflow übertragen?

Bleiben Sie bei WaveSpeedAI, wenn Ihre Anwendung einen speziellen Endpunkt oder synchronen Ablauf benötigt. Prüfen Sie Modellverfügbarkeit und Eingaben vor dem Umstieg.

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.