> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://onepin.ai/docs/workflow/export/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://onepin.ai/_mcp/server. # Export > The Onepin Export node (sink_preview) — produces the final audio files. Choose wav or mp3; the run's download is a ZIP of the audio plus a manifest.csv. **Family: Sink · `type: sink_preview`** The Export node produces the final audio files — the end of the graph. Every runnable workflow has one, and its input must reach back to a [Generator](/docs/workflow/generator) (Export needs audio to export). ## Config | Config key | Default | Values | | ---------- | ------- | ------------ | | `format` | `wav` | `wav`, `mp3` | ```python node["config"] = {"format": "mp3"} ``` ## Getting the output The run's download is a ZIP of the generated audio files plus a `manifest.csv` mapping each file to its line and language. Download it after the run completes: #### Python ```python dl = client.workflows.download_run(workflow_id=wf, run_id=run_id).data # dl.url is the pre-signed URL, dl.filename the suggested name ``` #### CLI ```bash onepin workflows runs download "$WF" "$RUN" --out result.zip ``` #### API ```bash # 1. Get a 15-minute pre-signed download URL curl "https://api.onepin.ai/api/v1/workflows/$WF/runs/$RUN/download" \ -H "Authorization: Bearer $ONEPIN_API_KEY" # → {"data": {"url": "https://…signed…", "filename": "My-workflow_run1.zip"}} # 2. Fetch the ZIP from that URL curl -o result.zip "https://…signed…" ``` ## Sharing a finished run A completed run can also be published behind a public link — anyone with the URL can listen without an API key or an account. Read it off the run: `public_share_id` is the share id (build the URL as `/r/`) and `shared_at` is when it was published. Both are null when the run isn't shared. > **Note** > > You can **read** the share state with an API key, but creating and revoking a share is dashboard-only — those endpoints take a dashboard session, not an API key. ## Inspect this node #### Python ```python client.nodes.get_node_detail(node_type="sink_preview").data ``` #### CLI ```bash onepin nodes show sink_preview ``` #### API ```bash curl https://api.onepin.ai/api/v2/nodes/sink_preview \ -H "Authorization: Bearer $ONEPIN_API_KEY" ``` ## Related * [Run a workflow](/docs/guides/run-a-workflow) — run and download end to end * [Generator](/docs/workflow/generator) — produces the audio Export needs > Onepin is a voice workflow platform that orchestrates, validates, and ships production-ready audio across 33 TTS models.