The official JavaScript SDK, the server-side proxy, and the embeddable Studio. Plus codegen recipes for other languages.
Runflow ships an official JavaScript surface as runflow-js. Three packages, one for each integration shape. For other languages, generate a client from the public OpenAPI spec.
Browsing without a key.GET /v1/public/models is an unauthenticated endpoint that returns the same model catalog the docs render from. Useful for client-side model pickers, IDE plugins, and discovery flows that should not ship an API key. Run dispatch + everything else still requires Authorization: Bearer $RUNFLOW_API_KEY.
These packages are pre-1.0 (0.0.x). Patch releases may change types or runtime behavior. Pin exact versions in production until 1.0.
import { Runflow } from "@runflow-io/sdk";const rf = new Runflow({ apiKey: process.env.RUNFLOW_API_KEY });const dispatched = await rf.models.run("runflow/background-removal", { input: { image_url: "https://example.com/photo.jpg" },});// dispatched.id is the run id; same shape as the REST response.const final = await rf.runs.wait(dispatched.id);console.log(final.output);