SightEngine alternative

A SightEngine alternative with the same workflow routes

openshield serves SightEngine's workflow endpoints with the same paths and fields. Change the base URL and the key, create your workflows, and map the category ids.

2,000 free checks a month. No card needed.

Request
curl -X POST \
  -F "media=@photo.jpg" \
  -F "workflow=default" \
  -F "api_user=ignored" \
  -F "api_secret=$OPENMOD_API_KEY" \
  "https://api.openshield.dev/1.0/check-workflow.json"
Answer, trimmedreject
{
  "summary": {
    "action": "reject",
    "reject_prob": 0.97,
    "reject_reason": [
      { "id": "nudity", "score": 0.97, "threshold": 0.8 }
    ],
    "review_reason": []
  }
}

The switch

What stays and what changes

Only the two workflow endpoints are served. Other SightEngine endpoints are not.

What stays the same

  • POST /1.0/check-workflow.json, with media or url, and workflow
  • POST /1.0/text/check-workflow.json, with text and workflow
  • The multipart form fields of both calls
  • The shape of the answer: summary.action, reject_prob, reject_reason and review_reason

What changes

  • The base URL, which becomes https://api.openshield.dev
  • api_secret, which holds an openshield API key. api_user is accepted and ignored
  • The workflows: create ones of the same name in the dashboard, or use default
  • The category ids, which are openmod's own: map the ids in reject_reason to your messages
  • The answer also carries request_id, workflow_version, scores and time_ms, which a client may ignore
  • No ref on these routes: use POST /v1/image and POST /v1/text to attach your own id

In three steps

From one provider to the other

  1. 01

    Point the client at the new base URL

    Keep your multipart calls. Send an openshield key as api_secret.

  2. 02

    Create the workflows you used

    Start from a template in the dashboard and set the thresholds for each category.

  3. 03

    Map the category ids

    Match on the ids in reject_reason, such as nudity or gore, and never on the English text. Map each id to the message you show your users.

On the other side

What you get with openshield

  • An engine you can read and run

    openmod is open source under the Apache-2.0 licence, and you can run it yourself. openshield is the hosted version.

  • Nothing stored

    Content is checked in memory and forgotten when the answer is sent. The journal keeps the decision, never the content.

    Privacy and data

  • Checks processed in the EU

    The checking server and the databases are in the European Union.

  • Your own image categories, in words

    Describe what to look for in a few short sentences, and set how strict it is. No model to train.

    Image moderation API

  • Clear limits and a free plan

    2,000 checks a month are free. Paid plans bill past the included checks by the started thousand, up to a cap you set, and the limits of each plan are in one table.

    Pricing

  • The full answer on every plan

    The decision, the reasons, and the score and threshold of each, on the free plan too.

    Responses and errors

SightEngine is a trademark of its owner. openshield is not affiliated with or endorsed by SightEngine.

Questions

Before you start

Do I need to change my code?
Only the base URL and the key, if you call the workflow endpoints with an HTTP client you control. If your client library does not let you change the base URL, call the two endpoints with a plain HTTP client.
Which SightEngine endpoints work?
The two workflow endpoints: the image check and the text check. Nothing else is served.
Do my SightEngine workflows carry over?
No. A workflow is named in your calls: create one of the same name in the dashboard, or use default, and set what is checked and how strictly.
Why do the category ids differ?
The categories are openmod's own, with stable ids such as nudity, gore and self_harm. The docs list the ones you are most likely to meet, and the dashboard lists them all.
Can I try it before I switch?
Yes. The free plan has 2,000 checks a month and every category, and no card is needed.

Start with 2,000 free checks

No card needed. Create a key and send your first request in five minutes.

Beta prices, in euros, excluding VAT