Overview

Hay Festival 2025 - Vocalise Booth Scenario

This API documentation covers the integration between Vocalise and Numbers Protocol for the Hay Festival 2025 voice cloning experience:

  1. Participants visit the Vocalise booth and record their voice
  2. Vocalise AI generates videos using the participant's voice
  3. Participants can choose to download their AI-generated video through a QR code
  4. When downloaded, the video is processed through Numbers Protocol to:
    • Register the video with digital provenance
    • Add C2PA watermarking indicating AI generation
    • Provide download link to the participant
  5. If not downloaded, the video is automatically deleted

Process Flow

flowchart TD A(Participant records voice at Vocalise booth) --> B(AI generates videos) B --> C(Display QR code for video download) C --> D{Participant scans QR?} D -- Yes --> E(Call to Capture API to process video) D -- No --> F(Video deleted from Vocalise server) E --> G(Capture registration) G --> H[C2PA injection] H --> I(Provide download link to participant) I --> J[Optional: Share video to LinkedIn and tag Numbers Protocol & Vocalise]

Quick Start

To use the Vocalise API, you'll need:

API Endpoints

POST /api/v3/assets/

1. Register Asset

Register a video with Numbers Protocol for C2PA injection.

Parameters

Name Type Description Required
asset_file File The video file to be registered Required
image_file File Preview image for the video (e.g., thumbnail) Optional
headline String Title for the video file Optional
caption String Description for the video file Optional
digital_source_type String Set to "digitalUpload" for Vocalise videos Required
tag String Event-specific tag (e.g., "vocalise@hay2025") Optional
nit_commit_custom JSON AI generation and license metadata including:
  • generatedBy: Specify the AI model used to generate this content (e.g., "Midjourney", "DALL-E", or other AI models)
  • miningPreference: Control whether the data can be used for AI training:
    • "aiTrainingWithAuthorship": Allow data to be used for AI training while maintaining authorship
    • "notAllowed": Prevent data from being used in AI training
  • license: License used for the asset and document URL, for example: Creative Commons license
Optional
signed_metadata JSON File verification data including:
  • proof_hash: SHA-256 hash of the file
  • asset_mime_type: MIME type of the file
Required
meta JSON Additional metadata that stores version information and GPS coordinates:
  • proof: Object containing hash and MIME type
    • hash: SHA-256 hash of the file
    • mimeType: MIME type of the file
  • information: Array of metadata objects
    • provider: Source of the information
    • name: Key name of the metadata
    • value: Value of the metadata
Example:
{ "proof": { "hash": "SHA256_HASH_OF_FILE", "mimeType": "MIME type of the file" }, "information": [ { "provider": "Capture API", "name": "version", "value": "v3" }, { "provider": "InfoSnapshot", "name": "Current GPS Latitude", "value": "51.9580" }, { "provider": "InfoSnapshot", "name": "Current GPS Longitude", "value": "-3.2030" } ] }
Optional
POST /api/v3/assets/{ASSET_ID}/c2pa/

2. Download C2PA

Get the C2PA-injected version of your video.

Headers

Name Type Description Required
Authorization String Your Capture token in format: "token YOUR_CAPTURE_TOKEN" Required
Content-Type String Set to "application/json" Required

Path Parameters

Name Type Description Required
ASSET_ID String The ID received from asset registration Required
DELETE /api/v3/assets/{ASSET_ID}/

3. Delete Asset (Optional)

Remove an asset in Numbers database. If an asset is removed, all information stored on Numbers service will be deleted. However, the metadata register on Numbers blockchain will still exist.

Note: This API is an optional one. Since one asset can only be registered on Numbers once, if there is a test asset that has a need to be used multiple times, can use this API to delete the record on Numbers backend and registered again.

Headers

Name Type Description Required
Authorization String Your Capture token in format: "token YOUR_CAPTURE_TOKEN" Required

Path Parameters

Name Type Description Required
ASSET_ID String The ID of the asset to delete Required

Preliminary Experiment

API Processing Time Analysis

Based on preliminary testing, here are the observed processing times for different file sizes:

File Size Registration API C2PA Generation API
7M ~ 9M 15 - 25 seconds 6 - 8 seconds
~15M 17 - 36 seconds 8 - 17 seconds

Note: Processing times may vary depending on network conditions and server load. Please account for these processing times when implementing your integration workflow.

References

Authentication & Setup

API Documentation

Additional Resources