DIAP/
Developer Documentation
Get API Key
REST APIBase URL: https://diap.me

Build with DIAP

Integrate machine-enforceable consent into your AI pipeline. Check visibility, request licenses, submit render receipts, embed cryptographic watermarks, and verify provenance — all through a single REST API.

Integration Flow

Step 1

Get API Key

Sign up as a studio, generate a key from your dashboard

Step 2

Check Visibility

Verify the talent has consented to platform discovery

Step 3

Request License

Request usage rights — talent approves or denies

Step 4

Log Render

Submit a receipt for each AI-generated output

Step 5

Watermark

Embed provenance into the output image pixels

Full Workflow Example

index.js
import fetch from 'node-fetch';

const DIAP_API_KEY = process.env.DIAP_API_KEY;
const BASE_URL = 'https://diap.me';

// 1. Check visibility
const visibility = await fetch(`${BASE_URL}/api/v1/visibility/check`, {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${DIAP_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    talent_diap_id: 'marcus_rivera_001',
    module_type: 'FACE_3D',
  }),
});

// 2. Request license
const license = await fetch(`${BASE_URL}/api/v1/license/request`, {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${DIAP_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    talent_diap_id: 'marcus_rivera_001',
    project: 'Glass City',
    rights: ['FACE_RENDER', 'VOICE_RENDER'],
    scope: 'Feature Film',
    duration_days: 365,
  }),
});
const { token_id } = await license.json();

// 3. Submit render receipt
const receipt = await fetch(`${BASE_URL}/api/v1/receipt/submit`, {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${DIAP_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    token_id,
    description: 'Scene 12 hero poster',
    output_type: 'poster',
    ai_modified: true,
    ai_mod_flags: ['age_progression'],
  }),
});

console.log('Provenance recorded:', await receipt.json());

Error Codes

CodeMeaning
400Bad Request
401Unauthorized
403Forbidden
404Not Found
409Conflict
429Rate Limited
500Server Error
DIAP Protocol — Developer Documentation