@blockrun/llm 3.14.0 → 3.14.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -618,7 +618,7 @@ interface SpeechClientOptions extends ApiKeyOptions {
618
618
  /** Request timeout in milliseconds (default: 120000 — synthesis is synchronous) */
619
619
  timeout?: number;
620
620
  }
621
- /** TTS model IDs (price per 1k chars: flash/turbo $0.05, multilingual-v2/v3 $0.10). */
621
+ /** TTS model IDs. Billed per 1k characters; rates at https://blockrun.ai/models. */
622
622
  type SpeechModel = "elevenlabs/flash-v2.5" | "elevenlabs/turbo-v2.5" | "elevenlabs/multilingual-v2" | "elevenlabs/v3";
623
623
  /** Friendly voice aliases (raw ElevenLabs voice_ids also accepted). */
624
624
  type SpeechVoice = "sarah" | "george" | "laura" | "charlie" | "river" | "roger" | "callum" | "harry" | (string & {});
@@ -805,7 +805,7 @@ interface VideoGenerateOptions {
805
805
  /**
806
806
  * Virtual Portrait asset ID (`ta_xxxxxx`) — keeps the same AI character
807
807
  * across multiple Seedance videos. Enroll via `POST /v1/portrait/enroll`
808
- * ($0.01 USDC promo, no KYC). **Seedance 2.0 fast/pro only.** Mutually exclusive
808
+ * (promotional rate, no KYC). **Seedance 2.0 fast/pro only.** Mutually exclusive
809
809
  * with `imageUrl`. Real-person likeness is not supported on BlockRun.
810
810
  */
811
811
  realFaceAssetId?: string;
@@ -1392,7 +1392,7 @@ declare class LLMClient {
1392
1392
  exa(path: string, body: Record<string, unknown>): Promise<Record<string, unknown>>;
1393
1393
  /**
1394
1394
  * Neural web search via Exa. Returns semantically relevant URLs and metadata.
1395
- * Understands meaning, not just keywords. $0.01/call.
1395
+ * Understands meaning, not just keywords.
1396
1396
  *
1397
1397
  * @param query - Natural language search query
1398
1398
  * @param options - Optional filters (numResults, category, date range, domains)
@@ -1400,20 +1400,20 @@ declare class LLMClient {
1400
1400
  exaSearch(query: string, options?: ExaSearchOptions): Promise<ExaSearchResponse>;
1401
1401
  /**
1402
1402
  * Ask a question and get a cited, synthesized answer grounded in real web sources.
1403
- * No hallucinations — every claim is backed by a citation. $0.01/call.
1403
+ * No hallucinations — every claim is backed by a citation.
1404
1404
  *
1405
1405
  * @param query - The question to answer
1406
1406
  */
1407
1407
  exaAnswer(query: string): Promise<ExaAnswerResponse>;
1408
1408
  /**
1409
- * Fetch full Markdown text content from a list of URLs. $0.002 per URL.
1409
+ * Fetch full Markdown text content from a list of URLs. Billed per URL.
1410
1410
  * Returns clean text ready to feed into an LLM context window.
1411
1411
  *
1412
1412
  * @param urls - Array of URLs to fetch (up to 100)
1413
1413
  */
1414
1414
  exaContents(urls: string[]): Promise<ExaContentsResponse>;
1415
1415
  /**
1416
- * Find pages semantically similar to a given URL. $0.01/call.
1416
+ * Find pages semantically similar to a given URL.
1417
1417
  * Useful for discovering competitors, alternatives, and related resources.
1418
1418
  *
1419
1419
  * @param url - Reference URL
@@ -1454,7 +1454,7 @@ declare class LLMClient {
1454
1454
  * Query Predexon prediction market data (GET endpoints).
1455
1455
  *
1456
1456
  * Access real-time data from Polymarket, Kalshi, dFlow, and Binance Futures.
1457
- * Powered by Predexon. $0.001 per request.
1457
+ * Powered by Predexon. Billed per request.
1458
1458
  *
1459
1459
  * @param path - Endpoint path, e.g. "polymarket/events", "kalshi/markets/12345"
1460
1460
  * @param params - Query parameters passed to the endpoint
@@ -1469,7 +1469,7 @@ declare class LLMClient {
1469
1469
  * Structured query for Predexon prediction market data (POST endpoints).
1470
1470
  *
1471
1471
  * For endpoints that require a JSON body, e.g. bulk wallet identity lookup.
1472
- * Tier 1 = $0.001/call, Tier 2 = $0.005/call.
1472
+ * Tier 1 =, Tier 2 =
1473
1473
  *
1474
1474
  * @param path - Endpoint path, e.g. "polymarket/wallet/identities"
1475
1475
  * @param query - JSON body for the structured query
@@ -1502,49 +1502,49 @@ declare class LLMClient {
1502
1502
  * @throws {RetiredEndpointError} always. */
1503
1503
  pmOutcome(_predexonId: string): Promise<Record<string, unknown>>;
1504
1504
  /** Polymarket markets with cursor-based keyset pagination (use pagination_key).
1505
- * Tier 1 ($0.001/call). */
1505
+ * Tier 1. */
1506
1506
  pmPolymarketMarketsKeyset(params?: Record<string, string>): Promise<Record<string, unknown>>;
1507
1507
  /** Polymarket events with cursor-based keyset pagination (use pagination_key).
1508
- * Tier 1 ($0.001/call). */
1508
+ * Tier 1. */
1509
1509
  pmPolymarketEventsKeyset(params?: Record<string, string>): Promise<Record<string, unknown>>;
1510
- /** List available sports categories. Tier 1 ($0.001/call).
1510
+ /** List available sports categories. Tier 1.
1511
1511
  *
1512
1512
  * NOTE: upstream returns 500 for every `sports/*` path as of 2026-08-04.
1513
1513
  * The route still resolves, so this works again the moment Predexon restores
1514
1514
  * it, but do not build on it yet. */
1515
1515
  pmSportsCategories(): Promise<Record<string, unknown>>;
1516
1516
  /** List sports markets grouped by game. Filter with league, sport_type,
1517
- * status, venue. Tier 1 ($0.001/call).
1517
+ * status, venue. Tier 1.
1518
1518
  *
1519
1519
  * NOTE: upstream returns 500 for every `sports/*` path as of 2026-08-04. */
1520
1520
  pmSportsMarkets(params?: Record<string, string>): Promise<Record<string, unknown>>;
1521
1521
  /** Fetch identity + profile metadata for one wallet (ENS, Twitter, portfolio,
1522
- * etc.). Tier 2 ($0.005/call). */
1522
+ * etc.). Tier 2. */
1523
1523
  pmWalletIdentity(wallet: string): Promise<Record<string, unknown>>;
1524
- /** Bulk identity lookup for up to 200 wallet addresses (POST). Tier 2 ($0.005/call). */
1524
+ /** Bulk identity lookup for up to 200 wallet addresses (POST). Tier 2. */
1525
1525
  pmWalletIdentities(addresses: string[]): Promise<Record<string, unknown>>;
1526
1526
  /** Discover wallets connected to a seed address via on-chain transfers and
1527
- * identity proofs. Tier 2 ($0.005/call). */
1527
+ * identity proofs. Tier 2. */
1528
1528
  pmWalletCluster(address: string): Promise<Record<string, unknown>>;
1529
1529
  /**
1530
1530
  * Query DefiLlama DeFi data (GET passthrough). Powered by DefiLlama.
1531
- * $0.005/call for protocols / protocol/{slug} / chains / yields;
1532
- * $0.001/call for prices/{coins}.
1531
+ * for protocols / protocol/{slug} / chains / yields;
1532
+ * for prices/{coins}.
1533
1533
  *
1534
1534
  * @param path - e.g. "protocols", "protocol/aave", "chains", "yields",
1535
1535
  * "prices/coingecko:bitcoin,base:0x..."
1536
1536
  * @param params - Query parameters passed through to DefiLlama
1537
1537
  */
1538
1538
  defi(path: string, params?: Record<string, string>): Promise<Record<string, unknown>>;
1539
- /** All DeFi protocols with TVL ($0.005/call). */
1539
+ /** All DeFi protocols with TVL. */
1540
1540
  defiProtocols(): Promise<Record<string, unknown>>;
1541
- /** Single protocol details + historical TVL ($0.005/call). */
1541
+ /** Single protocol details + historical TVL. */
1542
1542
  defiProtocol(slug: string): Promise<Record<string, unknown>>;
1543
- /** Current TVL of every chain ($0.005/call). */
1543
+ /** Current TVL of every chain. */
1544
1544
  defiChains(): Promise<Record<string, unknown>>;
1545
- /** Yield pools with APY/TVL ($0.005/call). */
1545
+ /** Yield pools with APY/TVL. */
1546
1546
  defiYields(params?: Record<string, string>): Promise<Record<string, unknown>>;
1547
- /** Token price lookup ($0.001/call). Coins like "coingecko:bitcoin" or "{chain}:{address}". */
1547
+ /** Token price lookup. Coins like "coingecko:bitcoin" or "{chain}:{address}". */
1548
1548
  defiPrices(coins: string | string[]): Promise<Record<string, unknown>>;
1549
1549
  /**
1550
1550
  * Query the 0x Swap / Gasless APIs (free — no x402 payment; BlockRun
@@ -1576,18 +1576,18 @@ declare class LLMClient {
1576
1576
  /**
1577
1577
  * Call the Modal sandbox compute API (POST passthrough).
1578
1578
  *
1579
- * @param path - "sandbox/create" ($0.01 CPU / $0.05 GPU), "sandbox/exec",
1580
- * "sandbox/status", "sandbox/terminate" ($0.001 each)
1579
+ * @param path - "sandbox/create" (CPU / GPU tiers), "sandbox/exec",
1580
+ * "sandbox/status", "sandbox/terminate"
1581
1581
  * @param body - JSON body for the endpoint
1582
1582
  */
1583
1583
  modal(path: string, body?: Record<string, unknown>): Promise<Record<string, unknown>>;
1584
- /** Create a sandboxed compute environment ($0.01 CPU / $0.05 GPU). */
1584
+ /** Create a sandboxed compute environment (CPU / GPU tiers). */
1585
1585
  modalSandboxCreate(body?: Record<string, unknown>): Promise<Record<string, unknown>>;
1586
- /** Execute a command in a sandbox; returns stdout/stderr ($0.001). */
1586
+ /** Execute a command in a sandbox; returns stdout/stderr. */
1587
1587
  modalSandboxExec(sandboxId: string, command: string[], extra?: Record<string, unknown>): Promise<Record<string, unknown>>;
1588
- /** Check a sandbox's status ($0.001). */
1588
+ /** Check a sandbox's status. */
1589
1589
  modalSandboxStatus(sandboxId: string): Promise<Record<string, unknown>>;
1590
- /** Terminate a sandbox ($0.001). */
1590
+ /** Terminate a sandbox. */
1591
1591
  modalSandboxTerminate(sandboxId: string): Promise<Record<string, unknown>>;
1592
1592
  /**
1593
1593
  * Get current session spending.
@@ -1718,7 +1718,7 @@ declare class ImageClient {
1718
1718
  * Generate full-length ~3 minute music tracks using MiniMax Music 2.5+
1719
1719
  * with automatic x402 micropayments on Base chain.
1720
1720
  *
1721
- * Pricing: $0.1575/track
1721
+ * Pricing: per track — see https://blockrun.ai/models
1722
1722
  * Note: Generated URLs expire in ~24h — download immediately if needed.
1723
1723
  */
1724
1724
  declare class MusicClient {
@@ -1768,7 +1768,7 @@ declare class MusicClient {
1768
1768
  * with automatic x402 micropayments on Base chain.
1769
1769
  *
1770
1770
  * TTS pricing scales with input characters; sound effects are flat
1771
- * $0.05/generation.
1771
+ *
1772
1772
  */
1773
1773
  declare class SpeechClient {
1774
1774
  private _account?;
@@ -1787,7 +1787,7 @@ declare class SpeechClient {
1787
1787
  * Synthesize speech from text (OpenAI-compatible TTS).
1788
1788
  *
1789
1789
  * Price scales with character count: (chars / 1000) x model rate,
1790
- * minimum $0.001/request. Synthesis is synchronous.
1790
+ * minimum Synthesis is synchronous.
1791
1791
  *
1792
1792
  * @param input - Text to synthesize. Per-model character caps apply
1793
1793
  * (flash/turbo 40k, multilingual-v2 10k, v3 5k).
@@ -1804,7 +1804,7 @@ declare class SpeechClient {
1804
1804
  /**
1805
1805
  * Generate a cinematic sound effect from a text prompt.
1806
1806
  *
1807
- * Flat $0.05/generation, up to 22 seconds of audio.
1807
+ *, up to 22 seconds of audio.
1808
1808
  *
1809
1809
  * @param text - Sound effect description (max 1000 chars).
1810
1810
  * E.g. 'rain on a tin roof', 'sci-fi door whoosh'
@@ -1919,7 +1919,7 @@ declare class VideoClient {
1919
1919
  * Initiates AI-powered outbound phone calls with automatic x402 micropayments
1920
1920
  * on Base chain.
1921
1921
  *
1922
- * Pricing: $0.54 per call (regardless of duration up to max_duration).
1922
+ * Pricing: per call (regardless of duration up to max_duration).
1923
1923
  * Status polling is free.
1924
1924
  */
1925
1925
  declare class VoiceClient {
@@ -1938,7 +1938,7 @@ declare class VoiceClient {
1938
1938
  /**
1939
1939
  * Initiate an AI-powered outbound phone call.
1940
1940
  *
1941
- * Pricing: $0.54 per call. Returns immediately once the call is queued —
1941
+ * Pricing: per call. Returns immediately once the call is queued —
1942
1942
  * poll getStatus() for transcript and recording.
1943
1943
  *
1944
1944
  * @example
@@ -1990,19 +1990,19 @@ declare class PhoneClient {
1990
1990
  /** Session-cumulative USD spend + call count across this client instance. */
1991
1991
  getSpending(): Spending;
1992
1992
  /**
1993
- * Carrier + line-type lookup. ~$0.01.
1993
+ * Carrier + line-type lookup.
1994
1994
  *
1995
1995
  * @param phoneNumber E.164 number (e.g. "+14155552671").
1996
1996
  */
1997
1997
  lookup(phoneNumber: string): Promise<PhoneLookupResponse>;
1998
1998
  /**
1999
- * Lookup + fraud signals (SIM swap, call forwarding). ~$0.05.
1999
+ * Lookup + fraud signals (SIM swap, call forwarding).
2000
2000
  *
2001
2001
  * @param phoneNumber E.164 number.
2002
2002
  */
2003
2003
  lookupFraud(phoneNumber: string): Promise<PhoneLookupResponse>;
2004
2004
  /**
2005
- * Provision a dedicated phone number for 30 days. $5.00.
2005
+ * Provision a dedicated phone number for 30 days.
2006
2006
  *
2007
2007
  * Payment is settled only after Twilio confirms the purchase, so failed
2008
2008
  * buys never charge your wallet.
@@ -2014,12 +2014,12 @@ declare class PhoneClient {
2014
2014
  */
2015
2015
  buyNumber(options?: PhoneBuyOptions): Promise<PhoneBuyResponse>;
2016
2016
  /**
2017
- * Extend an existing provisioned number by 30 days. $5.00.
2017
+ * Extend an existing provisioned number by 30 days.
2018
2018
  *
2019
2019
  * @throws {APIError} 403 when the wallet doesn't own the number or it has expired.
2020
2020
  */
2021
2021
  renewNumber(phoneNumber: string): Promise<PhoneRenewResponse>;
2022
- /** List the wallet's active phone numbers. ~$0.001. */
2022
+ /** List the wallet's active phone numbers. */
2023
2023
  listNumbers(): Promise<PhoneListResponse>;
2024
2024
  /**
2025
2025
  * Release a provisioned number back to the Twilio pool. Free, but still
@@ -2034,7 +2034,7 @@ declare class PhoneClient {
2034
2034
 
2035
2035
  /**
2036
2036
  * Flat enrollment price in USD — mirrors the backend's `ENROLLMENT_PRICE_USD`.
2037
- * Currently $0.01 (promotional, parity with RealFace). The authoritative price
2037
+ * Currently (promotional, parity with RealFace). The authoritative price
2038
2038
  * is whatever the gateway quotes in the 402; this constant is informational.
2039
2039
  */
2040
2040
  declare const PORTRAIT_ENROLLMENT_PRICE_USD = 0.01;
@@ -2063,7 +2063,7 @@ declare class PortraitClient {
2063
2063
  /** Session-cumulative USD spend + call count across this client instance. */
2064
2064
  getSpending(): Spending;
2065
2065
  /**
2066
- * Enroll a Virtual Portrait from a face image URL. $0.01 (promo).
2066
+ * Enroll a Virtual Portrait from a face image URL. (promo).
2067
2067
  *
2068
2068
  * Payment is settled only after Token360 confirms the enrollment, so failed
2069
2069
  * enrollments never charge your wallet.
@@ -2166,7 +2166,7 @@ declare const NETWORK_ALIASES: Record<string, string>;
2166
2166
  * Standard JSON-RPC 2.0 access to 40+ chains through BlockRun's Tatum
2167
2167
  * gateway with automatic x402 micropayments on Base chain.
2168
2168
  *
2169
- * Flat $0.002 per call; a JSON-RPC batch charges per element.
2169
+ * Flat per call; a JSON-RPC batch charges per element.
2170
2170
  */
2171
2171
  declare class RpcClient {
2172
2172
  private _account?;
@@ -2182,7 +2182,7 @@ declare class RpcClient {
2182
2182
  private sessionCalls;
2183
2183
  constructor(options?: RpcClientOptions);
2184
2184
  /**
2185
- * Make a single JSON-RPC 2.0 call. Flat $0.002.
2185
+ * Make a single JSON-RPC 2.0 call. Flat per-call rate.
2186
2186
  *
2187
2187
  * @param network - Chain name (e.g. "ethereum", "base", "solana") or a
2188
2188
  * common alias ("eth", "sol", "matic", ...). See
@@ -2200,7 +2200,7 @@ declare class RpcClient {
2200
2200
  */
2201
2201
  call<T = unknown>(network: RpcNetwork, method: string, params?: unknown[]): Promise<RpcResponse<T>>;
2202
2202
  /**
2203
- * Make a JSON-RPC 2.0 batch call. Priced per element ($0.002 x N).
2203
+ * Make a JSON-RPC 2.0 batch call. Priced per element (rate x N).
2204
2204
  *
2205
2205
  * @param network - Chain name or alias (see {@link call}).
2206
2206
  * @param requests - Requests, each with a `method` and optional
@@ -2682,28 +2682,28 @@ declare class SolanaLLMClient {
2682
2682
  */
2683
2683
  exa(path: string, body: Record<string, unknown>): Promise<Record<string, unknown>>;
2684
2684
  /**
2685
- * Neural and keyword web search via Exa (Solana payment, $0.01/request).
2685
+ * Neural and keyword web search via Exa (Solana payment).
2686
2686
  *
2687
2687
  * @example
2688
2688
  * const results = await client.exaSearch("latest AI papers", { numResults: 5 });
2689
2689
  */
2690
2690
  exaSearch(query: string, options?: Record<string, unknown>): Promise<Record<string, unknown>>;
2691
2691
  /**
2692
- * Find pages semantically similar to a given URL via Exa (Solana payment, $0.01/request).
2692
+ * Find pages semantically similar to a given URL via Exa (Solana payment).
2693
2693
  *
2694
2694
  * @example
2695
2695
  * const results = await client.exaFindSimilar("https://openai.com/research/gpt-4", { numResults: 5 });
2696
2696
  */
2697
2697
  exaFindSimilar(url: string, options?: Record<string, unknown>): Promise<Record<string, unknown>>;
2698
2698
  /**
2699
- * Extract full text content from URLs via Exa (Solana payment, $0.002/URL).
2699
+ * Extract full text content from URLs via Exa (Solana payment).
2700
2700
  *
2701
2701
  * @example
2702
2702
  * const data = await client.exaContents(["https://arxiv.org/abs/2303.08774"]);
2703
2703
  */
2704
2704
  exaContents(urls: string[], options?: Record<string, unknown>): Promise<Record<string, unknown>>;
2705
2705
  /**
2706
- * AI-generated answer grounded in live web search via Exa (Solana payment, $0.01/request).
2706
+ * AI-generated answer grounded in live web search via Exa (Solana payment).
2707
2707
  *
2708
2708
  * @example
2709
2709
  * const answer = await client.exaAnswer("What is the current state of AI safety research?");
@@ -2711,23 +2711,23 @@ declare class SolanaLLMClient {
2711
2711
  exaAnswer(query: string, options?: Record<string, unknown>): Promise<Record<string, unknown>>;
2712
2712
  /**
2713
2713
  * Query DefiLlama DeFi data (GET passthrough). Powered by DefiLlama.
2714
- * $0.005/call for protocols / protocol/{slug} / chains / yields;
2715
- * $0.001/call for prices/{coins}.
2714
+ * for protocols / protocol/{slug} / chains / yields;
2715
+ * for prices/{coins}.
2716
2716
  *
2717
2717
  * @param path - e.g. "protocols", "protocol/aave", "chains", "yields",
2718
2718
  * "prices/coingecko:bitcoin,base:0x..."
2719
2719
  * @param params - Query parameters passed through to DefiLlama
2720
2720
  */
2721
2721
  defi(path: string, params?: Record<string, string>): Promise<Record<string, unknown>>;
2722
- /** All DeFi protocols with TVL ($0.005/call). */
2722
+ /** All DeFi protocols with TVL. */
2723
2723
  defiProtocols(): Promise<Record<string, unknown>>;
2724
- /** Single protocol details + historical TVL ($0.005/call). */
2724
+ /** Single protocol details + historical TVL. */
2725
2725
  defiProtocol(slug: string): Promise<Record<string, unknown>>;
2726
- /** Current TVL of every chain ($0.005/call). */
2726
+ /** Current TVL of every chain. */
2727
2727
  defiChains(): Promise<Record<string, unknown>>;
2728
- /** Yield pools with APY/TVL ($0.005/call). */
2728
+ /** Yield pools with APY/TVL. */
2729
2729
  defiYields(params?: Record<string, string>): Promise<Record<string, unknown>>;
2730
- /** Token price lookup ($0.001/call). Coins like "coingecko:bitcoin" or "{chain}:{address}". */
2730
+ /** Token price lookup. Coins like "coingecko:bitcoin" or "{chain}:{address}". */
2731
2731
  defiPrices(coins: string | string[]): Promise<Record<string, unknown>>;
2732
2732
  /**
2733
2733
  * Query the 0x Swap / Gasless APIs (free — no x402 payment; BlockRun
@@ -2759,18 +2759,18 @@ declare class SolanaLLMClient {
2759
2759
  /**
2760
2760
  * Call the Modal sandbox compute API (POST passthrough).
2761
2761
  *
2762
- * @param path - "sandbox/create" ($0.01 CPU / $0.05 GPU), "sandbox/exec",
2763
- * "sandbox/status", "sandbox/terminate" ($0.001 each)
2762
+ * @param path - "sandbox/create" (CPU / GPU tiers), "sandbox/exec",
2763
+ * "sandbox/status", "sandbox/terminate"
2764
2764
  * @param body - JSON body for the endpoint
2765
2765
  */
2766
2766
  modal(path: string, body?: Record<string, unknown>): Promise<Record<string, unknown>>;
2767
- /** Create a sandboxed compute environment ($0.01 CPU / $0.05 GPU). */
2767
+ /** Create a sandboxed compute environment (CPU / GPU tiers). */
2768
2768
  modalSandboxCreate(body?: Record<string, unknown>): Promise<Record<string, unknown>>;
2769
- /** Execute a command in a sandbox; returns stdout/stderr ($0.001). */
2769
+ /** Execute a command in a sandbox; returns stdout/stderr. */
2770
2770
  modalSandboxExec(sandboxId: string, command: string[], extra?: Record<string, unknown>): Promise<Record<string, unknown>>;
2771
- /** Check a sandbox's status ($0.001). */
2771
+ /** Check a sandbox's status. */
2772
2772
  modalSandboxStatus(sandboxId: string): Promise<Record<string, unknown>>;
2773
- /** Terminate a sandbox ($0.001). */
2773
+ /** Terminate a sandbox. */
2774
2774
  modalSandboxTerminate(sandboxId: string): Promise<Record<string, unknown>>;
2775
2775
  /** Get session spending. */
2776
2776
  getSpending(): Spending;