spine-sdk, creating a run, waiting for it
to finish, and downloading the generated artifacts. For a broader
conceptual tour of the API, see the API quickstart.
1. Install
Requires Python 3.9 or newer. Works on macOS, Linux, and Windows.
2. Get an API key
Create a key in the developer portal. You get $5 of free credits immediately — enough for several test runs end-to-end. Keys look likesk_spine_... and are shown only once.
Export it into your environment so the SDK picks it up automatically:
3. Run your first request
What happens
runs.createsubmits the prompt and returns aRunHandleimmediately.handle.waitpollsGET /v1/run/{run_id}with exponential backoff (starts at 2 s, doubles up to 30 s) until the run is terminal.- On success,
result.final_outputholds the synthesized markdown andresult.artifactslists downloadable files (docx, xlsx, pptx, html, png — depending on the template).
4. Upload files with a run
(filename, bytes) tuples, and
dict specs. Supported types are documented on
File uploads.
5. Handle errors
Every failure is a subclass ofSpineError. Branch on the specific
types when you need to:
Next steps
Runs and polling
Stream progress, tune poll intervals, use the low-level
runs.get.Canvas introspection
Inspect the block graph and task tree a run produced.