Publish via ShipPage
Terminal
curl -X POST https://shippage.ai/v1/publish \
-H "Content-Type: application/json" \
-d @- <<'JSON'
{
"title": "Startup landing page",
"public": true,
"html": "<!DOCTYPE html><html lang=\"en\"><head><meta charset=\"UTF-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"><title>ProductName — Do the thing, faster</title><style>\n *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }\n body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; line-height: 1.6; color: #0f172a; background: #fff; }\n h1, h2, h3 { letter-spacing: -0.02em; }\n a { color: #2563eb; }\n</style><style>\n body { background: #0a0a0a; color: #f0f0f0; }\n .wrap { max-width: 1080px; margin: 0 auto; padding: 0 24px; }\n nav { height: 64px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #222; }\n .logo { font-weight: 700; font-size: 18px; } .logo span { color: #22d3ee; }\n .nav-links { display: flex; gap: 24px; font-size: 14px; color: #888; } .nav-links a { color: #888; text-decoration: none; }\n .hero { padding: 120px 0 80px; text-align: center; }\n .hero h1 { font-size: 56px; font-weight: 800; letter-spacing: -1.5px; line-height: 1.1; }\n .hero h1 span { color: #22d3ee; }\n .hero p { color: #888; font-size: 18px; max-width: 560px; margin: 24px auto 36px; }\n .cta { display: inline-flex; gap: 12px; }\n .btn { padding: 14px 28px; border-radius: 8px; font-weight: 600; font-size: 15px; text-decoration: none; }\n .btn.primary { background: #22d3ee; color: #0a0a0a; }\n .btn.secondary { background: transparent; color: #fff; border: 1px solid #333; }\n .features { padding: 80px 0; }\n .features h2 { font-size: 32px; font-weight: 700; text-align: center; margin-bottom: 48px; }\n .grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }\n .feature { background: #141414; border: 1px solid #222; padding: 28px; border-radius: 12px; }\n .feature h3 { font-size: 18px; margin-bottom: 8px; }\n .feature p { color: #888; font-size: 14px; }\n footer { border-top: 1px solid #222; padding: 32px 0; color: #555; font-size: 13px; text-align: center; }\n @media (max-width: 768px) { .grid { grid-template-columns: 1fr; } .hero h1 { font-size: 36px; } }\n </style></head><body>\n <div class=\"wrap\"><nav><div class=\"logo\">Product<span>Name</span></div><div class=\"nav-links\"><a href=\"#features\">Features</a><a href=\"#pricing\">Pricing</a><a href=\"#signup\">Sign up</a></div></nav></div>\n <section class=\"hero\"><div class=\"wrap\">\n <h1>Do the thing. <span>Faster.</span></h1>\n <p>One-line value proposition that makes a prospect stop scrolling and keep reading.</p>\n <div class=\"cta\"><a href=\"#signup\" class=\"btn primary\">Start free</a><a href=\"#demo\" class=\"btn secondary\">See demo</a></div>\n </div></section>\n <section class=\"features\" id=\"features\"><div class=\"wrap\"><h2>What you get</h2>\n <div class=\"grid\">\n <div class=\"feature\"><h3>Ship in minutes</h3><p>Get from signup to production in under 5 minutes. No yaml, no pipeline.</p></div>\n <div class=\"feature\"><h3>Scales with you</h3><p>From 10 requests to 10 million, same API, same cost model.</p></div>\n <div class=\"feature\"><h3>Built for teams</h3><p>Role-based access, audit logs, SSO out of the box.</p></div>\n </div>\n </div></section>\n <footer><div class=\"wrap\">© 2026 ProductName · Made for humans who ship.</div></footer>\n </body></html>"
}
JSON
Raw HTML
landing.html
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>ProductName — Do the thing, faster</title><style>
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; line-height: 1.6; color: #0f172a; background: #fff; }
h1, h2, h3 { letter-spacing: -0.02em; }
a { color: #2563eb; }
</style><style>
body { background: #0a0a0a; color: #f0f0f0; }
.wrap { max-width: 1080px; margin: 0 auto; padding: 0 24px; }
nav { height: 64px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #222; }
.logo { font-weight: 700; font-size: 18px; } .logo span { color: #22d3ee; }
.nav-links { display: flex; gap: 24px; font-size: 14px; color: #888; } .nav-links a { color: #888; text-decoration: none; }
.hero { padding: 120px 0 80px; text-align: center; }
.hero h1 { font-size: 56px; font-weight: 800; letter-spacing: -1.5px; line-height: 1.1; }
.hero h1 span { color: #22d3ee; }
.hero p { color: #888; font-size: 18px; max-width: 560px; margin: 24px auto 36px; }
.cta { display: inline-flex; gap: 12px; }
.btn { padding: 14px 28px; border-radius: 8px; font-weight: 600; font-size: 15px; text-decoration: none; }
.btn.primary { background: #22d3ee; color: #0a0a0a; }
.btn.secondary { background: transparent; color: #fff; border: 1px solid #333; }
.features { padding: 80px 0; }
.features h2 { font-size: 32px; font-weight: 700; text-align: center; margin-bottom: 48px; }
.grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.feature { background: #141414; border: 1px solid #222; padding: 28px; border-radius: 12px; }
.feature h3 { font-size: 18px; margin-bottom: 8px; }
.feature p { color: #888; font-size: 14px; }
footer { border-top: 1px solid #222; padding: 32px 0; color: #555; font-size: 13px; text-align: center; }
@media (max-width: 768px) { .grid { grid-template-columns: 1fr; } .hero h1 { font-size: 36px; } }
</style></head><body>
<div class="wrap"><nav><div class="logo">Product<span>Name</span></div><div class="nav-links"><a href="#features">Features</a><a href="#pricing">Pricing</a><a href="#signup">Sign up</a></div></nav></div>
<section class="hero"><div class="wrap">
<h1>Do the thing. <span>Faster.</span></h1>
<p>One-line value proposition that makes a prospect stop scrolling and keep reading.</p>
<div class="cta"><a href="#signup" class="btn primary">Start free</a><a href="#demo" class="btn secondary">See demo</a></div>
</div></section>
<section class="features" id="features"><div class="wrap"><h2>What you get</h2>
<div class="grid">
<div class="feature"><h3>Ship in minutes</h3><p>Get from signup to production in under 5 minutes. No yaml, no pipeline.</p></div>
<div class="feature"><h3>Scales with you</h3><p>From 10 requests to 10 million, same API, same cost model.</p></div>
<div class="feature"><h3>Built for teams</h3><p>Role-based access, audit logs, SSO out of the box.</p></div>
</div>
</div></section>
<footer><div class="wrap">© 2026 ProductName · Made for humans who ship.</div></footer>
</body></html>