Become a founding member.

← All endpoints
API endpoint

Training video

16:9 training video with a presenter, step titles and captions

Get API key
A made-up presenter walks through how to report a phishing email, with numbered steps beside her.
What goes in
  • training_scriptThe script, word for word
  • presenterWho presents and where
What it costs
about 87 credits. Paid plan or paid credits.
Made with
GPT Image 2.5, Kling AI Avatar, ElevenLabs, Video Editor

The call

The call for this app, then the wait for the file. The sample above is a canvas run of the board this app was copied from, so this exact call did not make that file. Set WIREFLOW_API_KEY first. Plain HTTP, no SDK to install.

curl -X POST https://www.wireflow.ai/api/v1/apps/training-video/execute \
  -H "Authorization: Bearer $WIREFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "inputs": {
    "training_script": "Got an email that feels off? Here'\''s how to report it in three steps. Step one: don'\''t click any links or open attachments. Step two: press the Report Phishing button, or forward the email to the security team. Step three: delete it. Clicked something already? Call the IT help desk right away.",
    "presenter": "A friendly corporate trainer in her early 40s with shoulder-length dark brown hair, wearing a navy blazer over a plain white blouse, in a bright modern office meeting room."
  }
}'

# It returns an executionId right away. Poll until it finishes.
curl https://www.wireflow.ai/api/v1/apps/training-video/executions/EXECUTION_ID/poll \
  -H "Authorization: Bearer $WIREFLOW_API_KEY"

The key needs Full access or Run published apps (apps:execute).

Change this

Same endpoint, different values. Each one starts a run, and you wait for it the same way as the call above.

Change the lesson

Write it the way you would say it. Numbered steps become the titles beside the presenter.

curl -X POST https://www.wireflow.ai/api/v1/apps/training-video/execute \
  -H "Authorization: Bearer $WIREFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "inputs": {
    "training_script": "Before you lift anything heavy, do these three things. Step one: clear your path. Step two: bend your knees and keep your back straight. Step three: ask for help if it is over your limit.",
    "presenter": "A friendly corporate trainer in her early 40s with shoulder-length dark brown hair, wearing a navy blazer over a plain white blouse, in a bright modern office meeting room."
  }
}'

Change the presenter

Describe a made-up person and a room.

curl -X POST https://www.wireflow.ai/api/v1/apps/training-video/execute \
  -H "Authorization: Bearer $WIREFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "inputs": {
    "training_script": "Got an email that feels off? Here'\''s how to report it in three steps. Step one: don'\''t click any links or open attachments. Step two: press the Report Phishing button, or forward the email to the security team. Step three: delete it. Clicked something already? Call the IT help desk right away.",
    "presenter": "A warehouse safety lead in his 50s with a grey beard and a high-visibility vest, in a bright warehouse aisle."
  }
}'

Make it yours

Your copy of the board is private, and every step on it can change.

  1. Copy the board

    Use as a template puts a private copy in your account.

  2. Connect Claude

    Run this once. On the sign-in screen tick "Create, edit and delete workflows", or Claude can copy boards but not change them.

    Terminal
    claude mcp add --transport http wireflow https://www.wireflow.ai/api/mcp
    
  3. Change it by talking to Claude

    Ask for a different rule, voice, length or model setting. Claude edits the settings on each node. New nodes and wires you add on the canvas.

  4. Publish it as your own endpoint

    Use Publish on the board, or this call with a key that has workflows:write. Name your inputs in exposedInputs, or every input on the board is exposed. dailyCreditBudget 0 means only calls with a key can run it, so nobody spends your credits without one. Then call your own slug the same way as the call above.

    curl -X POST https://www.wireflow.ai/api/v1/workflows/WORKFLOW_ID/publish \
      -H "Authorization: Bearer $WIREFLOW_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
      "customSlug": "my-endpoint",
      "exposedInputs": ["training-script", "presenter"],
      "dailyCreditBudget": 0
    }'