Category: Tutorials

  • How to Use Nomad Pipeline Audio to Draft

    How to Use Nomad Pipeline Audio to Draft

    Ever found yourself perched on a windy mountain peak with an incredible story bursting out of your chest, or standing on a chaotic street corner in the middle of a breaking news story, only to realize… you don’t have a laptop or the patience to type thousands of words on a tiny phone keyboard?

    Enter Nomad Pipeline Audio to Draft—the WordPress plugin designed to turn your spoken voice notes into clean, well-structured, publication-ready draft posts directly in the Gutenberg Block Editor.

    Whether you’re on the trail, commuting, or capturing rapid thoughts between meetings, this guide will get you set up and dictating like a pro in minutes!

    Who Is This For? (Use Cases)

    You don’t need a degree in computer science to use Nomad Pipeline Audio to Draft. It’s built for content creators, storytellers, and busy folks who think out loud:

    • 🥾 Hikers & Outdoor Enthusiasts: Record audio logs, waypoint descriptions, or gear thoughts while navigating trails without dropping your trek poles to type.
    • ✈️ Travel Bloggers & Digital Nomads: Speak your city guides, restaurant reviews, and travel observations while walking through bustling markets or relaxing on long bus rides.
    • 📰 Field & Mobile Journalists: Dictate raw observations, field reports, or interview summaries on location and instantly turn them into structured drafts.
    • 🚗 Commuters & On-the-Go Creators: Turn idle driving time or walking sessions into productive brainstorming and post-drafting time.
    • ✍️ Bloggers & Content Writers with Writer’s Block: Banish “blank cursor syndrome” by simply talking out your ideas—the plugin converts spoken rambling into organized heading and paragraph blocks!

    Under the Hood: Native WordPress 7.0 AI Power

    Nomad Pipeline Audio to Draft takes full advantage of WordPress 7.0 core features:

    1. WordPress Client AI: The plugin leverages native AI Connectors built into WordPress 7.0. This means processing is handled safely through your configured WordPress AI providers without cluttering your setup with third-party tracking scripts or bloat.
    2. Abilities API: The plugin registers a native WordPress Ability:
      • Ability Name:
        nomad-pipeline-audio-to-draft/audio-to-post
      • Endpoint:
        /wp-json/wp-abilities/v1/abilities/nomad-pipeline-audio-to-draft/audio-to-post/run

    Pro Tip for Developers & Automation Geeks: Because it registers a standard Ability via the Abilities API, you can trigger this pipeline from external automation tools (like iOS Shortcuts, Zapier, Make, custom scripts, or mobile audio upload workflows) to create WordPress drafts remotely!

    Step-by-Step Guide: Installation to First Published Post

    Step 1: Requirements Check

    Before diving in, make sure your environment is ready:

    • WordPress 7.0+
    • PHP 8.0+
    • At least one active WordPress AI Connector configured on your site.

    Step 2: Plugin Installation

    1. Go to your WordPress Dashboard and navigate to Plugins > Add New.
    2. Search for Nomad Pipeline Audio to Draft (or upload the .zip file if installing manually).
    3. Click Install Now, then click Activate.

    Configuring Global Settings

    Once activated, establish your default editorial preferences so you don’t have to re-enter them every time.

    Nomad Pipeline Audio to Draft settings
    1. Navigate to Settings > Nomad Pipeline Audio to Draft in your admin sidebar.
    2. Configure your global defaults:
      • Default Language: Select your site’s main language (e.g., English US, Italian, Spanish, etc.).
      • Default Tone: Choose the default voice style (Professional, Neutral, or Conversational).
      • Default Target Length: Set your standard post depth (Short, Medium, or Long).
      • Proper Noun Hints: Enter frequently mentioned terms, brand names, technical jargon, or local place names (e.g., WordPress, Gutenberg, Sydney, Ténéré 700) separated by commas. This gives the AI exact spelling guidance for tricky names!
      • Insertion Mode: Select Append (adds generated blocks below existing content) or Replace (swaps out current content). Append is recommended to keep existing notes safe.
    3. Click Save Changes.

    Creating a Post from Audio in the Gutenberg Editor

    Now for the magic! Here is how to create a draft in real time using a voice recording:

    1. Open the Block Editor

    Create a New Post (or open an existing draft) in WordPress.

    2. Open the Nomad Pipeline Sidebar

    In the top right corner of the editor, click the Audio Converter icon (or find it in the Plugin Sidebar panel) to open the control panel.

    Nomad Pipeline Audio to Draft sidebar

    3. Select Your Audio File

    Click Select Audio from Media Library. You can pick an existing file or upload a fresh recording straight from your phone or voice recorder app.

    • Supported Audio Formats: MP3, OGG, WAV, M4A, AAC, FLAC.
    Select audio source from the Media Library

    4. Adjust Per-Post Settings (Optional)

    Override your global settings for this specific article if needed:

    • Target Language
    • Tone & Target Length
    • Specific Proper Noun Hints (e.g., unique names relevant only to this post)
    • Insert Mode (Append vs. Replace)
    Editorial options

    5. Hit Generate!

    Click Generate Draft from Audio. Sit back for a few seconds while the plugin processes your recording through the AI engine, normalizes the structure, and generates native Gutenberg blocks (headings, paragraphs, bullet points).

    Generating content

    6. Review & Publish

    Watch as headings and paragraphs appear right on your canvas!

    • Fine-tune any formatting or text as desired.
    • Add images, banners, or tags.
    • Click Publish (or Schedule) when you’re satisfied!

    Are you ready to leave the desk behind and blog from anywhere in the world? 🎧🌍

  • Testing the Nomad Pipeline Audio to Post Endpoint: A Step-by-Step Guide

    Testing the Nomad Pipeline Audio to Post Endpoint: A Step-by-Step Guide

    The Nomad Pipeline Audio to Draft plugin for WordPress allows you to automatically transform an audio file from your Media Library into a structured draft post using AI. Our plugin registers an ability that converts an audio file into post content via the Abilities API. This allows you to send HTTP requests from an external app or service to run the ability automatically.

    We use Postman to run clean, repeatable, and automated tests against our endpoints.

    This guide will show you exactly how to set up your environment, securely manage authentication, execute a happy-path request, and automate response capture.

    Prerequisites Checklist

    Before firing up Postman, verify that you have these pieces ready:

    • An active WordPress 7.0+ site running over HTTPS.
    • The Plugin installed and active on your test environment.
    • A WordPress account with the edit_posts capability (Editor or higher is recommended).
    • An Application Password generated from your WordPress user profile screen (do not use your regular login password).
    • An audio file pre-uploaded to your Media Library (note its ID).

    Setting Up Your Postman Environment

    When building API workflows, reproducibility is everything. Hardcoding URLs and credentials into your requests makes your collection brittle and creates security risks. Instead, we use a Postman Environment to separate operational parameters from sensitive tokens.

    Step 1: Create the Environment

    Create a new environment in Postman
    Create a new environment in Postman

    In Postman, create a new environment and populate it with these keys:

    Variables vs. Secrets

    • Regular Variables: These are structural values that change depending on your environment or test case. Examples include base_url, media_id, and external_run_id.
    • Sensitive Variables (Secrets): These are authorization credentials. In Postman, mark your wp_user and wp_app_password as secret type variables. This masks their values on screen and prevents you from accidentally leaking them.
    New Postman environment
    Add variables and secrets for your environment

    💡 Pro-Tip on external_run_id: This ID is crucial for Idempotence—the guarantee that submitting the exact same request multiple times won’t accidentally spin up duplicate processing jobs or clone your posts. For a fresh test, bump the suffix (e.g., -001, -002). To test if your server correctly handles duplicates, deliberately resend the request with the exact same ID.

    Step 2: Configure the main POST request

    Create an HTTP request and connect it to your Environment
    Create an HTTP request and connect it to your Environment

    Create a new HTTP request and select your environment from the menu located in the top-right corner of Postman.

    Next, let’s build the primary execution request.

    • Method: POST
    • URL: {{base_url}}/wp-json/wp-abilities/v1/abilities/nomad-pipeline-audio-to-draft/audio-to-post/run
    • Headers: Content-Type: application/json
    Configure the HTTP request
    Configure the HTTP request

    Step 3: Setting Up Authentication

    Do not inject credentials manually into your JSON payload or headers. Instead:

    1. Click on the Authorization tab of your request.
    2. Select Basic Auth from the Type dropdown.
    3. In the Username field, type: {{wp_user}}
    4. In the Password field, type: {{wp_app_password}}

    Postman will securely encode these variables behind the scenes into a standard HTTP Authorization header.

    Setting up Basic Auth for your request
    Setting up Basic Auth for your request

    Step 4: The request body payload

    Switch to the Body tab, select raw, and set the format type to JSON. Then paste the following request payload:

    {
      "input": {
        "contract_version": "1.0.0",
        "external_run_id": "run-ext-20260721-002",
        "source": "api",
        "audio": {
          "media_id": 134
        },
        "editorial_options": {
          "language": "en-US",
          "tone": "professional",
          "target_length": "medium",
          "temperature": 0.3
        },
        "proper_noun_hints": [
          "WordPress",
          "OpenAI",
          "Nomad Pipeline"
        ],
        "publish_options": {
          "status": "draft"
        }
      }
    }

    Important: the request payload must be wrapped inside input as an object. If you send fields at the root level, the API returns ability_invalid_input (for example: input is not of type object).

    Setting the request body payload
    Setting the request body payload

    Understanding the Key Parameters

    • audio: This field accepts a single input strategy. In our example, we pass a native media_id. Alternatively, the API accepts a signed_url or a raw base64 payload accompanied by a mime_type. Never mix these strategies in a single request!
    • proper_noun_hints: A highly practical list of custom terms, brands, or unique names. This tells the underlying AI model exactly how to spell industry-specific or personal terms properly during transcription and writing.
  • Verify the WordPress backend: If the response is pending or processing, poll again using your run workflow until it reaches completed. Then grab the generated post_id, open your WordPress admin dashboard, and verify the document exists with your expected settings (for example, saved as draft).
  • The JSON response of the Abilities API
    The JSON response of the Abilities API

    Troubleshooting and Verification Checklist

    When checking your results, use this clean workflow to verify success or isolate failures:

    1. Verify the WordPress Backend: Once a request returns a completed status, grab the generated post_id, open your WordPress admin dashboard, and ensure the document exists with your specified settings (e.g., saved safely as a draft).
    2. Handle 401 rest_forbidden errors: If you encounter this, your application password configuration is hitting a snag. Ensure you didn’t include extra trailing spaces when copying the password, and double-check that your server isn’t stripping HTTP Authorization headers before they reach WordPress.
    3. Isolate test failures: If you encounter unexpected system errors, don’t blindly resend the exact same data. Always assign a fresh, distinct value to external_run_id in your environment parameters to start a completely isolated, clean pipeline test.

    Common 400 errors

    • ability_invalid_input with message input is not of type object: your payload is missing the input wrapper.
    • ability_invalid_input with message about source (or other required fields): one or more required fields inside input are missing.