Send a picture from a script and give it one address
Your script already draws the picture. Stillframe gives it one public address that never changes and always shows the last one you sent. It works for anything Stillframe cannot reach itself: a dashboard on your network, a camera behind a router, a chart drawn overnight.
Who it is for
- A script that draws a chart every night, or a sensor project with a plot
- A build pipeline that makes a status image
- Anyone with something on a private network or behind a login that they can picture themselves
The problem
The picture exists. It gets attached to an email or uploaded by hand to a shared folder, and old links show old pictures. You want one address that always shows the newest one.
Steps
- Get an API key and make a push feed. A push feed has no address of its own. You send it pictures. The answer has an
idand animage_url.curl -s -H "X-API-Key: $KEY" -H "Content-Type: application/json" \ -d '{"kind":"push","name":"Nightly chart","canvas":"native"}' \ https://stillframe.us/api/feeds - Send a picture. Put the file in the body of a
PUT. Use theidfrom the first answer in place of3. The picture must be a PNG or JPEG, and Stillframe reads what the file really is.curl -s -X PUT -H "X-API-Key: $KEY" --data-binary @chart.png \ https://stillframe.us/api/feeds/3/image - Put it on a schedule. Make that second command the last line of your script, or run it from cron or a scheduled task. How often you may send to one feed depends on your plan: one picture every 60 seconds on Starter, every 10 on Standard and every 10 on Pro.
What it costs
Pictures you send yourself are in every plan and count as feeds. Starter is $9 a month for 5 feeds, Standard is $19 for 20 and Pro is $39 for 50. See Plans and limits.
What it will not do
- Keep an archive. It keeps only your plan's most recent pictures per feed (see Plans and limits), which are not backed up.
- Pass on a picture's hidden details. Each picture is drawn again, so a phone's location or a camera's model is dropped.
- Take a picture bigger than 10 MB, or bigger than 50 million pixels.
Using the picture
On a page, a README or a wiki
Use the image address like any other image. The address never changes, so the page never has to.

For the whole API
Everything the dashboard does, the API does. Every route, with its inputs, outputs and errors, is in the API reference.