Upstage × AWS AI Initiative

Let's get started,
one step at a time

If your application has been approved, you are almost ready. Follow this page in order and you will have your first response within 15 minutes.

This part includes a setup checklist and two hands-on first calls.

Before you begin

This part is written for people with no development experience. If some terms are unfamiliar, that is perfectly fine — we explain each one as it comes up. Just read from the top and work your way down.

1

Check which models you can use

Find out which models the AI Initiative covers. You only need to read this once before you start.

2

Prepare four things

An account, a payment method, an API key, and a place to run code. We show you exactly where to click.

3

Understand the rate limits

Learn how many requests you can send at once. This is especially useful if you plan to run a class or process many documents.

4

Get your first response

Run Solar and Document Parse once each. Once you have done that, Part 0 is complete.

What is an [Activity]?

An [Activity] is a step where you try things yourself. You copy a blank template, fill it in, and confirm your progress with a checkpoint. Working through one by hand stays with you far longer than reading alone.

0.1Which models you can use

The AI Initiative covers four things: Solar Pro 2, Solar Pro 3, Solar Pro 4, and Document Parse. Choose from within these four.

First, two terms worth knowing

Solar is a language model that understands and writes text. You use it to answer questions, summarize documents, and make judgments about content.

Document Parse turns files such as PDFs and images into text a computer can read. It preserves the structure of documents that contain tables and charts.

TypeName used in codeThis programNotes
Language modelsolar-pro4CoveredSolar Pro 4start here if you are starting now
Language modelsolar-pro3CoveredSolar Pro 3 — same usage as Pro 4
Language modelsolar-pro2CoveredSolar Pro 2support ends mid-October 2026
Documentdocument-parseCoveredDocument Parse
Language modelsolar-mini and othersUses creditsOther Solar models
Documentinformation-extractUses creditsInformation Extract — not covered by this program
Documentdocument-classifyUses creditsDocument Classify — not covered by this program
Embeddingsolar-embedding-2-query
solar-embedding-2-passage
Uses creditsEmbed — query for the question, passage for the documents. Not covered by this program
Being Document AI does not make it free

Of Upstage's document models, this program covers Document Parse only. Information Extract and Document Classify sound similar but are separately billed products — credits come off the moment you call them.

The good news is that extraction and classification can both be done with Document Parse + Solar. See Part 3 · What is outside the program.

Use the alias for model names

A name without a date at the end, such as solar-pro4, is called an alias. An alias always points to the latest version of that generation, so your code keeps working as the model improves. Upstage's official documentation also recommends using aliases.

If you need to pin a specific version, you can use the longer name with the date at the end instead of the alias. The names available right now are listed in the official models catalog.

The official docs work as written

The example code in Upstage's official documentation and in the Solar Pro 4 Cookbook uses model="solar-pro4". Now that Solar Pro 4 is covered, you can copy those examples as they are.

The docs do also include examples for products outside the program. Watch for calls to solar-mini, Information Extract, Document Classify, and Embed — those draw down credits.

If you plan to use Upstage Studio

In Studio, the one block this program covers is Parse. The Extract block adds a per-page charge on top.

Classify and Instruct are currently free while in Beta, but that is a temporary Upstage policy rather than a program benefit, and pricing is to be announced.

All three products above are covered when you call the API directly from code. See Part 2 · What does it cost for details.

Pro 2, Pro 3, or Pro 4?

If you are starting now, use Solar Pro 4. All three are covered by this program, and they share the same address and the same rate limits. When the terms are identical, take the newest generation. The official docs and the cookbook are also written around solar-pro4, so you can follow them as they are.

The three models take the same request format. To move between them, change the model value and leave everything else alone.

Where you areWhat to do
Starting from scratchStart with solar-pro4
You have code on solar-pro2Change the name to solar-pro4 before mid-October 2026
You have code on solar-pro3Leave it as is. If you do move, only the name changes
Solar Pro 2 support ends in mid-October 2026

You can keep using it until then, but after that date solar-pro2 can no longer be called. If you already have code built on solar-pro2, just change the model name before the cut-off. Pro 3 and Pro 4 have no announced end date.

Key Summary

The AI Initiative covers Solar Pro 2, Solar Pro 3, Solar Pro 4, and Document Parse. Solar Pro 2 support ends in mid-October 2026, so if you are starting now, choose Solar Pro 4.

0.2Four things to prepare

An account, a payment method, an API key, and a place to run code. Once these four are ready, you can make your first call. Let's go through them one at a time.

Create an Upstage account and check your credits

Sign in at console.upstage.ai, then go to Dashboard → Billing → Credit. Confirm that the credits described in your approval email appear in your balance.

If they have not appeared yet, it is fine to wait a little. Approval processing can take some time.

Register a payment method

On the same screen, go to Dashboard → Billing and register a card. This needs to be in place for the credits you received to work.

If you have credits but your call returns an error

In most cases the payment method has simply not been registered yet. Add a card and run the request again, and you should get a normal response.

Registering a card does not charge you

You may worry that adding a card means being billed right away. Your credits and free usage are consumed first, and only usage beyond that is charged to your payment method.

Requests that end in an error are not billed, so there is no need to worry about failed attempts while practising.

Create an API key

An API key is like a password that proves a request came from your account. Every request includes it.

In the console, go to API Keys → [+ Create new key]. Your key starts with up_. The full value is shown only once at creation, so copy it and store it somewhere safe.

It is safer not to write the key directly in your code

If you use Google Colab, store it under the key (🔑) icon on the left as a secret named UPSTAGE_API_KEY, turn on notebook access, and re-run your first cell.

Set up where you will run code

If you want to start without installing anything, we recommend Google Colab. All you need is a web browser.

If you use Python on your own computer, pip install openai requests is all the setup you need.

If you would rather not write code at all, Upstage Studio (studio.upstage.ai) lets you connect blocks on screen. Part 2 covers this.

Key Summary

Credits, payment method, API key, and a place to run code. The payment method is the step most often missed and the hardest to notice.

0.3Understanding rate limits

AI Initiative accounts are provided at Tier 0. There is a limit on how many requests and how much text you can send per minute. Knowing this in advance helps when you plan a class or a large batch.

What do RPM and TPM mean?

RPM (Requests Per Minute) is the number of requests you can send in one minute.

TPM (Tokens Per Minute) is the amount of text that can be processed in one minute. You can think of a token as a unit for counting text.

ItemTier 0Meaning
RPM (requests per minute)100Number of requests you can send in one minute
TPM (tokens per minute)50,000Amount of text that can be processed in one minute
When you exceed itYou receive a 429 response

The same limits apply to Solar Pro 2, Solar Pro 3, and Solar Pro 4. You can check your current tier and the limits that come with it under Billing → Commitment → Rate limit in the console.

Document Parse is measured differently

Document processing is measured per second rather than per minute. The limit is 1 request per second for the synchronous API and 2 per second for the asynchronous API.

When processing several documents, send them one at a time. Sending them all at once will exceed the limit.

Why this matters for this program in particular

AI Initiative applicants work at universities, university hospitals, and nonprofits. Situations where many requests arrive at once are far more common here than one person calling the API occasionally.

SituationWhat happensWhat to do
Classroom exercise
students all run at once
Many people requesting at the same moment fills the per-minute limit quickly Split into groups and run in turns with a time gap. Running it once yourself before class helps you gauge the pace
Bulk document processing
hundreds at once
Responses stop partway through, and it becomes hard to tell how far you got Reduce the batch size and add a gap between requests. Plan how failed items will be retried
Research analysis
long documents in sequence
You hit the text limit before the request limit Split documents and process only the pages you need

If you receive a 429

A 429 is not a failure — it means "please slow down for a moment." Here is what to do.

  1. Do not resend immediately. Wait a few seconds and try again. If it repeats, increase the wait gradually.
  2. Reduce how many requests you run at the same time. If you were sending 10 at once, try 2 or 3.
  3. In a classroom, split into groups and run in turns.
If you are preparing a class

The Tier 0 limit is 100 requests per minute. For example, 30 students running 3 requests each at the same time comes to 90 — close to the limit. Running in groups with a time gap gives you comfortable headroom.

Checking how much you have left

Every response includes your remaining allowance. The command below shows only that information instead of the response body.

Paste into your terminal
curl -s -D - -o /dev/null \
  -H "Authorization: Bearer $UPSTAGE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "solar-pro4", "messages": [{"role": "user", "content": "Hello"}]}' \
  https://api.upstage.ai/v1/chat/completions \
  | grep -i "X-Upstage-RateLimit"
HeaderMeaning
Remaining-RequestsRequests left in this minute
Remaining-TokensText allowance left in this minute
Reset-RequestsWhen the allowance is restored
Retry-After-RequestsIncluded only with a 429 — the time after which you may retry
If you need a higher limit

Purchasing additional credits raises your tier, and the limits rise with it. For institution-scale needs, you can contact Upstage support.

Key Summary

A 429 is a signal to slow down, not a failure. How much you send in a burst matters more than how much you send overall.

0.4Your first response

Now let's actually run something. The goal of this section is one successful call each to Solar and Document Parse.

① Say hello to Solar

Paste the code below into your terminal and run it. A terminal is the window where you type commands directly — PowerShell on Windows, the Terminal app on macOS.

Replace $UPSTAGE_API_KEY with the key you created earlier.

Paste into your terminal
curl -X POST https://api.upstage.ai/v1/chat/completions \
  -H "Authorization: Bearer $UPSTAGE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "solar-pro4",
    "messages": [
      {"role": "user", "content": "Introduce yourself in one sentence."}
    ]
  }'

After a moment you will get back a long response wrapped in braces. It looks complex at first, but there are only a few parts you actually need.

Where to lookWhat it is
choices[0].message.contentThe model's answer. Most of the time this is the only value you need
choices[0].finish_reasonWhy generation stopped. stop means it finished normally
modelThe exact model version that handled the request — useful for checking which version an alias resolved to
usage.total_tokensHow much text this request used. Read it alongside the per-minute limits in 0.3
If you get a 401

This means the key was not passed correctly. Check these two things.

First, make sure the word Bearer comes before your key. This is the most common thing to miss.

Second, check that no spaces or quotation marks were copied along with the key.

With Python the setup is even simpler. Solar is compatible with the OpenAI API, so you can use the familiar OpenAI library and only change the address.

First, install the library
pip install --upgrade openai
Python — the same code works in Colab
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["UPSTAGE_API_KEY"],
    base_url="https://api.upstage.ai/v1",
)

response = client.chat.completions.create(
    model="solar-pro4",
    messages=[{"role": "user", "content": "Introduce yourself in one sentence."}],
)

print(response.choices[0].message.content)
If you want to continue the conversation

Solar does not store previous turns on the server. To go back and forth, include the earlier questions and answers in messages each time you send a request.

The longer a conversation gets, the more you send each turn — so trim or summarize older turns as you go.

② Turn a document into text

Now for Document Parse, which converts a PDF or image into a form a computer can read. The one thing to remember is that it uses a different address from Solar.

Put a PDF named sample.pdf in the same folder and run this.

Paste into your terminal
curl -X POST https://api.upstage.ai/v1/document-digitization \
  -H "Authorization: Bearer $UPSTAGE_API_KEY" \
  -F "document=@sample.pdf" \
  -F "model=document-parse" \
  -F "ocr=force"
If your document has many tables or charts

Setting ocr=force always applies OCR, which improves accuracy on scans and photos.

If tables span multiple pages, or if numbers inside charts matter, look at the Merge Multipage Tables and Chart recognition options as well.

You have made it this far

  • You saw a sentence written by the model in the Solar response.
  • You saw a response containing your document's contents from Document Parse.
  • Both requests completed without errors.

If all three are true, the hands-on part of Part 0 is complete. Nicely done.

Key Summary

Solar uses /v1/chat/completions and Document Parse uses /v1/document-digitization. Each product has its own address.

0.5[Activity] Setup checklist

Copy the template below and fill it in yourself. Writing it out once makes the following parts much easier to follow.

Copy and fill in
# AI Initiative setup checklist

## 1. Account and credits
- [ ] Signed in at console.upstage.ai
- Email used:
- [ ] Checked balance under Billing → Credit
- Current balance:

## 2. Payment method
- [ ] Registered a payment method under Billing

## 3. API key
- [ ] Created a key starting with up_
- [ ] Stored the key somewhere safe
  (In Colab — secret name: UPSTAGE_API_KEY / notebook access ON)

## 4. First response
- [ ] Got a Solar response — model used:
- [ ] Got a Document Parse response
- If there was an error, the status code:

## 5. My plan
- Organization type (university / university hospital / nonprofit or NGO):
- Work I want to automate:
- Expected scale (how many at a time, how many people at once):
  → Does this fit within the Tier 0 limits in 0.3?

Checkpoint

  • All five items are filled in.
  • You have seen a response from Solar and from Document Parse at least once each.
  • You have judged whether your expected scale fits within the Tier 0 limits.
  • If it does not, you have written one line about how you will split the requests.
What counts as done

A perfect plan is not the goal. One successful first response, and a sense of whether your scale fits the limits — that is what completes Part 0.

0.6Frequently asked questions

The six things people ask most often when starting out. Find your symptom below.

Q1I have credits but my call returns an error

The most common cause is a missing payment method.

Go to console.upstage.ai → Dashboard → Billing, register a card, and try again. While you have credits, those are used first.

Q2I get a 401 Unauthorized

Your key is not being passed correctly. Check in this order.

  1. Make sure Bearer comes before the key — Authorization: Bearer up_...
  2. Check that no spaces or quotation marks were copied with the key
  3. In Colab, confirm the secret is named exactly UPSTAGE_API_KEY and that notebook access is on
  4. After turning access on, re-run your first cell for it to take effect
Q3I get a 429 Too Many Requests

You have gone over the Tier 0 limit of 100 requests / 50,000 tokens per minute. This is not a failure.

  • Wait a few seconds instead of resending immediately.
  • Reduce how many requests run at the same time.
  • In a classroom, split into groups and run in turns.

A 429 response includes X-Upstage-RateLimit-Retry-After-Requests. You may retry after the time it gives.

Q4I get "model is invalid" or an unsupported model error

There are three possible causes.

  1. You requested a model outside the covered set. The covered language models are solar-pro2, solar-pro3, and solar-pro4. Calling anything else, such as solar-mini, gives you this error.
  2. You used the wrong address. Each product has its own address. The message points at the model, but the real cause is often the URL.
  3. You called solar-pro2 after mid-October 2026. Support for Solar Pro 2 ends then, and the model can no longer be called. Change it to solar-pro4.
Q5I cannot get past the sign-up or sign-in screen

A VPN or an ad blocker sometimes interferes with the process. Turn both off and try again.

Q6Can I try it before signing up?

Yes. The Playground lets you test models without signing in or registering a card.

However, what you enter in the Playground may be used to improve the model. Please do not enter sensitive documents or personal data. This matters especially at university hospitals and public institutions — see Part 6 for details.

Part 0 key takeaways

  • The AI Initiative covers Solar Pro 2, Solar Pro 3, Solar Pro 4, and Document Parse. Information Extract and Document Classify draw down credits.
  • If you are starting now, use solar-pro4. Solar Pro 2 support ends in mid-October 2026, so move off it before then if you already built on Pro 2.
  • To use the credits you received, register a payment method first.
  • Tier 0 allows 100 requests and 50,000 tokens per minute. A 429 is a signal to slow down.
  • Solar and Document Parse use different addresses.
  • Part 0 is complete when you get one successful response — not when you have a perfect plan.

Where to go next

Now that the setup is done, let's look at what these tools actually do.