Verify video provenance
curl --request POST \
--url https://api.sigmora.org/v1/video/provenance/verify \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"manifest": {
"schema_version": "1.4",
"run_id": "run_8d20",
"canonical_hash": "7cf9f73729a02263c975a3fe92461e0779e6f88822b00a8ec64fb34ab8224455",
"steps": [
{
"index": 0,
"provider": "gemini",
"model": "gemini-omni-flash-preview",
"modality": "video",
"step_type": "generation"
}
]
}
}
'import requests
url = "https://api.sigmora.org/v1/video/provenance/verify"
payload = { "manifest": {
"schema_version": "1.4",
"run_id": "run_8d20",
"canonical_hash": "7cf9f73729a02263c975a3fe92461e0779e6f88822b00a8ec64fb34ab8224455",
"steps": [
{
"index": 0,
"provider": "gemini",
"model": "gemini-omni-flash-preview",
"modality": "video",
"step_type": "generation"
}
]
} }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
manifest: {
schema_version: '1.4',
run_id: 'run_8d20',
canonical_hash: '7cf9f73729a02263c975a3fe92461e0779e6f88822b00a8ec64fb34ab8224455',
steps: [
{
index: 0,
provider: 'gemini',
model: 'gemini-omni-flash-preview',
modality: 'video',
step_type: 'generation'
}
]
}
})
};
fetch('https://api.sigmora.org/v1/video/provenance/verify', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"verification": {
"ok": true,
"hashOk": true,
"unverifiedAssetIds": [
"<string>"
],
"invalidMetadataAssetIds": [
"<string>"
],
"canonicalHash": "<string>",
"schemaVersion": "<string>",
"runId": "<string>",
"parentRunId": "<string>",
"tenantId": "<string>",
"createdAt": "<string>",
"totalCostUsd": 123,
"steps": [
{
"index": 4503599627370495,
"provider": "<string>",
"model": "<string>",
"modelVersion": "<string>",
"prompt": "<string>",
"promptVisibility": "<string>",
"negativePrompt": "<string>",
"seed": 123,
"modality": "<string>",
"stepType": "<string>",
"status": "<string>",
"costUsd": 123,
"retries": 4503599627370495,
"error": "<string>",
"errorCode": "<string>",
"assetSha256": [
"<string>"
]
}
]
}
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}Verify video provenance
Verify an embedded Genblaze provenance manifest. Free verification of manifest JSON extracted locally from a PNG or MP4. The media itself must not be uploaded. Returns hash integrity separately from asset-digest completeness so an intact record is never mislabeled as forged.
POST
/
v1
/
video
/
provenance
/
verify
Verify video provenance
curl --request POST \
--url https://api.sigmora.org/v1/video/provenance/verify \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"manifest": {
"schema_version": "1.4",
"run_id": "run_8d20",
"canonical_hash": "7cf9f73729a02263c975a3fe92461e0779e6f88822b00a8ec64fb34ab8224455",
"steps": [
{
"index": 0,
"provider": "gemini",
"model": "gemini-omni-flash-preview",
"modality": "video",
"step_type": "generation"
}
]
}
}
'import requests
url = "https://api.sigmora.org/v1/video/provenance/verify"
payload = { "manifest": {
"schema_version": "1.4",
"run_id": "run_8d20",
"canonical_hash": "7cf9f73729a02263c975a3fe92461e0779e6f88822b00a8ec64fb34ab8224455",
"steps": [
{
"index": 0,
"provider": "gemini",
"model": "gemini-omni-flash-preview",
"modality": "video",
"step_type": "generation"
}
]
} }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
manifest: {
schema_version: '1.4',
run_id: 'run_8d20',
canonical_hash: '7cf9f73729a02263c975a3fe92461e0779e6f88822b00a8ec64fb34ab8224455',
steps: [
{
index: 0,
provider: 'gemini',
model: 'gemini-omni-flash-preview',
modality: 'video',
step_type: 'generation'
}
]
}
})
};
fetch('https://api.sigmora.org/v1/video/provenance/verify', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"verification": {
"ok": true,
"hashOk": true,
"unverifiedAssetIds": [
"<string>"
],
"invalidMetadataAssetIds": [
"<string>"
],
"canonicalHash": "<string>",
"schemaVersion": "<string>",
"runId": "<string>",
"parentRunId": "<string>",
"tenantId": "<string>",
"createdAt": "<string>",
"totalCostUsd": 123,
"steps": [
{
"index": 4503599627370495,
"provider": "<string>",
"model": "<string>",
"modelVersion": "<string>",
"prompt": "<string>",
"promptVisibility": "<string>",
"negativePrompt": "<string>",
"seed": 123,
"modality": "<string>",
"stepType": "<string>",
"status": "<string>",
"costUsd": 123,
"retries": 4503599627370495,
"error": "<string>",
"errorCode": "<string>",
"assetSha256": [
"<string>"
]
}
]
}
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}Authorizations
A workspace API key.
Body
application/json
Manifest JSON extracted locally from the media file; do not upload the media.
Show child attributes
Show child attributes