upship.ai
Developing LLM-driven applications?
Deploy and share those apps without any of the backend hassle!
You focus on:
- Building your perfect app and UX
- Writing effective prompts
- Selecting who gets access to your app
- Hosting your way or running locally
We handle:
- All backend infrastructure
- Prompt management & tracing
- Authentication systems
- Model management & scaling
Simple API, Powerful Capabilities
Reactive Control
import { useUpshipQuery } from "@upship/sdk"
function Recipe() {
const query = useUpshipQuery(`
You are a helpful AI assistant.
Give me the recipe for: {food}
Format the response in the following way:
<name>RECIPE NAME</name>
<recipe>RECIPE NAME</recipe>
`, { food: 'Tomato Soup' })
return query.isLoading
? <div>creating recipe...</div>
: <div>
<h1>{query.artifacts.name}</h1>
<p>{query.artifacts.recipe}</p>
</div>
}
Imperative Control
import { useUpshipMutation } from "@upship/sdk"
function Recipe() {
const mutation = useUpshipMutation(`
You are a helpful AI assistant.
...
`)
return !mutation.isFetched
? <button onClick={() =>
mutation.mutate({ food: 'Tomato Soup' })
}>
Get Recipe
</button>
: mutation.isLoading
? <div>creating recipe...</div>
: <div>
<h1>{mutation.artifacts.name}</h1>
<p>{mutation.artifacts.recipe}</p>
</div>
}
Simple Setup
import { UpshipProvider } from "@upship/sdk"
function App({ children }) {
return <UpshipProvider value={{
app_id: process.env.UPSHIP_APPLICATION_ID
}}>
{children}
</UpshipProvider>
}
Bult-in Authentication
import { SignedIn, SignedOut, SignInButton } from "@upship/sdk"
function Layout({ children }) {
return <>
<SignedOut>
<SignInButton />
</SignedOut>
<SignedIn>{children}</SignedIn>
</>
}
Prompt Management
import { useUpshipTemplate, useUpshipMutation } from "@upship/sdk"
// Load a prompt template from your dashboard
const { prompt, params } = useUpshipTemplate(
'recipe-builder'
)
// Use it with any hook
useUpshipMutation(prompt, params)
Advanced Controls
import { useUpshipMutation, UpshipModels } from "@upship/sdk"
const mutation = useUpshipMutation(`
You are a helpful AI assistant.
...
`, {
model: UpshipModels.FAST,
tags: ['recipe-building'],
streaming: true
})
Transparent Token-Based Pricing
Same features for everyone, deposit size only affects your rate. Credits never expire.
No Plans
Same features for everyone.
- First developer seat free
- Unlimited number of apps
- Full analytics & reporting
- Non-expiring credits
- All LLM Models available
- Prompt management and collaboration
- Auth Email Allowlists
- Full API access
- Private database instances
- Customizable logging
Processing Tiers & Token Pricing
Model Tier | Input | Output |
---|---|---|
Fast Haiku, GPT-3.5 Turbo, GPT-4o Mini Quick responses for efficient tasks | $0.80 | $4.00 / MTOK |
Balanced Sonnet, GPT-4o, GPT--4 Turbo Ideal blend for most production use cases | $3.00 | $15.00 / MTOK |
Powerful Opus, GPT-4o Vision, GPT-4 Vision Advanced capability for complex reasoning | $15.00 | $75.00 / MTOK |
Deposit Amount
Hobby
N.Nx markup rate
Team
N.Nx markup rate
Pro
N.Nx markup rate
Additional developer seats
First seat free for every app, add more team members as needed
Frequently Asked Questions
Creating an account is simple! Click the “Sign Up” button in the top right corner of our homepage and follow the instructions. You'll need a Google account to sign up.
As many as you want. If you have an idea, we want to help you build it.
A developer seat is access to the control panel of the app. From here you can collborate on and manage prompts, as well as view and replay the traces of your app. The developer seat can also manage the list of emails allowed to login to your app.
GitHub Pages, Vercel, Netlify, or any other static site host.
No. Your credits will never expire.
Yes! We don't store your credentials or payment information, and each of your apps has its own database instance.
Absolutely. With a little configuration, you can connect using a private API key instead.