Skip to main content

async_openai/
content_provenance_checks.rs

1use crate::{
2    config::Config,
3    error::OpenAIError,
4    types::content_provenance_checks::{CreateContentProvenanceBody, ProvenanceResource},
5    Client, RequestOptions,
6};
7
8/// Check files for supported OpenAI provenance signals.
9pub struct ContentProvenanceChecks<'c, C: Config> {
10    client: &'c Client<C>,
11    pub(crate) request_options: RequestOptions,
12}
13
14impl<'c, C: Config> ContentProvenanceChecks<'c, C> {
15    pub fn new(client: &'c Client<C>) -> Self {
16        Self {
17            client,
18            request_options: RequestOptions::new(),
19        }
20    }
21
22    /// Check an image or audio file for supported OpenAI provenance signals.
23    /// [Learn more about content provenance](https://developers.openai.com/api/docs/guides/content-provenance).
24    pub async fn create(
25        &self,
26        request: CreateContentProvenanceBody,
27    ) -> Result<ProvenanceResource, OpenAIError> {
28        self.client
29            .post_form("/content_provenance_checks", request, &self.request_options)
30            .await
31    }
32}