Przejdź do treści głównej

Oficjalne SDK

Oficjalne SDK dla pięciu języków

Zainstaluj jeden pakiet i wywołuj modele obrazu, wideo i dźwięku z własnego serwera. SDK zajmuje się uwierzytelnianiem i oczekiwaniem na wyniki, a Ty piszesz tylko żądanie i odczytujesz odpowiedź.

Co SDK robi za Ciebie

Piszesz jedno wywołanie funkcji. SDK podpisuje żądanie, wysyła Twoje pliki, czeka na wynik i oddaje go jako typowane dane.

  1. Twój kodJedno wywołanie funkcji
  2. Oficjalne SDKPodpisuje żądania, wysyła pliki, czeka na wyniki
  3. Modele obrazu, wideo i dźwiękuTe same modele i ceny co na stronie
Bez SDK wysyłasz te same żądania sam przez HTTPS. SDK tylko oszczędza Ci powtarzalnego kodu.

Do czego się nadaje

  • Usługi backendoweGeneruj media wewnątrz własnego API lub kolejki zadań.
  • Skrypty i zadania wsadoweTwórz wiele zadań z arkusza lub z zaplanowanego zadania.
  • Aplikacje z serweremTrzymaj klucz na serwerze i wysyłaj gotowe pliki użytkownikom.

Start w trzech krokach

  1. Krok 1

    Utwórz klucz API

    Wygeneruj go w konsoli i zapisz na serwerze jako SPICY_API_KEY.

  2. Krok 2

    Zainstaluj pakiet

    Wybierz poniżej swój język i uruchom komendę instalacji.

  3. Krok 3

    Utwórz zadanie, odczytaj wynik

    Wyślij prompt, poczekaj na zadanie, a potem zapisz zwrócony plik.

Wybierz swój język

Każde SDK jest publikowane w głównym rejestrze danego języka i korzysta z tego samego API. Przełączaj karty, aby zobaczyć komendę instalacji i pełne żądanie.

TypeScript

@spicyapi/sdk

Wymaga: Node.js 22.13+

Twój serwer tworzy zadania i przechowuje wyniki. Instalacja, eksport klucza, uruchomienie.

Instalacja · bash
npm install @spicyapi/sdk
export SPICY_API_KEY="injected from your secret manager"
Utwórz zadanie i odczytaj wynik · ts
import { randomUUID } from "node:crypto";
import { SpicyClient } from "@spicyapi/sdk";

const client = new SpicyClient();
const model = await client.getModel("MODEL_ID_FROM_CATALOG");
const task = await client.run(
  { model: model.model, input: { prompt: "A cinematic night portrait" } },
  { idempotencyKey: randomUUID() },
);
console.log(task.state, task.output?.assets?.[0]?.url);

Co dzieje się po wysłaniu

Generowanie obrazu i wideo trwa dalej, gdy wywołanie tworzące już zwróci odpowiedź. Zapisz ID zadania, a o zakończeniu poinformuje Cię webhook albo sprawdzenie statusu z limitem czasu.

  1. createTaskWyślij żądanie z kluczem idempotentności, aby dane generowanie zostało przyjęte tylko raz.
  2. taskIdOdpowiedź wraca natychmiast, a zadanie pracuje dalej.
  3. Webhook / recordInfoW pierwszej kolejności podpisany webhook; ograniczone odpytywanie służy do odzyskiwania wyników.
  4. output.assetsGotowe do użycia adresy. Zachowaj własną kopię wszystkiego, co ma znaczenie.

Wywołania z przeglądarki lub aplikacji mobilnej

Klucz zapisany w aplikacji klienckiej jest dostępny dla użytkowników. Trzymaj go na serwerze: @spicyapi/proxy dodaje go do żądań z frontendu, dzięki czemu aplikacja go nie widzi.

  • Klucz w aplikacjiKażdy może go odczytać i wydać Twoje saldo.
    1. Aplikacja z kluczem w środku
    2. SpicyAPI
  • Klucz na Twoim serwerzeAplikacja łączy się z Twoim serwerem, a proxy dodaje klucz.
    1. Przeglądarka lub telefon
    2. Twój serwer + proxy
    3. SpicyAPI
@spicyapi/proxy
npm install @spicyapi/proxy
next.js
// app/api/spicy/proxy/route.ts
export { GET, POST } from "@spicyapi/proxy/nextjs";
export const runtime = "nodejs";

Zanim ruszysz na produkcję

  • 01Sprawdź, czy model jest w tej chwili dostępny.
  • 02Zweryfikuj dokładne pola pokazane na jego stronie modelu.
  • 03Trzymaj klucz API wyłącznie na serwerze.
  • 04Pokaż szacowany koszt przed wysłaniem.
  • 05Zapisuj taskId poza sesją przeglądarki.
  • 06Weryfikuj podpisy webhooków albo ograniczaj odpytywanie statusu.
  • 07Traktuj przyjęte zadanie jako ostateczne i nieodwołalne.

Typowe błędy i poprawki

Pierwsze problemy zwykle sprowadzają się do tych trzech sytuacji. Każda karta opisuje objaw i jedną zmianę, która go rozwiązuje.

  • 401

    Nieprawidłowy klucz API

    API nie otrzymało klucza lub otrzymało nieprawidłowy klucz. Ustaw SPICY_API_KEY w środowisku, w którym działa Twój kod.

  • czekaj

    Zadanie nadal trwa

    Generowanie wideo może trwać kilka minut. Poczekaj z określonym limitem czasu lub użyj webhooka. Ponowne wysłanie bez tego samego Idempotency-Key tworzy drugie płatne zadanie.

  • link

    Link do wyniku wygasł

    Linki do pobrania są krótkotrwałe. Poproś o nowy link do zadania zamiast zapisywać stary.

Najczęstsze pytania