LinkedIn article, ready to publish (research + copy + sized images)

$1.10 per call · USDC via x402 · POST /v1/linkedin-article

Hand over a topic and get a publish-ready LinkedIn article back: grounded web research with cited sources, three headline options, a hook-first body under subheads with facts linked to their sources, key takeaways, a companion post with hashtags, and generated images delivered at LinkedIn's own sizes (article cover 1920x1080, link-share 1200x627, feed square and portrait, in-article 16:9) as inline JPEG under 3 MB. Send POST /v1/linkedin-article with the required field topic and pay $1.10 per call over x402 with USDC on an EVM chain. It returns a JSON object with report, title, article, post, images and 3 more.

Optional byline, angle, audience, tone and CTA. Nothing from memory; nothing posted on your behalf. One payment, one package. Not cached. Takes up to 3 minutes to answer: keep the connection open for at least 210 seconds, because a client that disconnects first loses the answer, or send the paid call with "Prefer: respond-async" to get a job link at once and collect the answer from it (payment still settles only on a delivered result).

Category: LLM gateway · Tags: linkedin linkedin-article ghostwriting thought-leadership social-media marketing images report

TRY IN PLAYGROUND →

Parameters

NameTypeRequiredDescription
topicstringyesWhat the article is about (up to 600 chars). The research runs on this.
anglestringnoOptional: the take or thesis to argue.
audiencestringnoOptional: who it is for, e.g. CFOs at mid-market SaaS.
tonestringnoOptional voice, default: professional, first-person, direct.
authorobjectnoOptional byline the article is written as.
ctastringnoOptional closing call to action.
lengthstring (one of: short, standard, long)no~600 / ~1,000 / ~1,500 words (default standard).
imagesobjectno
hashtagsnumbernoHashtags on the companion post, 0-5 (default 4).

Example request

curl -i -X POST https://agent402.tools/v1/linkedin-article \
  -H "Content-Type: application/json" \
  -d '{"topic":"Why AI agents will pay for APIs with stablecoins","audience":"fintech product leaders","length":"standard"}'

Without payment this returns HTTP 402 Payment Required with the exact price for linkedin-article; any x402 v2 or MPP client pays it and retries.

Example response

{
  "report": "# Why agent payments settle on chain\n*One line of context*\n\n...\n\n## Sources\n1. [Example](https://example.com/...)\n\n---\n## Companion post (paste as a LinkedIn post, 1,120 of 3000 characters)\n...",
  "title": "Why agent payments settle on chain",
  "article": {
    "headline": "Why agent payments settle on chain",
    "headlines": [
      "Why agent payments settle on chain",
      "...",
      "..."
    ],
    "subtitle": "One line of context",
    "body_markdown": "...",
    "key_takeaways": [
      "..."
    ],
    "word_count": 980
  },
  "post": {
    "caption": "...\n#AgenticFinance #Payments #AI #Stablecoins",
    "hashtags": [
      "#AgenticFinance",
      "#Payments",
      "#AI",
      "#Stablecoins"
    ],
    "chars": 1120
  },
  "images": [
    {
      "slot": "cover",
      "alt": "An abstract network of nodes exchanging tokens",
      "prompt": "...",
      "source": {
        "width": 1024,
        "height": 1024,
        "model": "black-forest-labs/flux.2-klein-4b"
      },
      "files": [
        {
          "name": "article-cover",
          "use": "LinkedIn article cover image",
          "width": 1920,
          "height": 1080,
          "format": "jpeg",
          "media_type": "image/jpeg",
          "bytes": 412000,
          "b64": "/9j/4AAQ…"
        },
        {
          "name": "post-link-share",
          "use": "LinkedIn post / link-share image (1.91:1)",
          "width": 1200,
          "height": 627,
          "format": "jpeg",
          "media_type": "image/jpeg",
          "bytes": 180000,
          "b64": "/9j/4AAQ…"
        }
      ]
    }
  ],
  "sources": [
    {
      "n": 1,
      "title": "Example",
      "url": "https://example.com/...",
      "snippet": "...",
      "fullText": true
    }
  ],
  "tables": [],
  "meta": {
    "tier": "linkedin-article",
    "words": 980,
    "images": 2,
    "image_files": 5,
    "post_chars": 1120,
    "sources_listed": 12,
    "sources_full_text": 4,
    "synthesis_model": "anthropic/claude-opus-5"
  }
}
FieldTypeAlways presentIn the example
reportstringyes# Why agent payments settle on chain *One line of context* ... ## Sources 1...
titlestringyesWhy agent payments settle on chain
articleobjectyes6 fields: headline, headlines, subtitle, body_markdown, key_takeaways, word_c...
postobjectyes3 fields: caption, hashtags, chars
imagesarray of objectsyes1 item in the example
sourcesarray of objectsyes1 item in the example
tablesarrayyes0 items in the example
metaobjectyes8 fields: tier, words, images, image_files, post_chars, sources_listed

From an MCP client

catalog.call {
  "slug": "linkedin-article",
  "params": {
    "topic": "Why AI agents will pay for APIs with stablecoins",
    "audience": "fintech product leaders",
    "length": "standard"
  }
}

The hosted connector at https://agent402.tools/mcp needs a payment for linkedin-article; the stdio package pays it from a wallet or from AGENT402_CREDITS_KEY. Local install: npx -y agent402-mcp.

Errors and behavior

Paid call (JavaScript agent)

import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client();
client.setSpendControls?.(false); // keep your own spending ceiling in code
registerExactEvmScheme(client, { signer: privateKeyToAccount(KEY) });
const payFetch = wrapFetchWithPayment(fetch, client);

const res = await payFetch("https://agent402.tools/v1/linkedin-article", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    "topic": "Why AI agents will pay for APIs with stablecoins",
    "audience": "fintech product leaders",
    "length": "standard"
  }),
});

Related tools

SEC filing report (what the company just filed)

$0.85 · POST /v1/filing-report

Name a US ticker and get one cited report on what the company just filed with the SEC: every filing in EDGAR's index for…

Insider flow report (Form 4 transactions)

$0.60 · POST /v1/insider-report

Name a US ticker and get one cited insider-flow report: every Form 4 against the company in the window with the actual t…

FDA recall report (drug, food, device)

$0.60 · POST /v1/recall-report

Name a drug, food, ingredient, brand or medical device and get one cited FDA recall report: every matching enforcement r…

Solana token due-diligence brief

$0.60 · POST /v1/token-brief

Hand over a Solana SPL mint address and get one cited due-diligence brief: what the token is, whether the mint and freez…

IPO pipeline digest (S-1 + 424B4)

$0.05 · POST /v1/ipo-report

A deterministic digest of the IPO pipeline for a window: every 424B4 final prospectus and every S-1/F-1 registration fro…

Ticker pack: dossier, insider flow and institutional holders

$2.00 · POST /v1/ticker-pack

One ticker, one purchase, the full picture. Runs the company due-diligence dossier (SEC filings, XBRL financials, ground…