Runway SDK needs Node 18 or Python 3.8; Sume SDK is Node 18, no deps
Runway lists Node 18+ and Python 3.8+. Sume's TypeScript SDK 0.2.0 runs on Node 18+, Bun, Deno or Workers, no runtime deps; no Python SDK is documented.

Runway publishes SDKs for Node 18+ and Python 3.8+. Sume documents one official client, @sume-com/sdk@0.2.0, for TypeScript runtimes with fetch and WebCrypto: Node 18+, Bun, Deno or Cloudflare Workers. It is MIT licensed and has no runtime dependencies. If you work in Python, the Sume docs describe the REST API at https://api.sume.com/v1 and do not list a Python package, so call it over HTTP.
Side by side
| Item | Runway | Sume |
|---|---|---|
| Languages | Node 18+, Python 3.8+ | TypeScript (Node 18+, Bun, Deno, Workers); REST for the rest |
| Runtime deps | Not stated in the text I read | None |
| Wait helper | waitForTaskOutput, 10 min default | waitForJob, 20 min default; waitForRun, subscribeFormatRun |
| Auth header | Not covered here | x-api-key only; sending Authorization as well returns 401 |
The auth rule that bites
The Sume client sends x-api-key only. The API accepts either x-api-key or Authorization: Bearer on its own, but rejects both at once with 401 unauthorized. If you wrap fetch with your own instrumentation, make sure the wrapper does not add an Authorization header from a gateway or session. Also keep the key on the server: a Sume API key spends credits, and there is no browser-safe variant.
Submit and wait in TypeScript
This is the docs pattern for a generation job: submit with mode: "async" and an idempotency key, then let waitForJob poll. It resolves with the job record from /v1/jobs/:id. Generated operations do not throw on API errors; they resolve with { data, error, response }, so check error yourself.
import { createSumeClient, generateVideoV1, waitForJob } from "@sume-com/sdk";
async function main() {
const client = createSumeClient({ apiKey: process.env.SUME_API_KEY! });
const { data: submitted, error } = await generateVideoV1({
client,
headers: { "idempotency-key": crypto.randomUUID() },
body: { prompt: "Slow push-in on a ceramic mug", mode: "async" },
});
if (error) throw new Error(JSON.stringify(error));
const job = await waitForJob(submitted!.data.request_id, {
client,
onStatus: (status) => console.log(status),
});
console.log(job.status, job.result.artifacts);
}
main();Choosing
- Python 3.8 service: use Runway's SDK for Runway and plain HTTP for Sume, following the status and webhook docs.
- Edge or serverless TypeScript: the Sume SDK's lack of runtime dependencies and Workers support is the relevant fact.
- Both vendors can change versions. Re-read the pages linked in sources before you pin a runtime.
What a no-dependency client changes
A package with no runtime dependencies has nothing to audit below it and nothing to bundle beyond its own code. The Sume docs say the client needs only fetch and WebCrypto, which is why the same package runs on Node 18+, Bun, Deno and Cloudflare Workers. It also ships verifyWebhook, so signature checks use the same WebCrypto surface.
If you are stuck on an older Node version, the requirement is the first thing to check, since Node 18 is the floor on both sides in the pages I read. Python 3.8 is a Runway-side figure only. For Sume from Python, follow the HTTP examples in the docs, and use the x-api-key header or Authorization: Bearer, never both.
Sources
Related posts
More in Comparisons
- Runway has two MCP servers, one for the dev portal; Sume has one URL
Runway documents a developer MCP at dev.runwayml.com/mcp and a separate generation MCP at mcp.runwayml.com. Sume has one hosted endpoint, mcp.sume.com/mcp.
- Runway WAN3 vs WAN3 Prime: Prime is 36 to 40% more; Sume lists one Wan
Runway prices WAN3 at 5, 10, 20 credits per second and WAN3 Prime at 6.8, 14, 28: 36% to 40% more. Sume lists one wan-3.0, at $0.0625, $0.125, $0.25.
- Seedance 2.5 takes 10 video references; Omni 1.1 limits them to 3 s
Seed lists up to 10 video clips per Seedance 2.5 pass. Google's Omni 1.1 Flash video references are up to 3 s. What that means for source clips on Sume.
- Seedance 2.5 vs MiniMax H3: both launched July 31, which to pin
Seedance 2.5 and MiniMax H3 launched the same day. Vendor limits side by side, plus the Sume ids and duration ranges for each.
Written by Sume