Pushing content
inklet.push.* is the high-level entry point. Each method takes assets,
creates a Content, uploads any binaries, retries a failed upload once, confirms
the Content, and hands back the result.
The three methods differ only in how much of the decision you keep.
| Chooses the display | Lays out the content | Assets | |
|---|---|---|---|
push.auto | Inklet | Inklet | 1–50, any type |
push.manual | You | Inklet | 1–50, any type |
push.hardcode | You | You | exactly 1 PNG or JPEG |
Shared options
Every push accepts:
| Option | Type | Notes |
|---|---|---|
assets | InkletAsset[] | At least one. Build them with inklet.assets.*. |
title | string | Optional label, shown in the dashboard. |
intent | string | Optional sentence of direction for the layout. |
idempotencyKey | string | Optional. Generated if omitted, and always returned. |
push.manual and push.hardcode additionally require displayId.
Shared result
All three return the same shape:
interface PushResult {
contentId: string;
state: "pending" | "processing" | "ready" | "failed";
presentationIds: readonly string[];
idempotencyKey: string;
content: Content;
}presentationIds is commonly empty on return, and state is commonly
processing. That is success, not failure — rendering happens after the call.
See Lifecycle.
What intent is for
intent is a sentence of direction, not a template and not a prompt for prose.
It steers how Inklet arranges what you sent:
intent: "Make the key update easy to scan"
intent: "Lead with the number, keep the chart secondary"
intent: "This is a reference sheet — density over drama"It is optional. Without it, Inklet infers a layout from the assets themselves.
Assets
Build assets through inklet.assets.* so they are validated in your process,
before a request is made:
inklet.assets.text("Milk, eggs, coffee");
inklet.assets.link("https://example.com/report");
inklet.assets.image({ data, filename: "chart.png", contentType: "image/png" });
inklet.assets.file({ data, filename: "menu.pdf", contentType: "application/pdf" });Limits: 10 MiB per binary asset, 50 assets per Content. See Assets for accepted content types.