{
  "$schema": "https://workflows.dubspeak.com/schemas/narrated-presentation-capability.schema.json",
  "id": "narrated-presentation",
  "version": "1.0.0",
  "documentType": "custom capability document (not an official or standard format)",
  "dateModified": "2026-10-15",
  "url": "https://workflows.dubspeak.com/capabilities/narrated-presentation.json",
  "retrieval": {
    "canonicalUrl": "https://workflows.dubspeak.com/capabilities/narrated-presentation.json",
    "retrievedVia": "HTTPS GET",
    "date": "2026-10-15",
    "version": "1.0.0"
  },
  "title": "Slides plus script to a narrated presentation (PPTX and MP4)",
  "description": "Documentation of one owner-verified production workflow: a slide deck and a page-mapped script became a narrated PPTX and English and Chinese MP4 videos, with paid TTS and explicit human review. This is evidence for planning and decision support, not an executable service.",
  "status": {
    "documentation": "available",
    "discovery": "available",
    "jobExecutionApi": "not_implemented",
    "automaticOrdering": "not_implemented",
    "uploads": "not_implemented",
    "payment": "not_implemented",
    "automatedJobs": "not_accepted",
    "emailInquiry": "available"
  },
  "statusNotes": [
    "Documentation and discovery files are available.",
    "llms.txt, Markdown and JSON documents can be read.",
    "There is no job execution API.",
    "Automatic ordering is not implemented.",
    "Uploads are not implemented.",
    "Payment is not implemented.",
    "Automated jobs are not accepted.",
    "Email inquiry (version 1) is available: one JSON request per email to dubspeak+inquiry@mail.grokbot.com, reviewed by a human."
  ],
  "inputRequirements": [
    {
      "id": "deck",
      "required": true,
      "description": "A presentation deck (the demonstrated case used PPTX)."
    },
    {
      "id": "pageMappedScript",
      "required": true,
      "description": "A written narration script mapped to deck pages; pages without script stay silent."
    },
    {
      "id": "language",
      "required": true,
      "description": "Narration language(s). Demonstrated: English and Chinese only."
    },
    {
      "id": "targetDuration",
      "required": true,
      "description": "Target total duration. Demonstrated: 300 s only."
    },
    {
      "id": "permissions",
      "required": true,
      "description": "Rights to the deck, script and any embedded media, and consent for any voice used."
    },
    {
      "id": "mediaAndVoiceReview",
      "required": true,
      "description": "A human who reviews pronunciation, voice and embedded media and approves the result."
    }
  ],
  "outputs": [
    {
      "id": "narratedPptx",
      "format": "PPTX",
      "description": "Deck with per-slide narration audio and slide timings."
    },
    {
      "id": "mp4",
      "format": "MP4",
      "description": "Exported video, one per narration language."
    }
  ],
  "workflowSteps": [
    "deck_and_script",
    "page_mapping",
    "pronunciation_review",
    "per_slide_tts",
    "audio_and_timeline",
    "pptx_and_mp4",
    "exact_duration_checks_and_human_review"
  ],
  "inquiryFieldTypes": {
    "note": "Flexible field types for a human-reviewed inquiry draft. Accepting a field type is not a support guarantee.",
    "schema": "https://workflows.dubspeak.com/schemas/narrated-presentation-inquiry.schema.json",
    "example": "https://workflows.dubspeak.com/examples/narrated-presentation-inquiry.json",
    "fields": {
      "deck.pageCount": "integer or null",
      "deck.format": "string",
      "script.pageMapped": "boolean",
      "languages": "array of language tags",
      "targetDurationSeconds": "number or null",
      "permissions.*": "boolean or null",
      "humanReview.reviewerAvailable": "boolean or null",
      "notes": "string"
    }
  },
  "demonstratedScope": {
    "note": "Exactly what was demonstrated. No support guarantees for other page counts, durations or languages.",
    "projects": 1,
    "slides": 19,
    "narratedSlides": 17,
    "silentSlides": 2,
    "narratedSilentSource": "production_record",
    "videos": [
      {
        "language": "en",
        "container": "MP4",
        "videoCodec": "H.264",
        "audioCodec": "AAC",
        "width": 1920,
        "height": 1080,
        "fps": 30,
        "frames": 9000,
        "videoDurationSeconds": 300.0,
        "audioDurationSeconds": 300.0,
        "containerDurationSeconds": 300.0
      },
      {
        "language": "zh",
        "container": "MP4",
        "videoCodec": "H.264",
        "audioCodec": "AAC",
        "width": 1920,
        "height": 1080,
        "fps": 30,
        "frames": 9000,
        "videoDurationSeconds": 300.0,
        "audioDurationSeconds": 300.0,
        "containerDurationSeconds": 300.0
      }
    ],
    "videosSource": "fresh_local_file_audit"
  },
  "observedTools": [
    {
      "name": "ElevenLabs",
      "role": "English narration (paid text-to-speech)",
      "source": "production_record"
    },
    {
      "name": "Alibaba Cloud TTS",
      "role": "Chinese narration (paid text-to-speech)",
      "source": "production_record"
    },
    {
      "name": "Python",
      "role": "local scripting",
      "source": "production_record"
    },
    {
      "name": "FFmpeg",
      "role": "local audio/video assembly",
      "source": "production_record"
    },
    {
      "name": "Microsoft PowerPoint",
      "role": "local deck timing and export",
      "source": "production_record"
    }
  ],
  "humanReview": {
    "required": true,
    "performed": true,
    "paidTtsUsed": true,
    "multipleRevisions": true,
    "fullyAutomatic": false,
    "description": "Human review and multiple revisions were part of the production process (pronunciation fixes, a logo fix and timing QA, per production records)."
  },
  "evidence": {
    "evidenceDocument": "https://workflows.dubspeak.com/cases/slides-to-narrated-presentation/evidence.json",
    "caseHtml": "https://workflows.dubspeak.com/cases/slides-to-narrated-presentation/",
    "caseMarkdown": "https://workflows.dubspeak.com/cases/slides-to-narrated-presentation/index.md"
  },
  "sourceLimitations": [
    "Exactly one owner-verified project is documented. Nothing here guarantees support for other page counts, durations or languages.",
    "The raw slides, script, voice and output files are private and are not published.",
    "The metadata is a summary, not public reproducible proof. A third party cannot re-run or re-check it from this site.",
    "The fresh file audit was performed by the owner's local assistant on the owner's behalf; this website did not run the project.",
    "Production-record facts were not re-checked in the fresh audit.",
    "Hashes of the private files are not published. Any hash in a release manifest is a document integrity hash only and proves nothing about an outcome."
  ],
  "pricing": {
    "price": null,
    "currency": null,
    "note": "Unknown. Not free: paid TTS was used. Do not assume any price."
  },
  "sla": null,
  "capacity": null,
  "execution": {
    "available": false,
    "endpoint": null,
    "note": "No execution endpoint exists. Prepare a human-reviewed handoff instead."
  },
  "contact": {
    "method": "manual_inquiry",
    "channel": "X",
    "handle": "@huker2",
    "url": "https://x.com/huker2",
    "automatedSubmissionAccepted": false,
    "note": "Two human-reviewed channels: the machine-readable email inquiry (see emailInquiry) and manual contact via the public X account."
  },
  "emailInquiry": {
    "status": "available",
    "address": "dubspeak+inquiry@mail.grokbot.com",
    "recipientPlacement": "To",
    "visibilityLimit": "Put the address directly in To. Copies sent via Bcc, or where the address is not a visible To or Cc recipient, may be ignored, because only visible recipients are checked.",
    "subject": "[WorkflowShelf Inquiry v1]",
    "subjectMustMatchExactly": true,
    "body": "exactly one JSON object, nothing else",
    "maxBodyBytes": 16384,
    "bodySchema": "https://workflows.dubspeak.com/schemas/narrated-presentation-request.schema.json",
    "example": "https://workflows.dubspeak.com/examples/narrated-presentation-request.example.json",
    "attachmentsAccepted": false,
    "forbiddenContent": [
      "attachments",
      "private slides",
      "scripts",
      "voice recordings",
      "patient or clinical data",
      "any personal data of third parties"
    ],
    "replyPolicy": "Replies, if any, go only to the actual sender address of the message. Every reply is reviewed and approved by a human before it is sent; there are no automatic replies and no reply is guaranteed.",
    "requiresEmailSendingTool": true,
    "mailtoNote": "A mailto link only opens a mail client; it does not send anything. An agent needs its own email-sending tool, used with its principal's approval.",
    "processing": "A human reviews every valid inquiry. Nothing is executed, ordered or charged.",
    "guarantees": {
      "price": null,
      "sla": null,
      "turnaround": null,
      "execution": null
    },
    "version": "1"
  },
  "access": {
    "note": "Some automated clients or default User-Agents may receive a Cloudflare browser-signature block (error 1010) or HTTP 403. The site's security settings are not changed to work around this. If you are blocked, a human can ask manually via the public X account @huker2.",
    "observedOn": "2026-10-15",
    "observedVersion": "previously live deployment (read-only GET checks)",
    "observations": [
      {
        "client": "curl default User-Agent",
        "method": "GET",
        "result": "200 for /llms.txt, /capabilities/narrated-presentation.json, /index.md and /"
      },
      {
        "client": "descriptive agent User-Agent (WorkflowEvidenceChecker/0.1)",
        "method": "GET",
        "result": "200 for the same four paths"
      },
      {
        "client": "desktop browser User-Agent",
        "method": "GET",
        "result": "200 for the same four paths"
      },
      {
        "client": "Python default User-Agent (earlier owner check on 2026-10-15)",
        "method": "GET",
        "result": "Cloudflare error 1010"
      }
    ],
    "testsPerformed": "Only read-only GET requests and schema/document validation. No endpoint execution was tested; no execution endpoint exists.",
    "securitySettingsChanged": false,
    "contact": "https://x.com/huker2"
  },
  "unknowns": {
    "cost": null,
    "labor": null,
    "accuracy": null,
    "clientAcceptance": null,
    "conferenceAcceptance": null,
    "revenue": null,
    "speedup": null
  },
  "agentJourney": [
    "Discover: read /llms.txt",
    "Inspect the contract: inputs and outputs in the capability document",
    "Assess evidence and limits: evidence.json separates a fresh file audit, production records and unknowns",
    "Read the request schema: /schemas/narrated-presentation-request.schema.json",
    "Start from the example: /examples/narrated-presentation-request.example.json; set your own values and drop example: true",
    "Compose one JSON object: metadata only, no contact fields, at most 16384 bytes",
    "Send it with your own email-sending tool: with your principal's approval, to dubspeak+inquiry@mail.grokbot.com in the To field (not Bcc), subject exactly [WorkflowShelf Inquiry v1], no attachments",
    "Await a human-reviewed reply: any reply goes only to the sender address; no reply, price or turnaround is guaranteed"
  ]
}
