Class: SafetyKit::Resources::Content

Inherits:
Object
  • Object
show all
Defined in:
lib/safety_kit/resources/content.rb,
sig/safety_kit/resources/content.rbs

Overview

Classify user-authored text and images synchronously and receive a decision in the response.

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ Content

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of Content.

Parameters:



51
52
53
# File 'lib/safety_kit/resources/content.rb', line 51

def initialize(client:)
  @client = client
end

Instance Method Details

#create(user_id:, content_id: nil, images: nil, metadata: nil, text: nil, request_options: {}) ⇒ SafetyKit::Models::ContentCreateResponse

Some parameter documentations has been truncated, see Models::ContentCreateParams for more details.

Classify a piece of content synchronously. Send user-authored text, images, or both, and receive per-policy results in the response. Requests have a maximum size of 6MB.

Errors: 400 for an invalid body or images, with the failing field in the message. 401 for a missing or invalid API key. 413 for requests over 6MB. 503 when classification is temporarily unavailable, in which case the request was not processed and is safe to retry.

Parameters:

  • user_id (String)

    Your stable identifier for the user this content belongs to.

  • content_id (String)

    Your content identifier.

  • images (Array<String>)

    Images to classify, each as base64-encoded image bytes, raw or as a data URI. At

  • metadata (Hash{Symbol=>Object, nil})

    Additional product context for this content. At most 8KB when serialized.

  • text (String)

    User-authored text to classify.

  • request_options (SafetyKit::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



37
38
39
40
41
42
43
44
45
46
# File 'lib/safety_kit/resources/content.rb', line 37

def create(params)
  parsed, options = SafetyKit::ContentCreateParams.dump_request(params)
  @client.request(
    method: :post,
    path: "v1/content",
    body: parsed,
    model: SafetyKit::Models::ContentCreateResponse,
    options: options
  )
end