How to Automate NotebookLM with the Gemini Notebook API: Deep Research, Chat, Audio Overviews and a Lot More

10 min read • September 29, 2026

Table of contents

  1. Introduction
  2. Sources and prompts
  3. Results
  4. What it cost
  5. How it was built
    1. 1. Create a notebook
    2. 2. Add a web page, a YouTube video and pasted text
    3. 3. Upload a file
    4. 4. Wait until every source is ready
    5. 5. See what a source is about
    6. 6. Ask a question
    7. 7. Keep the answer as a note
    8. 8. Find more sources on the web
    9. 9. Start a Deep Research run
    10. 10. A quiz
    11. 11. An Audio Overview and an infographic
    12. 12. Collect the Deep Research report
    13. 13. Share the notebook
    14. 14. What the first script used
    15. 15. Ask a follow-up question
    16. 16. Turn the note into a source
    17. 17. Flashcards, a mind map, a report and a data table
    18. 18. A Video Overview and a slide deck
    19. 19. Revise one slide
  6. Shortcuts
  7. More of the API
  8. What the NotebookLM API can do
  9. Run both scripts yourself
  10. Frequently asked questions
  11. Conclusion

Introduction

The useapi.net Gemini Notebook API is a REST API for Google’s Gemini Notebook, formerly NotebookLM, that you can call from any language that can send an HTTP request. It drives your own Google account: notebooks, sources, grounded chat, notes, web research, sharing and every Studio artifact.

Four sources and two research questions went in, and 30 minutes of API calls later the notebook held an Audio Overview, an 11-minute Video Overview, a slide deck, an infographic, a Deep Research report and every text artifact Studio makes. Everything below is real output, and every call that made it is further down the page.

Sources and prompts

Input What it is
Web page Apollo 11 on Wikipedia, 27,095 words
YouTube video A New Look at the Apollo 11 Landing Site, NASA Goddard
Pasted text One paragraph, “Why Apollo 11 almost did not land”
PDF upload The same Wikipedia article as a 3.8 MB PDF
Chat question “What went wrong during the descent, and how did the crew handle it?”, then “How much fuel was left when they landed?”
Discover sources “Apollo 11 lunar module guidance computer alarms”
Deep Research “Why did the Apollo 11 landing nearly abort?”

Results

Video Overview — explainer, whiteboard style, 11 min 50 s
the first 90 seconds, cut without re-encoding for our media host · step 18
Slide 1 of the Apollo 11 Mission deck generated by the Gemini Notebook API
Slide deck — presenter format, 8 slides, pdf + pptx
the whole deck as PDF · step 18
Slide 2 before the revision
Slide 2 as generated
Slide 2 after the revision, redrawn as a timeline
Slide 2 revised — "Make this slide a simple timeline graphic."
51 seconds · step 19
Apollo 11 Mission Infographic Overview generated by the Gemini Notebook API
Infographic — portrait, sketch note, 1536 × 2752
1 min 45 s · step 11
Audio Overview — brief, short, 1 min 31 s
"Fifty Seconds of Fuel and Lunar Isolation" · 4 min 36 s to generate · step 11

And as text or JSON, ready to use in your own app:

Result What came back Time
Chat answer 4,237 characters with 21 numbered citations, and a follow-up in the same conversation 35 s
Discover sources 10 web pages with one-line descriptions, 3 imported 16 s
Deep Research A 26,878-character cited report on 30 web sources, imported as a source 3 min 40 s
Quiz 6 questions with answer options, hints and rationales 33 s
Flashcards 20 cards 18 s
Mind map A JSON tree of the whole topic 92 s
Briefing report 27,282 characters of Markdown 79 s
Data table 12 rows of alarms and anomalies with their causes 32 s
Source guide Google’s summary and key topics of the Wikipedia page 1 s

What it cost

useapi.net is an API, not a hosted Gemini Notebook. Every call runs on a Google account of your own, which you connect once through Setup Gemini Notebook, and everything it makes lives in that account. Gemini Notebook itself is free on a free Google account, and paid Google AI plans raise its limits.

You pay useapi.net a flat $15/month for API access to every supported service, and nothing per generation. Each subscription lets you connect 3 Google accounts, up to 100 in total. With more than one connected, the API load-balances across them: omit email and a new notebook goes to the least busy account, and a one-shot POST /artifacts runs on an account with a free job slot and enough usage left for the job. GET /jobs shows the load on every account.

Google meters it with a usage budget per account that refills every 5 hours, plus a weekly budget. Everything on this page used about 35% of a Google AI Pro account’s 5-hour budget, across two windows (10% for the first script, 25% for the second, mostly the video and the slide deck), and 1.7% of its week. How many of each you can start with a full 5-hour budget, counting each job at Google’s own estimate (so these are minimums):

Studio action Free Pro Ultra
Audio Overview 2 9 181
Video Overview 2 9 183
Video Overview, short 2 11 229
Video Overview, cinematic not available 1 25
Report 23 92 1846
Table 16 67 1355
Quiz 43 175 3478
Flashcards 52 212 4285
Infographic 9 37 745
Slide deck 1 7 146
Mind map 66 263 5217
Chat question 62 243 4897

GET /accounts/email shows each account’s live usage, reset times and every action’s current estimate.

How it was built

Two scripts ran back to back: the first (steps 1 to 14) built and researched the notebook and generated the audio, infographic and quiz, the second (steps 15 to 19) made everything else on the same notebook. Both are at the end of the page. Each step shows its result, and its curl request with the response it got is one click away.

You need a useapi.net API token and a Google account connected through Setup Gemini Notebook. Every call is also in the Postman collection if you’d rather click than script. The steps use these variables:

export USEAPI_TOKEN="user:12345-..."
export EMAIL="[email protected]"
API=https://api.useapi.net/v1/gemini-notebook
enc() { jq -rn --arg v "$1" '$v|@uri'; }

The ids the API returns name the account they belong to and contain : and @, so they are URL-encoded (enc) whenever they go into a URL path. Studio generation and research run as jobs: the default mode: sync waits up to 90 seconds and returns the finished result, or 202 with the running job, and mode: async returns 201 with a jobid at once. Poll GET /jobs/jobid or pass replyUrl for a webhook.

1. Create a notebook

POST /notebooks on the connected account. Omit email and the API picks the least busy of your accounts.

curl — POST /notebooks
curl -sS -X POST "$API/notebooks" \
  -H "Authorization: Bearer $USEAPI_TOKEN" -H "Content-Type: application/json" \
  -d "$(jq -n --arg email "$EMAIL" '{email: $email, title: "Apollo 11"}')" | tee notebook.json
NOTEBOOK=$(jq -r .notebook notebook.json)

It returned, in full (step-01-notebook.json):

{
  "notebook": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf",
  "email": "[email protected]",
  "title": "Apollo 11"
}

2. Add a web page, a YouTube video and pasted text

One POST /sources call takes up to 50 urls (YouTube links become video sources) plus pasted text. A file in the account’s Google Drive goes in the same call as drive: [{fileId, mimeType, name}], and POST /sources/sync re-imports it after it changes.

curl — POST /sources
curl -sS -X POST "$API/sources" \
  -H "Authorization: Bearer $USEAPI_TOKEN" -H "Content-Type: application/json" \
  -d "$(jq -n --arg nb "$NOTEBOOK" '{
    notebook: $nb,
    urls: ["https://en.wikipedia.org/wiki/Apollo_11", "https://www.youtube.com/watch?v=xUcYQ7slmRw"],
    title: "Why Apollo 11 almost did not land",
    text: "During the descent the guidance computer raised 1202 and 1201 program alarms, and Armstrong flew the final approach manually to avoid a boulder field, landing with little fuel to spare."
  }')"

It returned, in full (step-02-sources.json):

{
  "notebook": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf",
  "sources": [
    {
      "source": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:3f190e9f-3311-4176-8760-ee2636bde7c9",
      "title": "Apollo 11 - Wikipedia",
      "kind": "web",
      "status": "ready",
      "words": 27095,
      "url": "https://en.wikipedia.org/wiki/Apollo_11",
      "created": "2026-09-29T04:55:41.000Z"
    },
    {
      "source": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:111afb31-abe8-456b-9e11-4d737e62b9c4",
      "title": "A New Look at the Apollo 11 Landing Site",
      "kind": "youtube",
      "status": "ready",
      "words": 13,
      "url": "https://www.youtube.com/watch?v=xUcYQ7slmRw",
      "created": "2026-09-29T04:55:41.000Z"
    },
    {
      "source": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:7b33d275-e4b8-4e7c-82fb-19f616af3132",
      "title": "Why Apollo 11 almost did not land",
      "kind": "text",
      "status": "ready",
      "words": 30,
      "created": "2026-09-29T04:55:41.000Z"
    }
  ]
}

3. Upload a file

POST /sources/upload takes the file as the raw request body, with its MIME type as Content-Type: PDF, Word, PowerPoint, EPUB, Markdown, text, CSV, audio, video or an image.

curl — POST /sources/upload
curl -sS -X POST "$API/sources/upload?notebook=$(enc "$NOTEBOOK")&name=01-apollo11-wikipedia.pdf" \
  -H "Authorization: Bearer $USEAPI_TOKEN" -H "Content-Type: application/pdf" \
  --data-binary @01-apollo11-wikipedia.pdf

It returned, in full (step-03-upload.json):

{
  "notebook": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf",
  "source": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:6e04a6ea-cd2d-44cb-8be5-66f48be21a0d",
  "title": "01-apollo11-wikipedia.pdf",
  "status": "preparing"
}

4. Wait until every source is ready

Google processes each source before it can be used. The 3.8 MB PDF took about 45 seconds, the others were ready at once.

curl — GET /notebooks/notebook, polled
until curl -sS "$API/notebooks/$(enc "$NOTEBOOK")" -H "Authorization: Bearer $USEAPI_TOKEN" > notebook.json &&
      jq -e '[.sources[].status] | all(. == "ready" or . == "error")' notebook.json > /dev/null; do
  sleep 10
done
cat notebook.json

It returned, in full (step-04-notebook.json):

{
  "notebook": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf",
  "email": "[email protected]",
  "title": "Apollo 11",
  "emoji": "🌕",
  "created": "2026-09-29T04:55:39.000Z",
  "updated": "2026-09-29T04:56:37.000Z",
  "sources": [
    {
      "source": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:6e04a6ea-cd2d-44cb-8be5-66f48be21a0d",
      "title": "01-apollo11-wikipedia.pdf",
      "kind": "pdf",
      "status": "ready",
      "words": 21578,
      "mimeType": "application/pdf",
      "created": "2026-09-29T04:55:52.000Z"
    },
    {
      "source": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:111afb31-abe8-456b-9e11-4d737e62b9c4",
      "title": "A New Look at the Apollo 11 Landing Site",
      "kind": "youtube",
      "status": "ready",
      "words": 13,
      "url": "https://www.youtube.com/watch?v=xUcYQ7slmRw",
      "created": "2026-09-29T04:55:41.000Z"
    },
    {
      "source": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:3f190e9f-3311-4176-8760-ee2636bde7c9",
      "title": "Apollo 11 - Wikipedia",
      "kind": "web",
      "status": "ready",
      "words": 27095,
      "url": "https://en.wikipedia.org/wiki/Apollo_11",
      "created": "2026-09-29T04:55:41.000Z"
    },
    {
      "source": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:7b33d275-e4b8-4e7c-82fb-19f616af3132",
      "title": "Why Apollo 11 almost did not land",
      "kind": "text",
      "status": "ready",
      "words": 30,
      "created": "2026-09-29T04:55:41.000Z"
    }
  ],
  "artifacts": []
}

5. See what a source is about

GET /sources/source returns Google’s summary and key topics of one source, and with ?content=true the full text Google indexed from it. For the Wikipedia page the topics were Apollo spaceflight, Lunar landing, Space Race, Mission personnel and Space exploration.

curl — GET /sources/source
WEB=$(jq -r '[.sources[] | select(.kind == "web")][0].source' notebook.json)
curl -sS "$API/sources/$(enc "$WEB")" -H "Authorization: Bearer $USEAPI_TOKEN"

It returned, in full (step-05-source.json):

{
  "source": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:3f190e9f-3311-4176-8760-ee2636bde7c9",
  "title": "Apollo 11 - Wikipedia",
  "kind": "web",
  "status": "ready",
  "words": 27095,
  "url": "https://en.wikipedia.org/wiki/Apollo_11",
  "created": "2026-09-29T04:55:41.000Z",
  "notebook": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf",
  "summary": "The provided source documents the historic **Apollo 11 mission**, which successfully achieved the first **crewed Moon landing** in July 1969. It outlines the intense background of the **Space Race** driven by Cold War rivalries, detailing how President John F. Kennedy's ambitious national goal was realized through immense technological coordination. Additionally, the text covers critical mission preparations, such as crew selections, spacecraft engineering, and site planning, alongside the dramatic real-time moments of the **lunar descent and landing**, famously overcoming sudden computer navigational challenges to alter the course of human history.",
  "topics": [
    "Apollo spaceflight",
    "Lunar landing",
    "Space Race",
    "Mission personnel",
    "Space exploration"
  ]
}

6. Ask a question

POST /chat answers from the sources with numbered citations, each naming its source and quoting the passage. This answer took 35 seconds and carried 21 citations. Send the same conversation with the next question to keep the context (step 15).

curl — POST /chat
curl -sS -X POST "$API/chat" \
  -H "Authorization: Bearer $USEAPI_TOKEN" -H "Content-Type: application/json" \
  -d "$(jq -n --arg nb "$NOTEBOOK" '{notebook: $nb, question: "What went wrong during the descent, and how did the crew handle it?"}')" | tee chat.json

It returned, in full (step-06-chat.json):

{
  "notebook": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf",
  "answer": "During the lunar descent of Apollo 11's Lunar Module *Eagle*, a cascade of unexpected technical anomalies and environmental hazards threatened the landing, requiring rapid problem-solving from both the crew and Mission Control [1-6].\n\n---\n\n### **1. Overshooting the Planned Landing Target**\n* **What went wrong:** As descent began, Neil Armstrong and Buzz Aldrin noticed they were passing lunar landmarks two to three seconds early, meaning *Eagle* was traveling too fast and would land miles downrange of their intended target [3, 7]. Flight controllers suspected this was caused by lunar gravitational anomalies (mascons), extra air pressure in the docking tunnel, or unmodeled forces during earlier maneuvers [3, 7].\n* **How it was handled:** The crew monitored their position closely, maintained composure, and prepared to adapt to landing further west than planned [2, 3, 5, 7].\n\n---\n\n### **2. Computer Program Alarms (1201 and 1202)**\n* **What went wrong:** Five minutes into the descent burn, at about 6,000 feet above the surface, the Lunar Module Guidance Computer (LGC) raised unexpected **1201 and 1202 program alarms** [1, 4, 6]. These indicated \"executive overflows\"—the computer was receiving more data than it could process in real-time and had to postpone lower-priority tasks [1, 4]. The root cause was later identified as a radar hardware mismatch that fed spurious data from the rendezvous radar into the computer while the landing radar was also active [8-10].\n* **How it was handled:** \n  * **Mission Control:** Computer engineer **Jack Garman** recognized that the alarms were safe as long as they remained intermittent [1, 4]. Guidance Officer **Steve Bales** agreed, and CAPCOM **Charles Duke** relayed the \"GO\" call to the crew [1, 4].\n  * **Onboard Software:** Software engineered under **Margaret Hamilton** at MIT was designed to drop lower-priority tasks and prioritize critical guidance calculations, preventing a system crash or an automatic abort [11, 12].\n\n---\n\n### **3. Hazardous Landing Terrain (West Crater)**\n* **What went wrong:** When Armstrong looked out his window, he saw that the automated guidance system was targeting a boulder-strewn area surrounding a 300-foot-wide crater (West crater) [2, 5, 6]. Touching down there would have risked flipping or damaging the lander [2, 5].\n* **How it was handled:** Armstrong took **semi-automatic manual control** of *Eagle* to fly past the boulder field and find clear ground [2, 5, 6, 13, 14]. While Armstrong focused entirely on flying the spacecraft, **Buzz Aldrin called out altitude and navigation data** continuously to keep him informed [2, 5].\n\n---\n\n### **4. Dwindling Fuel and Blinding Lunar Dust**\n* **What went wrong:** Extending the flight to find a clear landing site consumed critical propellant [13, 14]. At 100 feet above the surface, the lander had only about **90 seconds of fuel remaining** [13, 14]. Additionally, the engine exhaust kicked up a blinding cloud of fine lunar dust that obscured the surface, making it difficult to judge motion and speed [14, 15].\n* **How it was handled:** Armstrong picked out large rocks projecting above the dust cloud to visually gauge *Eagle*'s horizontal speed [14, 15]. He cleared a smaller crater and brought the lander down smoothly with roughly **25 to 50 seconds of fuel remaining** before a forced abort would have become necessary [13, 14, 16, 17].\n\n---\n\n### **5. Engine Shutdown and Touchdown**\n* **What went wrong:** When a 67-inch probe hanging from *Eagle*'s footpads touched the Moon, Aldrin called \"Contact light!\" [10, 15, 18]. Engine shutdown was supposed to occur immediately to avoid gas pressure build-up under the craft, but in the intensity of the moment, Armstrong delayed shutting down the engine for about three seconds [15, 18].\n* **How it was handled:** *Eagle* settled safely on the Moon without damage [15, 18]. The crew immediately ran through post-landing checklists to secure the engine, after which Armstrong announced: *\"Houston, Tranquility Base here. The Eagle has landed\"* [10, 15, 19-21].\n\n💡 Would you like to explore what happened during the moonwalk itself, or look into the close calls the crew faced during their liftoff and ascent from the lunar surface?",
  "conversation": "51147e56-85e3-4862-b0a4-12fd1410b1a5",
  "citations": [
    {
      "number": 1,
      "source": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:6e04a6ea-cd2d-44cb-8be5-66f48be21a0d",
      "text": "Lunar descentEagle in lunar orbit photographed from Columbia Armstrong pilots Eagle to its landing on the Moon, July 20, 1969. Five minutes into the descent burn, and 6,000 feet (1,800 m) above the surface of the Moon, the LM guidance computer (LGC) distracted the crew with the first of several unexpected 1201 and 1202 program alarms. Inside Mission Control Center, computer engineer Jack Garman told Guidance Officer Steve Bales it was safe to continue the descent, and this was relayed to the crew. The program alarms indicated \"executive overflows\", meaning the guidance computer could not complete all its tasks in real-time and had to postpone some of them.[117][118]",
      "relevance": 0.9848101265822785
    },
    {
      "number": 2,
      "source": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:6e04a6ea-cd2d-44cb-8be5-66f48be21a0d",
      "text": "When Armstrong again looked outside, he saw that the computer's landing system was targeting a boulder-strewn area just north and east of a 300-foot-diameter (91  m) crater (later determined to be West crater), so he took semi-automatic control.[123][124] Armstrong considered landing short of the boulder field so they could collect geological samples from it, but could not since their horizontal velocity was too high. Throughout the descent, Aldrin called out navigation data to Armstrong, who was busy piloting Eagle.[125]",
      "relevance": 0.9291139240506329
    },
    {
      "number": 3,
      "source": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:3f190e9f-3311-4176-8760-ee2636bde7c9",
      "text": "Lunar descentColumbia in lunar orbit, photographed from EagleAt 12:52:00 UTC on July 20, Aldrin and Armstrong entered Eagle, and began the final preparations for lunar descent. [8] At 17:44:00 Eagle separated from Columbia. [13] Collins, alone aboard Columbia, inspected Eagle as it pirouetted before him to ensure the craft was not damaged, and that the landing gear was correctly deployed. [113] [114] Armstrong exclaimed: \"The Eagle has wings!\" [114]As the descent began, Armstrong and Aldrin found themselves passing landmarks on the surface two or three seconds early, and reported that they were \"long\"; they would land miles west of their target point. Eagle was traveling too fast. The problem could have been mascons—concen tra tions of high mass in a region or regions of the Moon's crust that contains a gravitational anomaly, potentially altering Eagle' s trajectory. Flight Director Gene Kranz speculated that it could have resulted from extra air pressure in the docking tunnel, or a result of Eagle' s pirouette maneuver. [115] [116]",
      "relevance": 0.9113924050632911
    },
    {
      "number": 4,
      "source": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:3f190e9f-3311-4176-8760-ee2636bde7c9",
      "text": "Five minutes into the descent burn, and 6,000 feet (1,800 m) above the surface of the Moon, the LM guidance computer (LGC) distracted the crew with the first of several unexpected 1201 and 1202 program alarms. Inside Mission Control Center, computer engineer Jack Garman told Guidance Officer Steve Bales it was safe to continue the descent, and this was relayed to the crew. The program alarms indicated \"executive overflows\", meaning the guidance computer could not complete all its tasks in real-time and had to postpone some of them. [117] [118] Margaret Hamilton, the Director of Apollo Flight Computer Programming at the MIT Charles Stark Draper Laboratory later recalled:",
      "relevance": 0.9974683544303797
    },
    {
      "number": 5,
      "source": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:3f190e9f-3311-4176-8760-ee2636bde7c9",
      "text": "LandingDuration: 4 minutes and 30 seconds. 4:30 Subtitles available. CC  Armstrong pilots Eagle to its landing on the Moon, July 20, 1969.When Armstrong again looked outside, he saw that the computer's landing system was targeting a boulder-strewn area just north and east of a 300-foot-diameter (91 m) crater (later determined to be West crater), so he took semi-automatic control. [123] [124] Armstrong considered landing short of the boulder field so they could collect geological samples from it, but could not since their horizontal velocity was too high. Throughout the descent, Aldrin called out navigation data to Armstrong, who was busy piloting Eagle. [125]",
      "relevance": 0.8177215189873418
    },
    {
      "number": 6,
      "source": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:7b33d275-e4b8-4e7c-82fb-19f616af3132",
      "text": "During the descent the guidance computer raised 1202 and 1201 program alarms, and Armstrong flew the final approach manually to avoid a boulder field, landing with little fuel to spare.",
      "relevance": 1
    },
    {
      "number": 7,
      "source": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:6e04a6ea-cd2d-44cb-8be5-66f48be21a0d",
      "text": "At 12:52:00 UTC on July 20, Aldrin and Armstrong entered Eagle, and began the final preparations for lunar descent.[8] At 17:44:00 Eagle separated from Columbia.[13] Collins, alone aboard Columbia, inspected Eagle as it pirouetted before him to ensure the craft was not damaged, and that the landing gear was correctly deployed.[113][114] Armstrong exclaimed: \"The Eagle has wings!\"[114] As the descent began, Armstrong and Aldrin found themselves passing landmarks on the surface two or three seconds early, and reported that they were \"long\"; they would land miles west of their target point. Eagle was traveling too fast. The problem could have been mascons—concen tra tions of high mass in a region or regions of the Moon's crust that contains a gravitational anomaly, potentially altering Eagle 's trajectory. Flight Director Gene Kranz speculated that it could have resulted from extra air pressure in the docking tunnel, or a result of Eagle 's pirouette maneuver.[115][116]",
      "relevance": 0.9468354430379747
    },
    {
      "number": 8,
      "source": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:6e04a6ea-cd2d-44cb-8be5-66f48be21a0d",
      "text": "During the mission, the cause was diagnosed as the rendezvous radar switch being in the wrong position, causing the computer to process data from both the rendezvous and landing radars at the same time.[120][121] Software engineer Don Eyles concluded in a 2005 Guidance and Control Conference paper that the problem was due to a hardware design bug previously seen during testing of the first uncrewed LM in Apollo 5. Having the rendezvous radar on (so it was warmed up in case of an emergency landing abort) should have been irrelevant to the computer, but an electrical phasing mismatch between two parts of the rendezvous radar system could cause the stationary antenna to appear to the computer as dithering back and forth between two positions, depending upon how the hardware randomly powered up. The extra spurious cycle stealing, as the rendezvous radar updated an involuntary counter, caused the computer alarms.[122]",
      "relevance": 0.9949367088607595
    },
    {
      "number": 9,
      "source": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:3f190e9f-3311-4176-8760-ee2636bde7c9",
      "text": "During the mission, the cause was diagnosed as the rendezvous radar switch being in the wrong position, causing the computer to process data from both the rendezvous and landing radars at the same time. [120] [121] Software engineer Don Eyles concluded in a 2005 Guidance and Control Conference paper that the problem was due to a hardware design bug previously seen during testing of the first uncrewed LM in Apollo 5. Having the rendezvous radar on (so it was warmed up in case of an emergency landing abort) should have been irrelevant to the computer, but an electrical phasing mismatch between two parts of the rendezvous radar system could cause the stationary antenna to appear to the computer as dithering back and forth between two positions, depending upon how the hardware randomly powered up. The extra spurious cycle stealing, as the rendezvous radar updated an involuntary counter, caused the computer alarms. [122]",
      "relevance": 0.9924050632911392
    },
    {
      "number": 10,
      "source": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:3f190e9f-3311-4176-8760-ee2636bde7c9",
      "text": "A light informed Aldrin that at least one of the 67-inch (170 cm) probes hanging from Eagle' s footpads had touched the surface a few moments before the landing and he said: \"Contact light!\" Armstrong was supposed to immediately shut the engine down, as the engineers suspected the pressure caused by the engine's own exhaust reflecting off the lunar surface could make it explode, but he forgot. Three seconds later, Eagle landed and Armstrong shut the engine down. [127] Aldrin immediately said \"Okay, engine stop. ACA—out of detent.\" Armstrong acknowledged: \"Out of detent. Auto.\" Aldrin continued: \"Mode control—both auto. Descent engine command override off. Engine arm—off. 413 is in.\" [128]",
      "relevance": 0.9746835443037974
    },
    {
      "number": 11,
      "source": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:6e04a6ea-cd2d-44cb-8be5-66f48be21a0d",
      "text": "Margaret Hamilton, the Director of Apollo Flight Computer Programming at the MIT Charles Stark Draper Laboratory later recalled: To blame the computer for the Apollo 11 problems is like blaming the person who spots a fire and calls the fire department. Actually, the computer was programmed to do more than recognize error conditions. A complete set of recovery programs was incorporated into the software. The software's action, in this case, was to eliminate lower priority tasks and re-establish the more important ones. The computer, rather than almost forcing an abort, prevented an abort. If the computer hadn't recognized this problem and taken recovery action, I doubt if Apollo 11 would have been the successful Moon landing it was.[119]",
      "relevance": 0.9822784810126582
    },
    {
      "number": 12,
      "source": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:3f190e9f-3311-4176-8760-ee2636bde7c9",
      "text": "Eagle in lunar orbit photographed from ColumbiaTo blame the computer for the Apollo 11 problems is like blaming the person who spots a fire and calls the fire department. Actually, the computer was programmed to do more than recognize error conditions. A complete set of recovery programs was incorporated into the software. The software's action, in this case, was to eliminate lower priority tasks and re-establish the more important ones. The computer, rather than almost forcing an abort, prevented an abort. If the computer hadn't recognized this problem and taken recovery action, I doubt if Apollo 11 would have been the successful Moon landing it was. [119]",
      "relevance": 0.979746835443038
    },
    {
      "number": 13,
      "source": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:6e04a6ea-cd2d-44cb-8be5-66f48be21a0d",
      "text": "Armstrong found a clear patch of ground and maneuvered the spacecraft towards it. As he got closer, now 250 feet (76 m) above the surface, he discovered his new landing site had a crater in it. Now 107 feet (33 m) above the surface, Armstrong knew their propellant supply was dwindling and was determined to land at the first possible landing site. He cleared the crater and found another patch of level ground. They were now 100 feet (30  m) from the surface, with only 90 seconds of propellant 0:00",
      "relevance": 0.9392405063291139
    },
    {
      "number": 14,
      "source": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:3f190e9f-3311-4176-8760-ee2636bde7c9",
      "text": "Armstrong found a clear patch of ground and maneuvered the spacecraft towards it. As he got closer, now 250 feet (76 m) above the surface, he discovered his new landing site had a crater in it. Now 107 feet (33 m) above the surface, Armstrong knew their propellant supply was dwindling and was determined to land at the first possible landing site. He cleared the crater and found another patch of level ground. They were now 100 feet (30 m) from the surface, with only 90 seconds of propellant remaining. Lunar dust kicked up by the LM's engine began to impair his ability to determine the spacecraft's motion. Some large rocks jutted out of the dust cloud, and Armstrong focused on them during his descent so he could determine the spacecraft's speed. [126]",
      "relevance": 0.7924050632911392
    },
    {
      "number": 15,
      "source": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:6e04a6ea-cd2d-44cb-8be5-66f48be21a0d",
      "text": "LandingThe landing site relative to West crater A 3-D view from the Lunar Reconnaissance Orbiter (LRO) of the Apollo 11 landing site remaining. Lunar dust kicked up by the LM's engine began to impair his ability to determine the spacecraft's motion. Some large rocks jutted out of the dust cloud, and Armstrong focused on them during his descent so he could determine the spacecraft's speed.[126] A light informed Aldrin that at least one of the 67-inch (170  cm) probes hanging from Eagle 's footpads had touched the surface a few moments before the landing and he said: \"Contact light!\" Armstrong was supposed to immediately shut the engine down, as the engineers suspected the pressure caused by the engine's own exhaust reflecting off the lunar surface could make it explode, but he forgot. Three seconds later, Eagle landed and Armstrong shut the engine down.[127] Aldrin immediately said \"Okay, engine stop. ACA—out of detent.\" Armstrong acknowledged: \"Out of detent. Auto.\" Aldrin continued: \"Mode control—both auto. Descent engine command override off. Engine arm—off. 413 is in.\"[128]",
      "relevance": 0.9518987341772152
    },
    {
      "number": 16,
      "source": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:6e04a6ea-cd2d-44cb-8be5-66f48be21a0d",
      "text": "ACA was the Attitude Control Assembly—the LM's control stick. Output went to the LGC to command the reaction control system (RCS) jets to fire. \"Out of Detent\" meant the stick had moved away from its centered position; it was spring-centered like the turn indicator in a car. Address 413 of the Abort Guidance System (AGS) contained the variable that indicated the LM had landed.[10] Eagle landed at 20:17:40 UTC on Sunday July 20 with 216 pounds (98 kg) of usable fuel remaining. Information available to the crew and mission controllers during the landing showed the LM had enough fuel for another 25 seconds of powered flight before an abort without touchdown would have become unsafe,[10][129] but post-mission analysis showed that the real figure was probably closer to 50 seconds.[130] Apollo 11 landed with less fuel than most subsequent missions, and the astronauts encountered a premature low fuel warning. This was later found to be the result of the propellant sloshing more than expected, uncovering a fuel sensor. On subsequent missions, extra anti-slosh baffles were added to the tanks to prevent this.[10]",
      "relevance": 0.9493670886075949
    },
    {
      "number": 17,
      "source": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:3f190e9f-3311-4176-8760-ee2636bde7c9",
      "text": "The landing site relative to West craterACA was the Attitude Control Assembly—the LM's control stick. Output went to the LGC to command the reaction control system (RCS) jets to fire. \"Out of Detent\" meant the stick had moved away from its centered position; it was spring-centered like the turn indicator in a car. Address 413 of the Abort Guidance System (AGS) contained the variable that indicated the LM had landed. [10]Eagle landed at 20:17:40 UTC on Sunday July 20 with 216 pounds (98 kg) of usable fuel remaining. Information available to the crew and mission controllers during the landing showed the LM had enough fuel for another 25 seconds of powered flight before an abort without touchdown would have become unsafe, [10] [129] but post-mission analysis showed that the real figure was probably closer to 50 seconds. [130] Apollo 11 landed with less fuel than most subsequent missions, and the astronauts encountered a premature low fuel warning. This was later found to be the result of the propellant sloshing more than expected, uncovering a fuel sensor. On subsequent missions, extra anti-slosh baffles were added to the tanks to prevent this. [10]",
      "relevance": 0.9316455696202531
    },
    {
      "number": 18,
      "source": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:3f190e9f-3311-4176-8760-ee2636bde7c9",
      "text": "Eagle' s hatch was opened at 02:39:33. [13] Armstrong initially had some difficulties squeezing through the hatch with his portable life support system (PLSS). [136] Some of the highest heart rates recorded from Apollo astronauts occurred during LM egress and ingress. [139] At 02:51 Armstrong began his descent to the lunar surface. The remote-control unit on his chest kept him from seeing his feet. Climbing down the nine-rung ladder, Armstrong pulled a D-ring to deploy the modular equipment stowage assembly (MESA) folded against Eagle' s side and activate the TV camera. [140] [141]",
      "relevance": 0.9417721518987342
    },
    {
      "number": 19,
      "source": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:6e04a6ea-cd2d-44cb-8be5-66f48be21a0d",
      "text": "Armstrong acknowledged Aldrin's completion of the post-landing checklist with \"Engine arm is off\", before responding to the CAPCOM, Charles Duke, with the words, \"Houston, Tranquility Base here. The Eagle has landed.\" Armstrong's unrehearsed change of call sign from \"Eagle\" to \"Tranquility Base\" emphasized to listeners that landing was complete and successful.[131] Duke expressed the relief at Mission Control: \"Roger, Twan— Tranquility, we copy you on the ground. You got a bunch of guys about to turn blue. We're breathing again. Thanks a lot.\"[10][132]",
      "relevance": 0.7367088607594937
    },
    {
      "number": 20,
      "source": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:3f190e9f-3311-4176-8760-ee2636bde7c9",
      "text": "Apollo 11 used slow-scan television (TV) incompatible with broadcast TV, so it was displayed on a special monitor and a conventional TV camera viewed this monitor (thus, a broadcast of a broadcast), significantly reducing the quality of the picture. [142] The signal was received at Goldstone in the United States, but with better fidelity by Honeysuckle Creek Tracking Station near Canberra in Australia. Minutes later the feed was switched to the more sensitive Parkes radio telescope in Australia. [143] Despite some technical and weather difficulties, black and white images of the first lunar EVA were received and broadcast to at least 600 million people on Earth. [143] Copies of this video in broadcast format were saved and are widely available, but recordings of the original slow scan source transmission from the lunar surface were likely destroyed during routine magnetic tape re-use at NASA. [142]",
      "relevance": 0.7291139240506329
    },
    {
      "number": 21,
      "source": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:3f190e9f-3311-4176-8760-ee2636bde7c9",
      "text": "Armstrong said moving in the lunar gravity, one-sixth of Earth's, was \"even perhaps easier than the simulations ... It's absolutely no trouble to walk around.\" [141] Aldrin joined him on the surface and tested methods for moving around, including two-footed kangaroo hops. The PLSS backpack created a tendency to tip backward, but neither astronaut had serious problems maintaining balance. Loping became the preferred method of movement. The astronauts reported that they needed to plan their movements six or seven steps ahead. The fine soil was quite slippery. Aldrin remarked that moving from sunlight into Eagle' s shadow produced no temperature change inside the suit, but the helmet was warmer in sunlight, so he felt cooler in shadow. [141] The MESA failed to provide a stable work platform and was in shadow, slowing work somewhat. As they worked, the moonwalkers kicked up gray dust, which soiled the outer part of their suits. [152]",
      "relevance": 0.6683544303797468
    }
  ],
  "ms": 34877
}

7. Keep the answer as a note

POST /notes saves text in the notebook. Notes can be listed, edited and deleted, and step 16 turns this one into a source.

curl — POST /notes
curl -sS -X POST "$API/notes" \
  -H "Authorization: Bearer $USEAPI_TOKEN" -H "Content-Type: application/json" \
  -d "$(jq -n --arg nb "$NOTEBOOK" --arg a "$(jq -r .answer chat.json)" '{notebook: $nb, title: "What went wrong during the descent", content: $a}')" | tee note.json

It returned, in full (step-07-note.json):

{
  "notebook": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf",
  "note": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:3ae0d70e-29eb-4f70-804e-0fe6c936f35f",
  "title": "What went wrong during the descent",
  "content": "During the lunar descent of Apollo 11's Lunar Module *Eagle*, a cascade of unexpected technical anomalies and environmental hazards threatened the landing, requiring rapid problem-solving from both the crew and Mission Control [1-6].\n\n---\n\n### **1. Overshooting the Planned Landing Target**\n* **What went wrong:** As descent began, Neil Armstrong and Buzz Aldrin noticed they were passing lunar landmarks two to three seconds early, meaning *Eagle* was traveling too fast and would land miles downrange of their intended target [3, 7]. Flight controllers suspected this was caused by lunar gravitational anomalies (mascons), extra air pressure in the docking tunnel, or unmodeled forces during earlier maneuvers [3, 7].\n* **How it was handled:** The crew monitored their position closely, maintained composure, and prepared to adapt to landing further west than planned [2, 3, 5, 7].\n\n---\n\n### **2. Computer Program Alarms (1201 and 1202)**\n* **What went wrong:** Five minutes into the descent burn, at about 6,000 feet above the surface, the Lunar Module Guidance Computer (LGC) raised unexpected **1201 and 1202 program alarms** [1, 4, 6]. These indicated \"executive overflows\"—the computer was receiving more data than it could process in real-time and had to postpone lower-priority tasks [1, 4]. The root cause was later identified as a radar hardware mismatch that fed spurious data from the rendezvous radar into the computer while the landing radar was also active [8-10].\n* **How it was handled:** \n  * **Mission Control:** Computer engineer **Jack Garman** recognized that the alarms were safe as long as they remained intermittent [1, 4]. Guidance Officer **Steve Bales** agreed, and CAPCOM **Charles Duke** relayed the \"GO\" call to the crew [1, 4].\n  * **Onboard Software:** Software engineered under **Margaret Hamilton** at MIT was designed to drop lower-priority tasks and prioritize critical guidance calculations, preventing a system crash or an automatic abort [11, 12].\n\n---\n\n### **3. Hazardous Landing Terrain (West Crater)**\n* **What went wrong:** When Armstrong looked out his window, he saw that the automated guidance system was targeting a boulder-strewn area surrounding a 300-foot-wide crater (West crater) [2, 5, 6]. Touching down there would have risked flipping or damaging the lander [2, 5].\n* **How it was handled:** Armstrong took **semi-automatic manual control** of *Eagle* to fly past the boulder field and find clear ground [2, 5, 6, 13, 14]. While Armstrong focused entirely on flying the spacecraft, **Buzz Aldrin called out altitude and navigation data** continuously to keep him informed [2, 5].\n\n---\n\n### **4. Dwindling Fuel and Blinding Lunar Dust**\n* **What went wrong:** Extending the flight to find a clear landing site consumed critical propellant [13, 14]. At 100 feet above the surface, the lander had only about **90 seconds of fuel remaining** [13, 14]. Additionally, the engine exhaust kicked up a blinding cloud of fine lunar dust that obscured the surface, making it difficult to judge motion and speed [14, 15].\n* **How it was handled:** Armstrong picked out large rocks projecting above the dust cloud to visually gauge *Eagle*'s horizontal speed [14, 15]. He cleared a smaller crater and brought the lander down smoothly with roughly **25 to 50 seconds of fuel remaining** before a forced abort would have become necessary [13, 14, 16, 17].\n\n---\n\n### **5. Engine Shutdown and Touchdown**\n* **What went wrong:** When a 67-inch probe hanging from *Eagle*'s footpads touched the Moon, Aldrin called \"Contact light!\" [10, 15, 18]. Engine shutdown was supposed to occur immediately to avoid gas pressure build-up under the craft, but in the intensity of the moment, Armstrong delayed shutting down the engine for about three seconds [15, 18].\n* **How it was handled:** *Eagle* settled safely on the Moon without damage [15, 18]. The crew immediately ran through post-landing checklists to secure the engine, after which Armstrong announced: *\"Houston, Tranquility Base here. The Eagle has landed\"* [10, 15, 19-21].\n\n💡 Would you like to explore what happened during the moonwalk itself, or look into the close calls the crew faced during their liftoff and ascent from the lunar surface?",
  "type": "note",
  "created": "2026-09-29T04:57:19.000Z",
  "updated": "2026-09-29T04:57:19.000Z"
}

8. Find more sources on the web

POST /research with type: "fast" is Gemini Notebook’s Discover sources. It returned 10 web pages in 16 seconds. Nothing enters the notebook until POST /research/import, and three were picked. Two came back: Google could not fetch the third page (a Stack Exchange question), so it is left out of the answer and listed in the notebook with status error. An import waits until Google has fetched every page, about a minute and a half here. If Google takes longer, the API answers 504 after about two minutes and the import usually still completes, so check the notebook before you retry. Never retry blindly, since that adds every source twice.

curl — POST /research + POST /research/import
curl -sS -X POST "$API/research" \
  -H "Authorization: Bearer $USEAPI_TOKEN" -H "Content-Type: application/json" \
  -d "$(jq -n --arg nb "$NOTEBOOK" '{notebook: $nb, type: "fast", query: "Apollo 11 lunar module guidance computer alarms"}')" | tee discover.json

The Discover job, in full (step-08-discover-job.json):

{
  "jobid": "job:ca20f94b-fa29-463e-b798-6865271fcee3-user:[email protected]:gemini_notebook",
  "email": "[email protected]",
  "type": "research",
  "status": "completed",
  "notebook": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf",
  "created_at": "2026-09-29T04:57:20.923Z",
  "request": {
    "notebook": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf",
    "type": "fast",
    "query": "Apollo 11 lunar module guidance computer alarms"
  },
  "completed_at": "2026-09-29T04:57:37.329Z",
  "result": {
    "mode": "fast",
    "query": "Apollo 11 lunar module guidance computer alarms",
    "summary": "Technical analyses, flight logs, and developer accounts explore the hardware constraints and software recovery behind Apollo 11's alarms.",
    "sources": [
      {
        "url": "https://klabs.org/history/apollo_11_alarms/eyles_2004/eyles_2004.htm",
        "title": "TALES FROM THE LUNAR MODULE GUIDANCE COMPUTER - klabs.org",
        "description": "Primary account by software developer explaining the 1201/1202 overload mechanics.",
        "cited": true
      },
      {
        "url": "https://www.ibiblio.org/apollo/Documents/CherryApollo11Exegesis.pdf",
        "title": "Exegesis of the 1201 and 1202 Alarms Which Occurred During the Mission G Lunar Landing - Ibiblio",
        "description": "In-depth engineering analysis detailing how the rendezvous radar stole computer cycles.",
        "cited": true
      },
      {
        "url": "https://space.stackexchange.com/questions/37730/why-did-a-phase-mismatch-between-the-apollo-11-lms-rr-and-agc-generate-a-large",
        "title": "Why did a phase mismatch between the Apollo 11 LM's RR and AGC generate a large numbers of interrupts?",
        "description": "Technical explanation of the phase mismatch that flooded interrupts.",
        "cited": true
      },
      {
        "url": "https://www.forbes.com/sites/jimclash/2025/07/14/flight-controller-steve-bales-and-tension-that-led-to-mans-first-step/",
        "title": "Flight Controller Steve Bales And Tension That Led To Man's First Step - Forbes",
        "description": "Interview with Guidance Officer Steve Bales detailing the 'Go' call.",
        "cited": true
      },
      {
        "url": "https://honeysucklecreek.net/interviews/jack_garman.html",
        "title": "Jack Garman interview - Honeysuckle Creek",
        "description": "Primary account including Jack Garman's famous alarm cheat sheet.",
        "cited": true
      },
      {
        "url": "https://www.cbsnews.com/boston/news/margaret-hamilton-apollo-11-software-pioneer-interview/",
        "title": "Margaret Hamilton: MIT Software Pioneer Who Helped Save Apollo 11 Moon Mission",
        "description": "Overview of Margaret Hamilton's asynchronous software architecture design.",
        "cited": true
      },
      {
        "url": "https://fredhaise.space/docs/astro-adventures/Other_Apollo_System_Integration_Issue_A11.pdf",
        "title": "SYSTEM INTEGRATION ISSUES IN APOLLO 11 Abstract - FredHaise.space",
        "description": "Debunks myths regarding system failures versus designed priority-task dropping.",
        "cited": true
      },
      {
        "url": "https://ntrs.nasa.gov/api/citations/19910008862/downloads/19910008862.pdf",
        "title": "Flight Operations Apollo 11 20th Reunion - NASA Technical Reports Server (NTRS)",
        "description": "Official NASA flight log tracking the exact timeline of descent alarms.",
        "cited": true
      },
      {
        "url": "https://ideas-productivity.org/assets/artifacts/hpcbp/webinar031-Apollo50th.pdf",
        "title": "the apollo guidance computer hardware, software and application in moon missions - IDEAS Productivity",
        "description": "Deep technical breakdown of the computer's executive architecture and tasks.",
        "cited": true
      },
      {
        "url": "https://padailypost.com/2019/07/15/locals-restore-apollo-11-computer-get-it-to-run-moon-landing-program/",
        "title": "Locals restore Apollo 11 computer, get it to run moon-landing program - Palo Alto Daily Post",
        "description": "Account of engineers restoring authentic computer hardware to run descent software.",
        "cited": true
      }
    ]
  }
}
curl -sS --max-time 310 -X POST "$API/research/import" \
  -H "Authorization: Bearer $USEAPI_TOKEN" -H "Content-Type: application/json" \
  -d "$(jq -n --arg j "$(jq -r .jobid discover.json)" --argjson urls "$(jq '[.result.sources[0:3][].url]' discover.json)" '{jobid: $j, urls: $urls}')"

The import, in full (step-08-discover-import.json):

{
  "notebook": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf",
  "sources": [
    {
      "source": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:e4c49cf6-a319-4107-8d5e-cf3a89777938",
      "title": "TALES FROM THE LUNAR MODULE GUIDANCE COMPUTER - klabs.org",
      "kind": "web",
      "status": "ready",
      "words": 9452,
      "url": "https://klabs.org/history/apollo_11_alarms/eyles_2004/eyles_2004.htm",
      "created": "2026-09-29T04:57:39.000Z"
    },
    {
      "source": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:89b439a4-937a-4090-8786-78aff974b0b9",
      "title": "Exegesis of the 1201 and 1202 Alarms Which Occurred During the Mission G Lunar Landing - Ibiblio",
      "kind": "pdf",
      "status": "ready",
      "words": 3739,
      "url": "https://www.ibiblio.org/apollo/Documents/CherryApollo11Exegesis.pdf",
      "created": "2026-09-29T04:57:39.000Z"
    }
  ]
}

9. Start a Deep Research run

type: "deep" runs Deep Research: Google reads dozens of web pages and writes a cited report. It takes minutes, so it starts async here and is collected in step 12, after the Studio jobs.

curl — POST /research (deep, async)
curl -sS -X POST "$API/research" \
  -H "Authorization: Bearer $USEAPI_TOKEN" -H "Content-Type: application/json" \
  -d "$(jq -n --arg nb "$NOTEBOOK" '{notebook: $nb, type: "deep", query: "Why did the Apollo 11 landing nearly abort?", mode: "async"}')" | tee deep.json
DEEP=$(jq -r .jobid deep.json)

It returned, in full (step-09-deep-research-submit.json):

{
  "jobid": "job:e2af6631-3d2b-4630-87b1-e115620e0c4e-user:[email protected]:gemini_notebook",
  "email": "[email protected]",
  "type": "research",
  "status": "processing",
  "notebook": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf",
  "created_at": "2026-09-29T04:59:08.701Z",
  "request": {
    "notebook": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf",
    "type": "deep",
    "query": "Why did the Apollo 11 landing nearly abort?"
  }
}

10. A quiz

POST /artifacts with type: "quiz". It finished in 33 seconds, within the 90-second sync wait, so the call returned the finished quiz: 6 questions in result.content.quiz, each with answer options, a hint and a rationale per option. Quizzes, flashcards and mind maps are JSON, ready to render in your own app.

curl — POST /artifacts (quiz)
curl -sS -X POST "$API/artifacts" \
  -H "Authorization: Bearer $USEAPI_TOKEN" -H "Content-Type: application/json" \
  -d "$(jq -n --arg nb "$NOTEBOOK" '{notebook: $nb, type: "quiz", quantity: "fewer", difficulty: "medium"}')"

It returned, in full (step-10-quiz-job.json):

{
  "jobid": "job:14c2a798-6c43-49a0-b728-10f8cab3e828-user:[email protected]:gemini_notebook",
  "email": "[email protected]",
  "type": "quiz",
  "status": "completed",
  "notebook": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf",
  "artifact": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:39d36b48-c756-40bd-8593-a401def3bffb",
  "created_at": "2026-09-29T04:59:15.804Z",
  "request": {
    "notebook": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf",
    "type": "quiz",
    "quantity": "fewer",
    "difficulty": "medium"
  },
  "completed_at": "2026-09-29T04:59:49.030Z",
  "result": {
    "title": "Apollo Quiz",
    "content": {
      "quiz": [
        {
          "question": "According to accounts from NASA leadership, what was a primary reason Neil Armstrong was chosen over Buzz Aldrin to be the first person to step onto the lunar surface?",
          "answerOptions": [
            {
              "text": "Mission planners felt Armstrong possessed a calm, quiet demeanor suitable for such a historic public figure.",
              "rationale": "Key leadership figures like Chris Kraft sought a quiet and humble representative similar to Charles Lindbergh for the iconic first moonwalk.",
              "isCorrect": true
            },
            {
              "text": "Physical constraints of the Lunar Module hatch geometry prevented the pilot from exiting first without damaging the suits.",
              "rationale": "Although hatch clearance made egress awkward and Aldrin believed this was the reason for years, mission leadership had already decided on the order based on personal characteristics.",
              "isCorrect": false
            },
            {
              "text": "NASA protocol mandated that the Command Module Pilot always received priority for extravehicular surface activities.",
              "rationale": "In previous programs like Gemini, spacewalks were typically performed by the pilot rather than the commander, contradicting the idea of a fixed protocol.",
              "isCorrect": false
            },
            {
              "text": "Aldrin declined the first step to focus exclusively on monitoring systems inside the Lunar Module during depressurization.",
              "rationale": "Historical accounts indicate Aldrin actively campaigned and lobbied other astronauts to be the first person to step onto the Moon.",
              "isCorrect": false
            }
          ],
          "hint": "Consider the image NASA leadership wanted to project to the world for this historic milestone."
        },
        {
          "question": "What primary issue triggered the unexpected 1201 and 1202 program alarms in the Apollo Guidance Computer during lunar descent?",
          "answerOptions": [
            {
              "text": "The computer was overloaded because the rendezvous radar switch was active, sending redundant data alongside the landing radar.",
              "rationale": "An electrical mismatch caused the rendezvous radar to continually steal CPU processing cycles while the computer was simultaneously attempting landing calculations.",
              "isCorrect": true
            },
            {
              "text": "High concentrations of mass under the Moon's crust created gravitational anomalies that overloaded trajectory calculations.",
              "rationale": "Mass concentrations (mascons) contributed to the Lunar Module traveling faster and landing longer than planned, but they were not the cause of the computer alarms.",
              "isCorrect": false
            },
            {
              "text": "Low propellant levels in the descent stage caused rapid sensor polling that overwhelmed the computer's memory.",
              "rationale": "Fuel sloshing triggered early low-fuel warnings in the cabin, but this system was distinct from the guidance computer's executive overflow alarms.",
              "isCorrect": false
            },
            {
              "text": "Excess air pressure inside the docking tunnel corrupted digital communication signals between modules.",
              "rationale": "Residual tunnel pressure was speculated as a reason for the initial trajectory overshoot, not a source of computer processing delays.",
              "isCorrect": false
            }
          ],
          "hint": "Focus on how hardware switches for dual radar tracking affected processor capacity."
        },
        {
          "question": "Which factor was explicitly excluded as a consideration when selecting Site 2 in the Sea of Tranquility for the Apollo 11 landing?",
          "answerOptions": [
            {
              "text": "Scientific value and geological diversity of the lunar surface",
              "rationale": "The Site Selection Board prioritized landing safety, slope, and radar clarity over scientific interest for the first crewed landing.",
              "isCorrect": true
            },
            {
              "text": "Maintaining a free-return trajectory back to Earth",
              "rationale": "Safety requirements dictated that the path must allow a passive return to Earth if propulsion failed.",
              "isCorrect": false
            },
            {
              "text": "Ensuring a general terrain slope of less than two degrees",
              "rationale": "A nearly flat landing zone was required to keep the Lunar Module stable upon touchdown.",
              "isCorrect": false
            },
            {
              "text": "Restricting the Sun angle behind the Lunar Module between 7 and 20 degrees",
              "rationale": "Proper shadow definition and thermal control required strict sun-angle constraints during the landing approach.",
              "isCorrect": false
            }
          ],
          "hint": "Think about whether operational safety or academic discovery took priority for the first landing."
        },
        {
          "question": "How did Buzz Aldrin resolve the damaged main engine circuit breaker inside the Lunar Module prior to lunar ascent?",
          "answerOptions": [
            {
              "text": "He used the nonconductive tip of a felt-tip pen to push the breaker in.",
              "rationale": "A standard Duro felt-tip pen provided a safe, nonconductive tool to depress the broken switch stem and arm the engine.",
              "isCorrect": true
            },
            {
              "text": "He struck the control panel using the geologist's sampling hammer to force electrical contact.",
              "rationale": "The hammer was used on the lunar surface for core tube sampling, not for delicate internal electronics repair.",
              "isCorrect": false
            },
            {
              "text": "He rewired the circuit using spare cables from the Lunar Equipment Conveyor.",
              "rationale": "The Lunar Equipment Conveyor was a mechanical cable pulley used for hoisting rock boxes, not electrical wiring.",
              "isCorrect": false
            },
            {
              "text": "Mission Control initiated an automated remote command override from Earth.",
              "rationale": "The astronauts had to physically engage the broken breaker inside the cabin to complete the circuit for engine ignition.",
              "isCorrect": false
            }
          ],
          "hint": "Recall a common everyday writing instrument carried in the astronauts' gear."
        },
        {
          "question": "Why was the initial design of the Apollo 11 mission emblem rejected by Manned Spacecraft Center Director Bob Gilruth?",
          "answerOptions": [
            {
              "text": "The eagle's extended, bare talons were perceived as looking too warlike.",
              "rationale": "To project a message of peace, the design was altered so the olive branch was held in the eagle's talons rather than its beak.",
              "isCorrect": true
            },
            {
              "text": "The shadow on the Earth in the background was rendered on the wrong side.",
              "rationale": "Although Michael Collins acknowledged that the lighting on Earth was artistically incorrect, this was not the cause for official rejection.",
              "isCorrect": false
            },
            {
              "text": "The patch included astronaut surnames, violating the requirement for universal representation.",
              "rationale": "The astronauts themselves decided to leave their names off the emblem so it would represent everyone who worked on the program.",
              "isCorrect": false
            },
            {
              "text": "The call sign 'Columbia' was omitted from the outer ring of the insignia.",
              "rationale": "The crew chose to use 'Apollo 11' instead of spelled-out numerals or module names to ensure clarity for non-English speakers.",
              "isCorrect": false
            }
          ],
          "hint": "Look at the symbol of peace and where it was moved on the final patch."
        },
        {
          "question": "What was the fate of the uncrewed Soviet probe Luna 15 during the Apollo 11 mission?",
          "answerOptions": [
            {
              "text": "It crashed in Mare Crisium during descent while attempting to retrieve lunar samples ahead of Apollo 11.",
              "rationale": "Luna 15 was launched in a desperate attempt to collect lunar soil and return to Earth first, but it impacted the Moon while Armstrong and Aldrin were on the surface.",
              "isCorrect": true
            },
            {
              "text": "It successfully landed, collected soil, and returned to Earth hours before Apollo 11 launched.",
              "rationale": "The mission failed during its landing attempt and did not return any samples to Earth.",
              "isCorrect": false
            },
            {
              "text": "It failed to reach lunar orbit due to a launcher stage malfunction over the Atlantic.",
              "rationale": "Luna 15 successfully reached lunar orbit ahead of Apollo 11, but malfunctioned during its actual landing descent.",
              "isCorrect": false
            },
            {
              "text": "It was deliberately redirected into a heliocentric orbit to avoid radio interference with Columbia.",
              "rationale": "It was the third stage of Saturn V (S-IVB) that was sent into solar orbit, whereas Luna 15 crashed directly onto the lunar surface.",
              "isCorrect": false
            }
          ],
          "hint": "Consider the competitive automated sample-return attempt made by the Soviet Union simultaneously with Apollo 11."
        }
      ],
      "topics": {
        "covered": [
          "Apollo 11 Crew Selection and Decision Making",
          "Lunar Landing Operations and Computer Anomalies",
          "Mission Insignia and Landing Site Criteria",
          "Space Race Geopolitics and Concurrent Robotic Missions"
        ],
        "followUp": [
          "Apollo Spacecraft Systems Architecture and Engineering",
          "Analysis of Returned Lunar Samples and Mineralogy",
          "Project Gemini Precursor Flight Operations"
        ]
      }
    }
  }
}

11. An Audio Overview and an infographic

Audio and video take minutes, so both went in async and were polled. The infographic finished in 1 minute 45 seconds, the Audio Overview in 4 minutes 36 seconds. Each finished job lists its files, and every file link goes through GET /artifacts/download with your token (m4a, mp4, pdf, pptx, png). Both are shown in Results.

curl — POST /artifacts (audio + infographic, async), GET /jobs/jobid, download
AUDIO=$(curl -sS -X POST "$API/artifacts" \
  -H "Authorization: Bearer $USEAPI_TOKEN" -H "Content-Type: application/json" \
  -d "$(jq -n --arg nb "$NOTEBOOK" '{notebook: $nb, type: "audio", format: "brief", length: "short", mode: "async"}')" | jq -r .jobid)

INFOGRAPHIC=$(curl -sS -X POST "$API/artifacts" \
  -H "Authorization: Bearer $USEAPI_TOKEN" -H "Content-Type: application/json" \
  -d "$(jq -n --arg nb "$NOTEBOOK" '{notebook: $nb, type: "infographic", orientation: "portrait", style: "sketch_note", mode: "async"}')" | jq -r .jobid)

rm -f files.txt
for JOBID in "$AUDIO" "$INFOGRAPHIC"; do
  until curl -sS "$API/jobs/$(enc "$JOBID")" -H "Authorization: Bearer $USEAPI_TOKEN" > job.json &&
        jq -e '.status == "completed" or .status == "failed"' job.json > /dev/null; do
    sleep 15
  done
  cat job.json
  jq -r '.result.files[]?.url' job.json >> files.txt
done

while read -r url; do
  curl -sS -H "Authorization: Bearer $USEAPI_TOKEN" -OJ "$url"
done < files.txt

The audio job, in full (step-11-audio-job.json):

{
  "jobid": "job:1d3937ef-d3aa-4bff-a736-4b1e320eab14-user:[email protected]:gemini_notebook",
  "email": "[email protected]",
  "type": "audio",
  "status": "completed",
  "notebook": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf",
  "artifact": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:63e7d7a4-bd12-4974-9848-459621414913",
  "created_at": "2026-09-29T04:59:55.773Z",
  "request": {
    "notebook": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf",
    "type": "audio",
    "format": "brief",
    "length": "short"
  },
  "completed_at": "2026-09-29T05:04:31.632Z",
  "result": {
    "title": "Fifty Seconds of Fuel and Lunar Isolation",
    "duration": 91,
    "files": [
      {
        "format": "m4a",
        "mimeType": "audio/mp4",
        "url": "https://api.useapi.net/v1/gemini-notebook/artifacts/download?artifact=user%3A12345-user%40example.com-artifact%3A62600bab-4082-4ee6-8fc3-955cee0c69cf%3A63e7d7a4-bd12-4974-9848-459621414913&format=m4a"
      }
    ]
  }
}

The infographic job, in full (step-11-infographic-job.json):

{
  "jobid": "job:fef4a209-2227-450e-8be3-b5c0e4189a19-user:[email protected]:gemini_notebook",
  "email": "[email protected]",
  "type": "infographic",
  "status": "completed",
  "notebook": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf",
  "artifact": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:1d548a2c-f823-4406-a600-aea523c14e80",
  "created_at": "2026-09-29T05:00:01.939Z",
  "request": {
    "notebook": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf",
    "type": "infographic",
    "orientation": "portrait",
    "style": "sketch_note"
  },
  "completed_at": "2026-09-29T05:01:47.120Z",
  "result": {
    "title": "Apollo 11 Mission Infographic Overview",
    "files": [
      {
        "format": "png",
        "mimeType": "image/png",
        "url": "https://api.useapi.net/v1/gemini-notebook/artifacts/download?artifact=user%3A12345-user%40example.com-artifact%3A62600bab-4082-4ee6-8fc3-955cee0c69cf%3A1d548a2c-f823-4406-a600-aea523c14e80&format=png",
        "width": 1536,
        "height": 2752
      }
    ],
    "text": "OVERVIEW\n\nApollo 11: Humanity's First Steps on the Moon\n\nJuly 1969: NASA fulfills JFK's goal.\nCrew: Armstrong, Aldrin, Collins.\nCulmination of the Space Race, entering a new era of exploration.\n\n\nOUTBOUND JOURNEY & HISTORIC LANDING (JULY 16-20, 1969)\n\n- Saturn V Lift-off from Kennedy Space Center: July 16, 1969, carrying Neil Armstrong, Buzz Aldrin, and Michael Collins. [Illustration shows the rocket launching upwards on flames and smoke, with a sketch of the three crew members looking out from a capsule window].\n- 1201 & 1202 Guidance Computer Alarms: Executive overflows overloaded the computer; software recovery prevented abort. [Illustration shows the lunar module highlighted by dynamic alarm lines and a red flashing beacon light].\n- Eagle Lands at Tranquility Base Under Manual Control: Armstrong manually piloted past boulders; landed safely with under 50 seconds of fuel remaining. [Illustration of the lunar lander descending onto the cratered surface of the Moon].\n\n\nMOONWALK & SAFE RETURN (JULY 20-24, 1969)\n\n- Historic Quote: \"That's one small step for [a] man, one giant leap for mankind\"\n- Broadcast Details: 02:56 UTC, watched live by 600 million people. [Illustration shows a small television set next to an astronaut boot leaving a detailed footprint in the lunar soil with a giant Moon in the background].\n- Lunar Samples: 21.55 kg of Lunar Samples Collected. Spent 2.5 hours exploring, deploying instruments, collecting rocks. [Illustration depicts a mechanical balance scale weighing rocks and a tied sample bag].\n- Return Journey: Safe Splashdown in the Pacific Ocean. Crew successfully returned July 24; recovered by USS Hornet. [Illustrations depict the ascent stage blasting off from the lunar surface, followed by the spacecraft descending under a striped parachute into ocean waters near a ship]."
  }
}

The files: the Audio Overview (m4a) and the infographic (png).

12. Collect the Deep Research report

The Deep Research run from step 9 finished in 3 minutes 40 seconds, while the Studio jobs ran: “Anatomy of a Lunar Descent: Systems Architecture, Hardware Anomaly, and Human Decision-Making in the Apollo 11 Landing Near-Abort”, 26,878 characters of Markdown with [cite: n] markers, on 30 sources, 24 of them cited. Imported as a source (3,146 words), it grounds every later answer and artifact. urls: [] with report: true imports the report alone, and leaving urls out imports it with every cited source, as the app’s Import button does.

curl — GET /jobs/jobid + POST /research/import
until curl -sS "$API/jobs/$(enc "$DEEP")" -H "Authorization: Bearer $USEAPI_TOKEN" > deep.json &&
      jq -e '.status == "completed" or .status == "failed"' deep.json > /dev/null; do
  sleep 15
done
cat deep.json

The finished Deep Research job, in full (step-12-deep-research-job.json):

{
  "jobid": "job:e2af6631-3d2b-4630-87b1-e115620e0c4e-user:[email protected]:gemini_notebook",
  "email": "[email protected]",
  "type": "research",
  "status": "completed",
  "notebook": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf",
  "created_at": "2026-09-29T04:59:08.701Z",
  "request": {
    "notebook": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf",
    "type": "deep",
    "query": "Why did the Apollo 11 landing nearly abort?"
  },
  "completed_at": "2026-09-29T05:02:48.478Z",
  "result": {
    "mode": "deep",
    "query": "Why did the Apollo 11 landing nearly abort?",
    "report": {
      "title": "Anatomy of a Lunar Descent: Systems Architecture, Hardware Anomaly, and Human Decision-Making in the Apollo 11 Landing Near-Abort",
      "markdown": "# Anatomy of a Lunar Descent: Systems Architecture, Hardware Anomaly, and Human Decision-Making in the Apollo 11 Landing Near-Abort\n\nThe Apollo 11 lunar landing on July 20, 1969, stands as one of the defining technological achievements of the twentieth century [cite: 1, 2]. However, the descent of the Lunar Module (*Eagle*) to the Sea of Tranquility was extraordinarily close to termination [cite: 3, 4]. During the twelve-minute powered descent phase, a complex convergence of digital computer hardware overloads, unmapped trajectory deviations, telemetry dropouts, and propellant sloshing dynamics repeatedly pushed the mission to the brink of an immediate abort [cite: 2, 3, 5, 6]. \n\nThe near-abort of Apollo 11 was not caused by a single critical failure, but rather by the dynamic interaction of tightly coupled physical and software systems operating under strict real-time constraints [cite: 7, 8]. Examining these factors reveals how advanced software engineering, rigorous simulation protocols, and real-time decision-making prevented what could have been a catastrophic mission failure [cite: 9, 10, 11].\n\n## Architectural Constraints of the Apollo Guidance Computer\n\nTo comprehend the failure modes that manifested during powered descent, one must first examine the operational constraints of the Apollo Guidance Computer (AGC) designed by the Massachusetts Institute of Technology (MIT) Instrumentation Laboratory [cite: 2, 12]. Operating at a clock speed of $1.024\\text{ MHz}$ with a cycle time of $11.7\\text{ }\\mu\\text{s}$, the AGC was a fixed-point, 16-bit processor utilizing 14 bits of data, one sign bit, and one parity bit [cite: 2]. Its physical memory was split into two distinct structures: a 36,864-word fixed read-only memory (core rope ROM) housing executable code and constants, and a 2,048-word erasable random-access memory (magnetic core RAM) reserved for variable system data [cite: 2, 12].\n\n| Memory Architectural Parameter | Allocation Specification | System Function |\n| :--- | :--- | :--- |\n| **Fixed Memory (Core Rope ROM)** | 36,864 Words (15-bit data) | Permanent storage of executable flight programs, routines, and physical constants [cite: 2, 12]. |\n| **Erasable Memory (Magnetic Core RAM)** | 2,048 Words Total | Volatile scratchpad memory for state variables, counters, and execution buffers [cite: 2, 12]. |\n| **Executive Core Sets** | 8 Allocation Blocks (12 words each) | Temporary memory reserved for job parameters, entry addresses, and control flags [cite: 4, 13]. |\n| **Vector Accumulators (VAC Areas)** | 5 Allocation Blocks (5 words each) | Scratchpad buffers dedicated to complex vector mathematics and guidance calculations [cite: 4, 8]. |\n| **Multipurpose Accumulator (MPAC)** | 7 Words | High-speed temporary storage for intermediate mathematical values [cite: 4]. |\n\nBecause erasable memory was extremely limited, MIT software engineers led by Margaret Hamilton, Don Eyles, and Peter Adler designed an asynchronous, priority-driven real-time operating system [cite: 2, 9, 12]. The software execution was managed by two key routines within the operating system: the Executive and NOVAC [cite: 4]. The Executive allocated RAM and CPU cycles based on strict job priorities [cite: 4, 9]. When a new task was initiated, the Executive scanned available memory using NOVAC to assign one of eight available Core Sets and, if vector mathematics were required, one of five available Vector Accumulators (VAC areas) [cite: 4, 8, 13].\n\nWhen high-priority tasks—such as inertial guidance calculations or thruster attitude control—demanded execution while lower-priority routines were running, the Executive interrupted the lower-priority tasks [cite: 4, 9, 13]. If the Executive ran out of Core Sets or VAC areas because tasks were queuing faster than they could complete, the system was programmed to invoke a emergency safety routine called `BAILOUT` [cite: 8, 14]. The `BAILOUT` routine flushed all non-essential temporary jobs from the Executive queue, cleared the temporary RAM allocations, and rebooted the guidance computer, maintaining primary attitude control and navigation vector processing without crashing the machine [cite: 4, 8, 9, 14].\n\n## Hardware Integration and the Root Cause of the Program Alarms\n\nAt Ground Elapsed Time (GET) 102:38:22, approximately 30,000 feet above the lunar surface during Powered Descent Initiation (PDI), the DSKY display flashed a `1202` program alarm, followed shortly by `1201` program alarms [cite: 4, 8, 15]. In the cockpit, Commander Neil Armstrong and Lunar Module Pilot Buzz Aldrin were confronted with cryptic codes that were not explicitly detailed in their operational procedure manuals [cite: 2, 3].\n\nThe technical root cause of these alarms was an unforeseen hardware interaction between the spacecraft's electrical systems and the guidance computer [cite: 7, 16]. Operational flight procedures directed the crew to place the Rendezvous Radar (RR) switch in `AUTO` mode prior to descent [cite: 2, 7]. This ensured that the radar antenna would be powered, warmed up, and tracking the Command Module (*Columbia*) in orbit in the event of an immediate abort and emergency ascent [cite: 2, 7, 8].\n\nHowever, the power supply driving the Rendezvous Radar operated at an $800\\text{ Hz}$ excitation frequency, whereas the AGC Coupling Data Units (CDUs)—the hardware interfaces reading the radar antenna angles—were referenced to an independent $400\\text{ Hz}$ power supply [cite: 7, 17]. A phase mismatch between these two power supplies caused the radar resolver hardware to emit continuous, high-frequency signal fluctuations into the guidance computer interface [cite: 7, 17].\n\nTo process antenna angle updates without consuming software processing steps, the AGC hardware utilized direct memory access instructions known as \"cycle stealing\" or unprogrammed instructions [cite: 17, 18]. Each pulse generated by the unstable radar interface forced the computer's central processor to pause its main execution for an $11.7\\text{ }\\mu\\text{s}$ memory cycle to increment or decrement the internal angle counters [cite: 2, 17]. Because of the power supply phase mismatch, the radar interface inundated the computer with thousands of unprogrammed interrupts per second, stealing approximately $13\\%$ to $15\\%$ of the processor's total operating capacity [cite: 7, 8, 13].\n\nThe lunar landing software had been engineered to consume roughly $90\\%$ of the computer's operational capacity, leaving a duty cycle margin of less than $10\\%$ [cite: 8, 17]. Primary descent operations were governed by a fixed two-second guidance cycle known as `SERVICER` [cite: 8, 17]. Every two seconds, `SERVICER` was required to perform a comprehensive chain of sequential tasks:\n1. Sample internal accelerometer data from the Inertial Measurement Unit [cite: 8, 17].\n2. Compute the vehicle's state vectors and trajectory updates [cite: 8, 17].\n3. Calculate throttle settings for the Descent Propulsion System engine [cite: 8, 17].\n4. Command attitude control jet firings [cite: 8, 17].\n5. Refresh the telemetry and numerical displays on the DSKY unit [cite: 8, 17].\n\nWhen the $13\\%-15\\%$ hardware cycle-stealing load was superimposed on `SERVICER`'s $90\\%$ computational requirement, the total CPU demand exceeded $100\\%$ capacity [cite: 7, 8]. Consequently, `SERVICER` was unable to complete its execution string within the allocated two-second window [cite: 8]. When the Executive attempted to spawn a new `SERVICER` task while the previous instance was still active and holding its assigned Core Set and VAC area, the Executive exhausted its available memory allocations [cite: 8]. The computer responded by executing `BAILOUT`, clearing the queue, resetting the processor, and displaying a `1202` alarm (indicating Core Set exhaustion) or a `1201` alarm (indicating VAC area exhaustion) [cite: 8, 14].\n\n## Mission Control Dynamics and the Critical \"Go\" Decision\n\nThe appearance of the `1202` alarm inside Mission Control created immediate tension [cite: 2]. Armstrong's voice over the communications link reflected the urgency of the moment as he requested a status evaluation: *\"Give us a reading on the 1202 Program Alarm\"* [cite: 4, 8, 14]. Neither the crew nor the majority of ground controllers understood the precise operational boundary of executive overflow alarms [cite: 2, 3, 16].\n\nThe factor that prevented an erroneous mission abort call was a simulation exercise conducted less than two weeks prior to launch [cite: 10, 11]. During that final training run, Guidance Officer (GUIDO) Steve Bales had called an abort when a computer alarm flashed on his console [cite: 10, 11]. Subsequent post-simulation analysis revealed that the abort was unnecessary because the guidance software was still maintaining accurate trajectory control [cite: 11, 16]. Flight Director Gene Kranz subsequently mandated that Bales catalog every possible computer alarm code and establish explicit operational protocols for abort versus non-abort conditions [cite: 10, 11, 19].\n\nBales' support specialist in the Mission Control backroom, 24-year-old Jack Garman, compiled a handwritten handwritten document listing every AGC error code and its operational significance [cite: 3, 10, 14]. Garman recognized `1201` and `1202` as `BAILOUT` restart commands [cite: 11, 14, 19]. He understood that as long as the alarms occurred at discrete intervals—allowing the computer to clear its temporary storage buffers without dropping core state vectors—the flight software was protecting itself while continuing to calculate primary navigation guidance [cite: 4, 9, 14].\n\n| Timeline (GET) | Flight Participant | Action / Verbal Transmission | Operational Significance |\n| :--- | :--- | :--- | :--- |\n| **102:38:22** | DSKY Unit | Displays `1202` Program Alarm [cite: 4, 15]. | Indicates Executive Core Set memory exhaustion [cite: 8]. |\n| **102:38:30** | Neil Armstrong | *\"It's a 1202.\"* [cite: 14] | Crew alerts Mission Control to system anomaly [cite: 2, 14]. |\n| **102:38:42** | Neil Armstrong | *\"Give us a reading on the 1202 Program Alarm.\"* [cite: 4, 8, 14] | Commander demands real-time guidance assessment [cite: 4, 14]. |\n| **Backroom Loop** | Jack Garman | Consults handwritten alarm reference document [cite: 3, 10, 14]. | Advises GUIDO that alarm is non-fatal if intermittent [cite: 8, 14]. |\n| **Flight Loop** | Steve Bales | Evaluates telemetry; issues \"GO\" recommendation [cite: 3, 4, 8]. | Verifies state vectors and navigation accuracy [cite: 3, 8]. |\n| **102:38:53** | Charlie Duke (CapCom) | *\"Roger. We're Go on that alarm.\"* [cite: 4, 14] | Official authorization relayed to proceed with descent [cite: 4, 14]. |\n\nWhen the `1202` alarm triggered during the descent, Garman informed Bales that the landing could continue provided the alarm did not become continuous [cite: 8, 14]. Bales quickly cross-checked the spacecraft's primary trajectory data, verified that altitude and velocity state vectors were within safe margins, and recommended a \"GO\" to Gene Kranz [cite: 3, 4, 8]. Capcom Charlie Duke then transmitted the decision to *Eagle*: *\"We're Go on that alarm\"* [cite: 4, 14]. \n\nThis decision highlighted the resilience built into Margaret Hamilton's software design [cite: 9]. Rather than suffering a catastrophic system freeze, the computer prioritized critical navigation computations, shed secondary tasks, and refreshed its memory structures [cite: 4, 9, 13]. The computer was operating as designed under extreme overload conditions [cite: 4, 14].\n\n## Trajectory Deviations and the Downrange Overshoot\n\nWhile Mission Control resolved the computer alarms, a physical trajectory error was unfolding [cite: 5]. As the spacecraft pitched over into a windows-up orientation to allow visual observation of the lunar surface during program `P64`, Armstrong realized that *Eagle* was targeting a landing location approximately 3,000 feet (915 meters) downrange of the pre-planned touchdown site [cite: 5].\n\nThis trajectory overshoot resulted from three unmodeled physical perturbations:\n* Residual air pressure trapped in the docking tunnel between the Command Module and Lunar Module had not been fully evacuated prior to physical separation, acting as a pneumatic piston that imparted an uncalculated velocity increment ($\\Delta v$) along the flight path [cite: 5].\n* Localized mass concentrations beneath the lunar crust (mascons) exerted unmodeled gravitational pull on the vehicle during its preceding low lunar orbits, distorting the orbital parameters pre-loaded into the guidance computer [cite: 1, 5].\n* Accumulated state vector propagation errors in ground-based tracking updates created discrepancies in downrange position calculations [cite: 5].\n\nThe 3,000-foot positional shift directed *Eagle*'s automatic guidance system toward the boulder-strewn ejecta field of \"West Crater\"—a large crater filled with rocks up to several meters in diameter [cite: 3, 20]. Landing in this terrain risked structural damage, landing gear failure, or tipping the vehicle upon touchdown [cite: 1, 20].\n\n## Manual Maneuvering, Fuel Slosh, and the Fuel Crisis\n\nRecognizing the hazard posed by the boulder field, Armstrong took manual control of the spacecraft's trajectory [cite: 3, 14]. At an altitude of approximately 500 feet, he overridden the automatic landing program `P64` and selected `P66` (attitude hold / manual rate-of-descent mode) at GET 102:41:53 [cite: 3, 15, 20]. Under `P66`, Armstrong adjusted the vehicle's pitch and roll manually to translate forward past West Crater, while the guidance computer automatically managed the thrusters to maintain attitude stability and execute descent rate inputs from the control stick [cite: 3, 15, 20].\n\nExtending the flight path downrange to find a smooth landing site created a severe fuel management challenge [cite: 3, 20]. The additional flight time rapidly depleted the hypergolic propellants inside the Descent Propulsion System (DPS) tanks [cite: 20].\n\nThis fuel margin issue was exacerbated by fluid dynamics inside the propellant tanks [cite: 6, 20]. As Armstrong executed manual translation maneuvers, the remaining liquid nitrogen tetroxide and aerozine-50 propellants sloshed back and forth within the spherical tanks [cite: 6, 20]. This sloshing motion uncovered the internal low-level sensors prematurely, latching the \"Low Quantity\" warning light earlier than actual fuel levels warranted [cite: 6].\n\nThe early latching of the fuel quantity sensor initiated a mandatory countdown clock in Mission Control [cite: 6, 20]. Flight rules dictated that if the spacecraft reached \"Bingo fuel\"—the threshold where remaining propellant was sufficient only to perform an emergency ascent ignition and rendezvous—the crew was required to abort immediately [cite: 6, 20]. \n\nCapcom Charlie Duke issued the \"60 seconds\" warning call, followed by the \"30 seconds\" warning call as the remaining fuel margin dwindled [cite: 6, 20]. Maintaining a low vertical descent rate while maneuvering over dust clouds kicked up by the descent engine exhaust, Armstrong landed *Eagle* at MET 102:45:40 [cite: 20]. Post-landing analysis confirmed that *Eagle* touched down with approximately 20 to 25 seconds of fuel remaining before reaching the mandatory Bingo abort limit [cite: 20].\n\n## Comprehensive Matrix of Descent Anomalies\n\nThe following matrix synthesizes the technical causes, operational impacts, and engineering mitigations associated with the failure modes encountered during the Apollo 11 descent.\n\n| Anomaly Category | Primary Technical Cause | System Manifestation | Operational Impact | Engineering & Procedural Mitigation |\n| :--- | :--- | :--- | :--- | :--- |\n| **Executive Overload Alarms** | Phase mismatch ($800\\text{ Hz}$ vs $400\\text{ Hz}$) between radar and CDU interface causing CPU cycle stealing [cite: 7, 17]. | `1201` and `1202` Program Alarms; memory structure exhaustion [cite: 8]. | Non-essential tasks dropped; DSKY updates temporarily suspended [cite: 8, 9, 14]. | Asynchronous defensive priority scheduling (`BAILOUT`) [cite: 8, 9]; Garman/Bales \"GO\" protocol [cite: 3, 14]. |\n| **Downrange Position Offset** | Residual pressure in docking tunnel during separation + lunar mascon gravitational pull [cite: 1, 5]. | Trajectory shifted $3,000\\text{ ft}$ downrange from target site [cite: 5]. | Automatic guidance targeted West Crater boulder field [cite: 3, 20]. | Armstrong engaged `P66` manual rate-of-descent mode to fly clear of rocks [cite: 3, 15, 20]. |\n| **Telemetry Disruption** | Vehicle pitch/yaw attitude obscured line-of-sight for S-Band High Gain Antenna [cite: 15, 21]. | Intermittent Loss of Signal (LOS) and telemetry noise in MCC [cite: 21, 22]. | Ground controllers lost real-time engineering telemetry streams [cite: 3, 21]. | Switched to omni-directional antennas; CapCom requested vehicle re-orientation [cite: 23, 24]. |\n| **Propellant Depletion Risk** | Propellant sloshing during `P66` manual translation uncovered sensors early [cite: 6, 20]. | Early latching of Low Quantity sensor light [cite: 6]. | Accelerated \"Bingo fuel\" countdown in Mission Control [cite: 6, 20]. | Refined post-flight slosh baffles; landing completed before zero-fuel threshold [cite: 6, 20]. |\n\n## Systems Engineering Synthesis and Industry Legacy\n\nThe near-abort of Apollo 11 offers fundamental lessons for aerospace software design, hardware system integration, and operational risk management.\n\n### Software Resilience as a Primary Defensive Layer\nThe Apollo Guidance Computer demonstrated that complex systems operating in dynamic environments cannot rely solely on the total elimination of unexpected hardware behavior or input noise [cite: 2, 9, 13]. By implementing priority-driven task scheduling and asynchronous execution, MIT software engineers built an operating system capable of surviving unexpected real-time overloads [cite: 9, 13]. Rather than locking up or suffering a catastrophic hardware crash when overloaded, the AGC shed non-essential processing load, cleared its memory queues, and preserved safety-critical navigation routines [cite: 4, 9, 14]. This defensive architecture laid the conceptual groundwork for modern fault-tolerant avionics, fly-by-wire flight control systems, and autonomous real-time computing platforms [cite: 13].\n\n### Human Flexibility in Automated Systems\nAutomated flight guidance systems provide high precision during nominal operations, but struggle when confronted with unmodeled physical terrain hazards [cite: 3]. Had Apollo 11 relied entirely on automatic landing guidance (`P64`), the vehicle would have touched down inside the West Crater boulder field, risking structural failure [cite: 3, 5, 20]. Neil Armstrong’s manual intervention using `P66` demonstrated the necessity of human-in-the-loop control modes in high-risk operational environments [cite: 3, 14]. System designs must provide human operators with transparent, real-time data and manual override capability when automated guidance parameters fail [cite: 3].\n\n### Interface Coupling and Cascading System Hazards\nThe Apollo 11 descent illustrates how isolated, non-critical hardware anomalies can combine to create severe system-wide operational hazards. The electrical phase mismatch in the radar interface was completely unrelated to the physical gas pressure trapped in the docking tunnel [cite: 5, 7]. However, when combined, the resulting computer alarms and downrange trajectory offset forced a manual extended hover that nearly exhausted the vehicle's propellant reserves [cite: 3, 8, 20]. Modern systems engineering protocols emphasize rigorous cross-domain interface reviews to identify and decouple potential cascading failure pathways before deployment [cite: 7].\n\n### Simulation Protocols and Operational Preparedness\nThe rapid resolution of the `1202` alarm during powered descent was a direct result of NASA's simulation practices [cite: 10, 11]. The failed simulation run two weeks prior to launch forced ground controllers to analyze edge cases and establish clear operational thresholds for computer overflow codes [cite: 10, 11, 19]. When the actual emergency occurred, Steve Bales and Jack Garman did not need to diagnose the underlying electrical cause of the radar pulse anomaly; they only needed to confirm that core state vector processing remained valid [cite: 3, 8, 14]. Pre-flight simulation protocols that stress systems to failure remain an essential tool for training operational decision-makers to manage high-stress emergencies [cite: 10, 11, 23].\n\nUltimately, Apollo 11 succeeded because its hardware, software, and human support systems were designed to absorb unforeseen disruptions [cite: 9, 14, 23]. The landing remains a model of engineering resilience: a mission saved not by the absence of system anomalies, but by the ability to detect, manage, and overcome them in real time [cite: 9, 14, 23].\n\n---\n\n1. Apollo 11 - Wikipedia, [https://en.wikipedia.org/wiki/Apollo_11](https://en.wikipedia.org/wiki/Apollo_11)\n2. Apollo 11 Lunar Surface Journal: Program Alarms - NASA, [https://www.nasa.gov/wp-content/uploads/static/history/alsj/a11/a11.1201-fm.html?utm_source=chatgpt.com](https://www.nasa.gov/wp-content/uploads/static/history/alsj/a11/a11.1201-fm.html?utm_source=chatgpt.com)\n3. Troubleshooting 101 (1201 actually, and 1202 too) - Smithsonian Magazine, [https://www.smithsonianmag.com/air-space-magazine/troubleshooting-101-1201-actually-and-1202-too-111339271/](https://www.smithsonianmag.com/air-space-magazine/troubleshooting-101-1201-actually-and-1202-too-111339271/)\n4. Apollo 11's \"1202 Alarm\" Explained - Discover Magazine, [https://www.discovermagazine.com/apollo-11s-1202-alarm-explained-185](https://www.discovermagazine.com/apollo-11s-1202-alarm-explained-185)\n5. 19720021182.pdf - NASA Technical Reports Server (NTRS), [https://ntrs.nasa.gov/api/citations/19720021182/downloads/19720021182.pdf](https://ntrs.nasa.gov/api/citations/19720021182/downloads/19720021182.pdf)\n6. A Visit to the Snowman - Apollo Journals, [https://apollojournals.org/alsj//a12/a12.landing.html](https://apollojournals.org/alsj//a12/a12.landing.html)\n7. Reconstructing Apollo 11's Powered Descent: A technical deep-dive based on 37 primary sources. Feedback welcome! - Reddit, [https://www.reddit.com/r/apollo/comments/1ry3c9c/reconstructing_apollo_11s_powered_descent_a/](https://www.reddit.com/r/apollo/comments/1ry3c9c/reconstructing_apollo_11s_powered_descent_a/)\n8. Apollo 11 and Other Screw-Ups - Don Eyles, [https://www.doneyles.com/LM/Tales.html](https://www.doneyles.com/LM/Tales.html)\n9. *The code that helped land humans on the Moon.* In 1969, during Apollo 11's descent, the onboard computer experienced unexpected 1201/1202 alarms. Yet its software continued priori | Giggle Grid - Facebook, [https://www.facebook.com/gigglegrid2/videos/-the-code-that-helped-land-humans-on-the-moon-in-1969-during-apollo-11s-descent-/1794532518247381/](https://www.facebook.com/gigglegrid2/videos/-the-code-that-helped-land-humans-on-the-moon-in-1969-during-apollo-11s-descent-/1794532518247381/)\n10. Apollo 11's Momentous Landing Came Down to One Tough Call - Space, [https://www.space.com/apollo-11-guidance-officer-remembers-moon-landing-drama.html](https://www.space.com/apollo-11-guidance-officer-remembers-moon-landing-drama.html)\n11. The inside story of Apollo 11's nail-biting descent to the surface of the moon - CBS News, [https://www.cbsnews.com/news/apollo-11-moon-landing-anniversary-nail-biting-descent-to-the-surface-of-the-moon/](https://www.cbsnews.com/news/apollo-11-moon-landing-anniversary-nail-biting-descent-to-the-surface-of-the-moon/)\n12. Apollo 11 Lunar Surface Journal: Program Alarms - NASA, [https://www.nasa.gov/wp-content/uploads/static/history//alsj/a11/a11.1201-pa.html](https://www.nasa.gov/wp-content/uploads/static/history//alsj/a11/a11.1201-pa.html)\n13. We're Go On That Alarm: Inside the Apollo Operating System | by Joe Kutner | Software's Giant Leap | Medium, [https://medium.com/softwares-giant-leap/were-go-on-that-alarm-inside-the-apollo-operating-system-8d753e7a1e17](https://medium.com/softwares-giant-leap/were-go-on-that-alarm-inside-the-apollo-operating-system-8d753e7a1e17)\n14. Error 1202 - David Nuñez, [https://davidnunez.com/error-1202/](https://davidnunez.com/error-1202/)\n15. Apollo by the Numbers - NASA, [https://www.nasa.gov/wp-content/uploads/2023/04/sp-4029.pdf](https://www.nasa.gov/wp-content/uploads/2023/04/sp-4029.pdf)\n16. The Real Story Behind the Apollo 11 Computer Error | WSJ - YouTube, [https://www.youtube.com/watch?v=z4cn93H6sM0](https://www.youtube.com/watch?v=z4cn93H6sM0)\n17. Apollo Guidance Computer switching power supply works after 50 years | Hacker News, [https://news.ycombinator.com/item?id=20789187](https://news.ycombinator.com/item?id=20789187)\n18. A lunar landing with 1202 and 1201 alarms - Arlington Enterprise, [https://arlingtonmnnews.com/articles/bits-and-bytes/a-lunar-landing-with-1202-and-1201-alarms/](https://arlingtonmnnews.com/articles/bits-and-bytes/a-lunar-landing-with-1202-and-1201-alarms/)\n19. Failure Is Not an Option MISSION CONTROL FROM MERCURY TO APOLLO 13 AND BEYOND GENE KRANZ, [https://ia601502.us.archive.org/25/items/PioneersOfSpaceExploration/Failure%20Is%20Not%20an%20Option%20-%20Gene%20Kranz.pdf](https://ia601502.us.archive.org/25/items/PioneersOfSpaceExploration/Failure%20Is%20Not%20an%20Option%20-%20Gene%20Kranz.pdf)\n20. Human Lunar Landing Experience On Project Apollo | NASA, [https://www.nasa.gov/wp-content/uploads/2023/06/eppler-slides-apollo-lunar-landing-experience-report-20070-r4.pdf](https://www.nasa.gov/wp-content/uploads/2023/06/eppler-slides-apollo-lunar-landing-experience-report-20070-r4.pdf)\n21. A Review of Lunar Communications and Antennas: Assessing Performance in the Context of Propagation and Radiation - ResearchGate, [https://www.researchgate.net/publication/376617255_A_Review_of_Lunar_Communications_and_Antennas_Assessing_Performance_in_the_Context_of_Propagation_and_Radiation](https://www.researchgate.net/publication/376617255_A_Review_of_Lunar_Communications_and_Antennas_Assessing_Performance_in_the_Context_of_Propagation_and_Radiation)\n22. Apollo 11 Flight Journal - Day 5, part 1: Preparations for Landing, [https://apollojournals.org/afj/ap11fj/16day5-landing-prep.html](https://apollojournals.org/afj/ap11fj/16day5-landing-prep.html)\n23. Apollo Expeditions to the Moon: The NASA History 9780486135571, 0486135578 - DOKUMEN.PUB, [https://dokumen.pub/apollo-expeditions-to-the-moon-the-nasa-history-9780486135571-0486135578.html](https://dokumen.pub/apollo-expeditions-to-the-moon-the-nasa-history-9780486135571-0486135578.html)\n24. Trying to Rest - NASA, [https://www.nasa.gov/wp-content/uploads/static/history//alsj/a11/a11.posteva.html](https://www.nasa.gov/wp-content/uploads/static/history//alsj/a11/a11.posteva.html)\n"
    },
    "sources": [
      {
        "url": "https://www.smithsonianmag.com/air-space-magazine/troubleshooting-101-1201-actually-and-1202-too-111339271/",
        "title": "Troubleshooting 101 (1201 actually, and 1202 too) - Smithsonian Magazine",
        "description": "Comprehensive overview covering both computer overload and low fuel issues.",
        "cited": true
      },
      {
        "url": "https://www.discovermagazine.com/apollo-11s-1202-alarm-explained-185",
        "title": "Apollo 11's \"1202 Alarm\" Explained - Discover Magazine",
        "description": "Provides detailed technical breakdown of the 1202 alarms and execution.",
        "cited": true
      },
      {
        "url": "https://www.cbsnews.com/news/apollo-11-moon-landing-anniversary-nail-biting-descent-to-the-surface-of-the-moon/",
        "title": "The inside story of Apollo 11's nail-biting descent to the surface of the moon - CBS News",
        "description": "Great operational account of Mission Control during the alarms.",
        "cited": true
      },
      {
        "url": "https://www.youtube.com/watch?v=z4cn93H6sM0",
        "title": "The Real Story Behind the Apollo 11 Computer Error | WSJ - YouTube",
        "description": "Clear narrative explaining hardware switches and computer overloads.",
        "cited": true
      },
      {
        "url": "https://ia601502.us.archive.org/25/items/PioneersOfSpaceExploration/Failure%20Is%20Not%20an%20Option%20-%20Gene%20Kranz.pdf",
        "title": "Failure Is Not an Option MISSION CONTROL FROM MERCURY TO APOLLO 13 AND BEYOND GENE KRANZ",
        "description": "Primary account from Gene Kranz on the near-abort decision.",
        "cited": true
      },
      {
        "url": "https://www.space.com/apollo-11-guidance-officer-remembers-moon-landing-drama.html",
        "title": "Apollo 11's Momentous Landing Came Down to One Tough Call - Space",
        "description": "Focuses on the critical Mission Control decision and cheat sheet.",
        "cited": true
      },
      {
        "url": "https://arlingtonmnnews.com/articles/bits-and-bytes/a-lunar-landing-with-1202-and-1201-alarms/",
        "title": "A lunar landing with 1202 and 1201 alarms - Arlington Enterprise",
        "description": "Summarizes the role of Bales and Garman during landing.",
        "cited": true
      },
      {
        "url": "https://www.doneyles.com/LM/Tales.html",
        "title": "Apollo 11 and Other Screw-Ups - Don Eyles",
        "description": "Firsthand technical insight into the core set memory overflow.",
        "cited": true
      },
      {
        "url": "https://www.nasa.gov/wp-content/uploads/static/history//alsj/a11/a11.1201-pa.html",
        "title": "Apollo 11 Lunar Surface Journal: Program Alarms - NASA",
        "description": "Primary history on MIT's software design for the lander.",
        "cited": true
      },
      {
        "url": "https://www.nasa.gov/wp-content/uploads/static/history/alsj/a11/a11.1201-fm.html?utm_source=chatgpt.com",
        "title": "Apollo 11 Lunar Surface Journal: Program Alarms - NASA",
        "description": "Detailed history of solving the radar switch issue.",
        "cited": true
      },
      {
        "url": "https://medium.com/softwares-giant-leap/were-go-on-that-alarm-inside-the-apollo-operating-system-8d753e7a1e17",
        "title": "We're Go On That Alarm: Inside the Apollo Operating System | by Joe Kutner | Software's Giant Leap | Medium",
        "description": "Explains the computer architecture and priority task scheduling.",
        "cited": true
      },
      {
        "url": "https://www.reddit.com/r/apollo/comments/1ry3c9c/reconstructing_apollo_11s_powered_descent_a/",
        "title": "Reconstructing Apollo 11's Powered Descent: A technical deep-dive based on 37 primary sources. Feedback welcome! - Reddit",
        "description": "Technical discussion about rendezvous radar and computer interrupts.",
        "cited": true
      },
      {
        "url": "https://news.ycombinator.com/item?id=20789187",
        "title": "Apollo Guidance Computer switching power supply works after 50 years | Hacker News",
        "description": "Technical explanation of cycle-stealing and radar hardware.",
        "cited": true
      },
      {
        "url": "https://davidnunez.com/error-1202/",
        "title": "Error 1202 - David Nuñez",
        "description": "Brief summary of the 1202 error and Jack Garman.",
        "cited": true
      },
      {
        "url": "https://en.wikipedia.org/wiki/Apollo_11",
        "title": "Apollo 11 - Wikipedia",
        "description": "Broad general overview of the Apollo 11 mission.",
        "cited": true
      },
      {
        "url": "https://www.facebook.com/gigglegrid2/videos/-the-code-that-helped-land-humans-on-the-moon-in-1969-during-apollo-11s-descent-/1794532518247381/",
        "title": "*The code that helped land humans on the Moon.* In 1969, during Apollo 11's descent, the onboard computer experienced unexpected 1201/1202 alarms. Yet its software continued priori | Giggle Grid - Facebook",
        "description": "Social media video summary of Margaret Hamilton's software.",
        "cited": true
      },
      {
        "url": "https://www.nasa.gov/wp-content/uploads/2023/06/eppler-slides-apollo-lunar-landing-experience-report-20070-r4.pdf",
        "title": "Human Lunar Landing Experience On Project Apollo | NASA",
        "description": "Mentions low fuel margins and weight saving trade-offs.",
        "cited": true
      },
      {
        "url": "https://apollojournals.org/alsj//a12/a12.landing.html",
        "title": "A Visit to the Snowman - Apollo Journals",
        "description": "Mentions fuel slosh issue affecting fuel quantity gauges.",
        "cited": true
      },
      {
        "url": "https://apollojournals.org/afj/ap11fj/16day5-landing-prep.html",
        "title": "Apollo 11 Flight Journal - Day 5, part 1: Preparations for Landing",
        "description": "Transcript covering orbital pre-landing communications.",
        "cited": true
      },
      {
        "url": "https://dokumen.pub/apollo-expeditions-to-the-moon-the-nasa-history-9780486135571-0486135578.html",
        "title": "Apollo Expeditions to the Moon: The NASA History 9780486135571, 0486135578 - DOKUMEN.PUB",
        "description": "Historical excerpts regarding crew preparations before landing.",
        "cited": true
      },
      {
        "url": "https://www.nasa.gov/wp-content/uploads/static/history//alsj/a11/a11.posteva.html",
        "title": "Trying to Rest - NASA",
        "description": "Post-landing transcripts focused on communications setups.",
        "cited": true
      },
      {
        "url": "https://ntrs.nasa.gov/api/citations/19720021182/downloads/19720021182.pdf",
        "title": "19720021182.pdf - NASA Technical Reports Server (NTRS)",
        "description": "Irrelevant NASA technical document discussing Apollo 15 terrain.",
        "cited": true
      },
      {
        "url": "https://www.nasa.gov/wp-content/uploads/2023/04/sp-4029.pdf",
        "title": "Apollo by the Numbers - NASA",
        "description": "Irrelevant statistical data on early orbit maneuvers.",
        "cited": true
      },
      {
        "url": "https://www.researchgate.net/publication/376617255_A_Review_of_Lunar_Communications_and_Antennas_Assessing_Performance_in_the_Context_of_Propagation_and_Radiation",
        "title": "A Review of Lunar Communications and Antennas: Assessing Performance in the Context of Propagation and Radiation - ResearchGate",
        "description": "Irrelevant general study on lunar antenna radio propagation.",
        "cited": true
      },
      {
        "url": "https://honeysucklecreek.net/msfn_missions/Apollo_11_mission/hl_apollo11.html",
        "title": "Apollo 11 - Hamish Lindsay - Honeysuckle Creek",
        "description": null,
        "cited": false
      },
      {
        "url": "https://archive.org/download/Apollo11Audio/AS11_PAO.pdf",
        "title": "AS11_PAO.pdf - Apollo",
        "description": null,
        "cited": false
      },
      {
        "url": "https://www.americasuncommonsense.com/1-apollo-17-diary-of-the-12th-man/c-chapters-10-18/chapter-12-pages-of-history/a-section-1/",
        "title": "a. Section 1 - America's Uncommon Sense",
        "description": null,
        "cited": false
      },
      {
        "url": "https://crotrak.com/Documents/Cronicle/Vols1-7.pdf",
        "title": "W elcome to the first issue of The Trackers - CroTrak",
        "description": null,
        "cited": false
      },
      {
        "url": "https://www.ibiblio.org/apollo/Documents/R-700.pdf",
        "title": "Apollo Guidance, Navigation and Control - Ibiblio",
        "description": null,
        "cited": false
      },
      {
        "url": "https://www.ibiblio.org/apollo/changes.html",
        "title": "Virtual AGC Change-Log Page - Ibiblio",
        "description": null,
        "cited": false
      }
    ]
  }
}
curl -sS --max-time 310 -X POST "$API/research/import" \
  -H "Authorization: Bearer $USEAPI_TOKEN" -H "Content-Type: application/json" \
  -d "$(jq -n --arg j "$DEEP" '{jobid: $j, urls: [], report: true}')"

The import, in full (step-12-deep-research-import.json):

{
  "notebook": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf",
  "sources": [
    {
      "source": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:aedb3a12-040f-4a5f-a8f3-119d3f9c79d4",
      "title": "Anatomy of a Lunar Descent: Systems Architecture, Hardware Anomaly, and Human Decision-Making in the Apollo 11 Landing Near-Abort",
      "kind": "markdown",
      "status": "ready",
      "words": 3146,
      "created": "2026-09-29T05:04:51.000Z"
    }
  ]
}

The report alone as Markdown: step-12-deep-research-report.md.

13. Share the notebook

POST /sharing with a public link lets anyone with it view the notebook, and allowCopies: false stops them duplicating it. people: [{email, role}] invites someone as viewer or editor (Google emails them), role: "remove" takes the access away, and link: "restricted" makes the notebook private again.

curl — POST /sharing
curl -sS -X POST "$API/sharing" \
  -H "Authorization: Bearer $USEAPI_TOKEN" -H "Content-Type: application/json" \
  -d "$(jq -n --arg nb "$NOTEBOOK" '{notebook: $nb, link: "public", allowCopies: false}')"

It returned, in full (step-13-sharing.json):

{
  "notebook": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf",
  "people": [
    {
      "email": "[email protected]",
      "role": "owner",
      "name": "User"
    }
  ],
  "link": "public",
  "allowCopies": false
}

14. What the first script used

GET /accounts/email reads the account’s usage. Steps 1 to 13 took the 5-hour window from 9.6% to 19.5% and its week from 7.0% to 7.5%, in 9 minutes 20 seconds end to end.

curl — GET /accounts/email
curl -sS "$API/accounts/$(enc "$EMAIL")" -H "Authorization: Bearer $USEAPI_TOKEN"

The part of the answer that holds usage (step-14-account-usage.json):

{
  "email": "[email protected]",
  "googleTier": "TIER_PRO",
  "tier": "pro",
  "quota": {
    "windows": [
      {
        "window": "weekly",
        "resetsAt": "2026-10-04T23:25:40.000Z",
        "usedPercent": 7.49,
        "remainingPercent": 92.51
      },
      {
        "window": "5h",
        "resetsAt": "2026-09-29T05:25:40.000Z",
        "usedPercent": 19.46,
        "remainingPercent": 80.54
      }
    ],
    "blocked": [],
    "actions": [
      {
        "action": "audio",
        "allowed": true,
        "costTier": 3,
        "estimatedCostPercent": 11.03
      },
      {
        "action": "video",
        "allowed": true,
        "costTier": 3,
        "estimatedCostPercent": 10.92
      },
      {
        "action": "cinematic",
        "allowed": true,
        "costTier": 4,
        "estimatedCostPercent": 77.02
      },
      {
        "action": "video_short",
        "allowed": true,
        "costTier": 3,
        "estimatedCostPercent": 8.73
      },
      {
        "action": "infographic",
        "allowed": true,
        "costTier": 2,
        "estimatedCostPercent": 2.68
      },
      {
        "action": "slides",
        "allowed": true,
        "costTier": 3,
        "estimatedCostPercent": 13.63
      },
      {
        "action": "report",
        "allowed": true,
        "costTier": 2,
        "estimatedCostPercent": 1.08
      },
      {
        "action": "table",
        "allowed": true,
        "costTier": 2,
        "estimatedCostPercent": 1.48
      },
      {
        "action": "flashcards",
        "allowed": true,
        "costTier": 1,
        "estimatedCostPercent": 0.47
      },
      {
        "action": "quiz",
        "allowed": true,
        "costTier": 1,
        "estimatedCostPercent": 0.57
      },
      {
        "action": "mindmap",
        "allowed": true,
        "costTier": 1,
        "estimatedCostPercent": 0.38
      },
      {
        "action": "canvas",
        "allowed": true,
        "costTier": 1,
        "estimatedCostPercent": 0.01
      },
      {
        "action": "slides_edit",
        "allowed": true,
        "costTier": 2,
        "estimatedCostPercent": 1.07
      },
      {
        "action": "flashcards_edit",
        "allowed": true,
        "costTier": 1,
        "estimatedCostPercent": 0.01
      },
      {
        "action": "deep_research",
        "allowed": true,
        "costTier": 2,
        "estimatedCostPercent": 3.92
      },
      {
        "action": "nos",
        "allowed": true,
        "costTier": 2,
        "estimatedCostPercent": 1.25
      },
      {
        "action": "fast_research",
        "allowed": true,
        "costTier": 1,
        "estimatedCostPercent": 0.32
      },
      {
        "action": "qna",
        "allowed": true,
        "costTier": 1,
        "estimatedCostPercent": 0.41
      },
      {
        "action": "nos_image",
        "allowed": true,
        "costTier": 1,
        "estimatedCostPercent": 0.45
      },
      {
        "action": "guided_view",
        "allowed": true,
        "costTier": 1,
        "estimatedCostPercent": 0.57
      },
      {
        "action": "document_guide",
        "allowed": true,
        "costTier": 1,
        "estimatedCostPercent": 0.1
      },
      {
        "action": "suggestion_chips",
        "allowed": true,
        "costTier": 1,
        "estimatedCostPercent": 0.14
      },
      {
        "action": "kind23",
        "allowed": true,
        "costTier": 1,
        "estimatedCostPercent": 0.05
      },
      {
        "action": "kind24",
        "allowed": true,
        "costTier": 1,
        "estimatedCostPercent": 0.1
      }
    ]
  }
}

15. Ask a follow-up question

The second script starts here, on the same notebook. The conversation from step 6 makes the answer build on the earlier turns: “When the Lunar Module Eagle touched down, it had 216 pounds (98 kg) of usable fuel remaining”, with 5 citations.

curl — POST /chat (follow-up)
curl -sS -X POST "$API/chat" \
  -H "Authorization: Bearer $USEAPI_TOKEN" -H "Content-Type: application/json" \
  -d "$(jq -n --arg nb "$NOTEBOOK" --arg c "$(jq -r .conversation chat.json)" '{notebook: $nb, conversation: $c, question: "How much fuel was left when they landed?"}')"

It returned, in full (step-15-follow-up-chat.json):

{
  "notebook": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf",
  "answer": "When the Lunar Module *Eagle* touched down, it had **216 pounds (98 kg) of usable fuel remaining** [1, 2]. \n\nIn terms of remaining flight time, the figures depend on whether you look at real-time calculations or post-flight analysis:\n\n* **Real-time estimates:** Telemetry available to Mission Control and the crew during the landing indicated *Eagle* had approximately **20 to 25 seconds of powered flight left** before reaching \"Bingo fuel\"—the mandatory threshold where an emergency abort would have been required [1-3].\n* **Post-mission analysis:** Detailed post-flight evaluations determined that the actual remaining margin before total fuel depletion was closer to **50 seconds** [1, 2].\n\nThe early low-fuel warning during descent was triggered because the hypergolic propellant sloshed inside the tanks while Neil Armstrong manually maneuvered the lander past West Crater, temporarily uncovering a fuel sensor earlier than expected [1, 2, 4, 5].\n\n⛽ Would you like to delve deeper into the \"Bingo fuel\" mission rules and how Capcom Charlie Duke and Flight Director Gene Kranz handled the final fuel countdown in Mission Control?",
  "conversation": "51147e56-85e3-4862-b0a4-12fd1410b1a5",
  "citations": [
    {
      "number": 1,
      "source": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:6e04a6ea-cd2d-44cb-8be5-66f48be21a0d",
      "text": "ACA was the Attitude Control Assembly—the LM's control stick. Output went to the LGC to command the reaction control system (RCS) jets to fire. \"Out of Detent\" meant the stick had moved away from its centered position; it was spring-centered like the turn indicator in a car. Address 413 of the Abort Guidance System (AGS) contained the variable that indicated the LM had landed.[10] Eagle landed at 20:17:40 UTC on Sunday July 20 with 216 pounds (98 kg) of usable fuel remaining. Information available to the crew and mission controllers during the landing showed the LM had enough fuel for another 25 seconds of powered flight before an abort without touchdown would have become unsafe,[10][129] but post-mission analysis showed that the real figure was probably closer to 50 seconds.[130] Apollo 11 landed with less fuel than most subsequent missions, and the astronauts encountered a premature low fuel warning. This was later found to be the result of the propellant sloshing more than expected, uncovering a fuel sensor. On subsequent missions, extra anti-slosh baffles were added to the tanks to prevent this.[10]",
      "relevance": 1
    },
    {
      "number": 2,
      "source": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:3f190e9f-3311-4176-8760-ee2636bde7c9",
      "text": "The landing site relative to West craterACA was the Attitude Control Assembly—the LM's control stick. Output went to the LGC to command the reaction control system (RCS) jets to fire. \"Out of Detent\" meant the stick had moved away from its centered position; it was spring-centered like the turn indicator in a car. Address 413 of the Abort Guidance System (AGS) contained the variable that indicated the LM had landed. [10]Eagle landed at 20:17:40 UTC on Sunday July 20 with 216 pounds (98 kg) of usable fuel remaining. Information available to the crew and mission controllers during the landing showed the LM had enough fuel for another 25 seconds of powered flight before an abort without touchdown would have become unsafe, [10] [129] but post-mission analysis showed that the real figure was probably closer to 50 seconds. [130] Apollo 11 landed with less fuel than most subsequent missions, and the astronauts encountered a premature low fuel warning. This was later found to be the result of the propellant sloshing more than expected, uncovering a fuel sensor. On subsequent missions, extra anti-slosh baffles were added to the tanks to prevent this. [10]",
      "relevance": 0.9962894248608535
    },
    {
      "number": 3,
      "source": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:aedb3a12-040f-4a5f-a8f3-119d3f9c79d4",
      "text": "The early latching of the fuel quantity sensor initiated a mandatory countdown clock in Mission Control [cite: 6, 20]. Flight rules dictated that if the spacecraft reached \"Bingo fuel\"—the threshold where remaining propellant was sufficient only to perform an emergency ascent ignition and rendezvous—the crew was required to abort immediately [cite: 6, 20].Capcom Charlie Duke issued the \"60 seconds\" warning call, followed by the \"30 seconds\" warning call as the remaining fuel margin dwindled [cite: 6, 20]. Maintaining a low vertical descent rate while maneuvering over dust clouds kicked up by the descent engine exhaust, Armstrong landed Eagle at MET 102:45:40 [cite: 20]. Post-landing analysis confirmed that Eagle touched down with approximately 20 to 25 seconds of fuel remaining before reaching the mandatory Bingo abort limit [cite: 20].",
      "relevance": 0.9925788497217068
    },
    {
      "number": 4,
      "source": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:aedb3a12-040f-4a5f-a8f3-119d3f9c79d4",
      "text": "Extending the flight path downrange to find a smooth landing site created a severe fuel management challenge [cite: 3, 20]. The additional flight time rapidly depleted the hypergolic propellants inside the Descent Propulsion System (DPS) tanks [cite: 20].This fuel margin issue was exacerbated by fluid dynamics inside the propellant tanks [cite: 6, 20]. As Armstrong executed manual translation maneuvers, the remaining liquid nitrogen tetroxide and aerozine-50 propellants sloshed back and forth within the spherical tanks [cite: 6, 20]. This sloshing motion uncovered the internal low-level sensors prematurely, latching the \"Low Quantity\" warning light earlier than actual fuel levels warranted [cite: 6].",
      "relevance": 0.9981447124304267
    },
    {
      "number": 5,
      "source": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:aedb3a12-040f-4a5f-a8f3-119d3f9c79d4",
      "text": "Comprehensive Matrix of Descent AnomaliesThe following matrix synthesizes the technical causes, operational impacts, and engineering mitigations associated with the failure modes encountered during the Apollo 11 descent.Anomaly CategoryPrimary Technical CauseSystem ManifestationOperational ImpactEngineering & Procedural MitigationExecutive Overload AlarmsPhase mismatch (800\\text{ Hz} vs 400\\text{ Hz}) between radar and CDU interface causing CPU cycle stealing [cite: 7, 17].1201 and 1202 Program Alarms; memory structure exhaustion [cite: 8].Non-essential tasks dropped; DSKY updates temporarily suspended [cite: 8, 9, 14].Asynchronous defensive priority scheduling (BAILOUT) [cite: 8, 9]; Garman/Bales \"GO\" protocol [cite: 3, 14].Downrange Position OffsetResidual pressure in docking tunnel during separation + lunar mascon gravitational pull [cite: 1, 5].Trajectory shifted 3,000\\text{ ft} downrange from target site [cite: 5].Automatic guidance targeted West Crater boulder field [cite: 3, 20].Armstrong engaged P66 manual rate-of-descent mode to fly clear of rocks [cite: 3, 15, 20].Telemetry DisruptionVehicle pitch/yaw attitude obscured line-of-sight for S-Band High Gain Antenna [cite: 15, 21].Intermittent Loss of Signal (LOS) and telemetry noise in MCC [cite: 21, 22].Ground controllers lost real-time engineering telemetry streams [cite: 3, 21].Switched to omni-directional antennas; CapCom requested vehicle re-orientation [cite: 23, 24].Propellant Depletion RiskPropellant sloshing during P66 manual translation uncovered sensors early [cite: 6, 20].Early latching of Low Quantity sensor light [cite: 6].Accelerated \"Bingo fuel\" countdown in Mission Control [cite: 6, 20].Refined post-flight slosh baffles; landing completed before zero-fuel threshold [cite: 6, 20].",
      "relevance": 0.9703153988868275
    }
  ],
  "ms": 24995
}

16. Turn the note into a source

POST /notes/source turns the note from step 7 into a Markdown source that later answers can cite.

curl — POST /notes/source
curl -sS -X POST "$API/notes/source" \
  -H "Authorization: Bearer $USEAPI_TOKEN" -H "Content-Type: application/json" \
  -d "$(jq -n --arg n "$(jq -r .note note.json)" '{note: $n}')"

It returned, in full (step-16-note-to-source.json):

{
  "notebook": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf",
  "source": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:f9aa14ef-446a-445a-8d94-b45b1b9a5045",
  "title": "What went wrong during the descent",
  "kind": "markdown",
  "status": "ready",
  "words": 656,
  "created": "2026-09-29T05:49:29.000Z"
}

17. Flashcards, a mind map, a report and a data table

Four sync calls, one after another: the flashcards in 18 seconds, the data table in 32, the report in 79 and the mind map in 92. The mind map outlived the 90-second sync wait, so it answered 202 and was polled to the end. Flashcards come back as result.content.flashcards (20 cards of front f and back b), the mind map as a JSON tree in result.content, the briefing report as 27,282 characters of Markdown in result.text, and the data table as result.table, the header row first. The table’s first rows, with the cells shortened and the Source column left out here:

Time Alarm or event Cause What the crew or Mission Control did
Five minutes into the descent burn / MET 102:38:00–102:38:22 / PDI + 316 seconds 1202 program alarm Computer overload (Executive overflow: no core sets available). High-frequency counter increment requests … Buzz Aldrin checked the alarm code using Verb 90 Noun 50 (and Verb 05 Noun 09 at PDI + 322 seconds). Computer …
MET 102:36:55 Slow spacecraft rotation rate during pitch-over/spin maneuver Autopilot rate switch was set at 5 deg/sec. Neil Armstrong switched the autopilot rate switch from 5 deg/sec to 25 deg/sec.
As descent began / Not in source Overshooting the Planned Landing Target / Downrange Position Offset (Trajectory shifted 3,000 ft downrange … Residual pressure in the docking tunnel during separation, lunar gravitational anomalies (mascons), and … The crew monitored their position closely, maintained composure, and prepared to adapt to landing further …
curl — POST /artifacts (flashcards, mind map, report, table)
for body in \
  '{"type": "flashcards", "quantity": "fewer", "difficulty": "easy"}' \
  '{"type": "mindmap"}' \
  '{"type": "report", "format": "briefing"}' \
  '{"type": "table", "instructions": "One row per program alarm or anomaly during the descent: time, alarm or event, cause, what the crew or Mission Control did."}'; do
  curl -sS -X POST "$API/artifacts" \
    -H "Authorization: Bearer $USEAPI_TOKEN" -H "Content-Type: application/json" \
    -d "$(jq -n --arg nb "$NOTEBOOK" --argjson b "$body" '$b + {notebook: $nb}')"
done

A response with status 202 is still running: poll its jobid as in step 11.

The flashcards job, in full (step-17-flashcards-job.json):

{
  "jobid": "job:fb2dbd90-17ce-45d0-8971-75229f82bec1-user:[email protected]:gemini_notebook",
  "email": "[email protected]",
  "type": "flashcards",
  "status": "completed",
  "notebook": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf",
  "artifact": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:c70e9f63-6858-4fed-a23a-38d1d7704a4f",
  "created_at": "2026-09-29T05:49:38.392Z",
  "request": {
    "notebook": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf",
    "type": "flashcards",
    "quantity": "fewer",
    "difficulty": "easy"
  },
  "completed_at": "2026-09-29T05:49:56.336Z",
  "result": {
    "title": "Apollo Flashcards",
    "content": {
      "flashcards": [
        {
          "f": "Who served as the Commander of the Apollo 11 mission?",
          "b": "Neil Armstrong"
        },
        {
          "f": "Who was the Command Module Pilot for the Apollo 11 mission?",
          "b": "Michael Collins"
        },
        {
          "f": "Who served as the Lunar Module Pilot for Apollo 11?",
          "b": "Edwin \"Buzz\" Aldrin"
        },
        {
          "f": "What was the official name of the Apollo 11 Command Module?",
          "b": "Columbia"
        },
        {
          "f": "What was the official name of the Apollo 11 Lunar Module?",
          "b": "Eagle"
        },
        {
          "f": "Which rocket launch vehicle was used to send Apollo 11 into space?",
          "b": "Saturn V"
        },
        {
          "f": "In what year did the Apollo 11 mission land humans on the Moon?",
          "b": "1969"
        },
        {
          "f": "What primary lunar site was chosen for the Apollo 11 landing?",
          "b": "Sea of Tranquility (Mare Tranquillitatis)"
        },
        {
          "f": "Which U.S. President in 1961 set the goal of landing a man on the Moon before the end of the decade?",
          "b": "John F. Kennedy"
        },
        {
          "f": "What famous statement did Neil Armstrong make upon stepping onto the lunar surface?",
          "b": "\"That's one small step for [a] man, one giant leap for mankind.\""
        },
        {
          "f": "Which part of the Apollo spacecraft was the only section designed to return safely to Earth?",
          "b": "The Command Module"
        },
        {
          "f": "What animal feature was chosen for the Apollo 11 mission insignia to symbolize a peaceful mission?",
          "b": "A bald eagle carrying an olive branch"
        },
        {
          "f": "Which U.S. President spoke directly to Armstrong and Aldrin via telephone-radio transmission during their moonwalk?",
          "b": "Richard Nixon"
        },
        {
          "f": "What Everyday item did Buzz Aldrin use to engage the broken circuit breaker for ascent engine ignition?",
          "b": "A felt-tip pen"
        },
        {
          "f": "Which naval ship recovered the Apollo 11 crew after splashdown in the Pacific Ocean?",
          "b": "USS Hornet"
        },
        {
          "f": "The call sign used by Neil Armstrong to announce the touchdown on the lunar surface was _____ Base.",
          "b": "Tranquility"
        },
        {
          "f": "Uncrewed Soviet probe _____ crashed into the lunar surface while Armstrong and Aldrin were still on the Moon.",
          "b": "Luna 15"
        },
        {
          "f": "How many total astronauts made up the prime crew of Apollo 11?",
          "b": "Three"
        },
        {
          "f": "Approximately how long did Armstrong and Aldrin spend walking on the lunar surface during their EVA?",
          "b": "Two and a half hours"
        },
        {
          "f": "What scientific package was deployed by the Apollo 11 crew on the lunar surface?",
          "b": "Early Apollo Scientific Experiments Package (EASEP)"
        }
      ],
      "topics": {
        "covered": [
          "Apollo 11 Crew Members",
          "Spacecraft Components and Call Signs",
          "Lunar Landing and Surface Operations",
          "Historical Context and Objectives of Apollo 11"
        ],
        "followUp": [
          "Saturn V Rocket Specifications",
          "Apollo Lunar Module Egress and Hatch Design",
          "Lunar Material Analysis and Mineral Discoveries"
        ]
      }
    }
  }
}

The mind map job, in full (step-17-mindmap-job.json):

{
  "jobid": "job:51865992-9f68-4905-8773-b492fd0e6a5a-user:[email protected]:gemini_notebook",
  "email": "[email protected]",
  "type": "mindmap",
  "status": "completed",
  "notebook": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf",
  "artifact": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:de7f06aa-13d2-462d-a7fb-90dd675d185e",
  "created_at": "2026-09-29T05:50:02.363Z",
  "request": {
    "notebook": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf",
    "type": "mindmap"
  },
  "completed_at": "2026-09-29T05:51:34.346Z",
  "result": {
    "title": "Apollo Mindmap",
    "content": {
      "name": "Apollo 11",
      "children": [
        {
          "name": "Background",
          "children": [
            {
              "name": "Cold War Space Race"
            },
            {
              "name": "Sputnik Crisis"
            },
            {
              "name": "JFK National Goal"
            },
            {
              "name": "Project Mercury and Gemini"
            },
            {
              "name": "Apollo 1 Fire Setback"
            }
          ]
        },
        {
          "name": "Personnel",
          "children": [
            {
              "name": "Prime Crew",
              "children": [
                {
                  "name": "Neil Armstrong (Commander)"
                },
                {
                  "name": "Michael Collins (CMP)"
                },
                {
                  "name": "Buzz Aldrin (LMP)"
                }
              ]
            },
            {
              "name": "Support Personnel",
              "children": [
                {
                  "name": "Backup Crew"
                },
                {
                  "name": "Support Crew"
                },
                {
                  "name": "Capsule Communicators"
                },
                {
                  "name": "Flight Directors"
                },
                {
                  "name": "Specialized Technicians"
                }
              ]
            }
          ]
        },
        {
          "name": "Spacecraft Components",
          "children": [
            {
              "name": "Saturn V Rocket (SA-506)"
            },
            {
              "name": "Command Module (Columbia)"
            },
            {
              "name": "Service Module (SM)"
            },
            {
              "name": "Lunar Module (Eagle)",
              "children": [
                {
                  "name": "Descent Stage"
                },
                {
                  "name": "Ascent Stage"
                }
              ]
            }
          ]
        },
        {
          "name": "Mission Preparations",
          "children": [
            {
              "name": "Mission Insignia (Bald Eagle)"
            },
            {
              "name": "Call Sign Naming"
            },
            {
              "name": "Site Selection (Sea of Tranquility)"
            },
            {
              "name": "First-Step Decision"
            }
          ]
        },
        {
          "name": "Mission Timeline",
          "children": [
            {
              "name": "Launch (July 16, 1969)"
            },
            {
              "name": "Trans-Lunar Injection"
            },
            {
              "name": "Lunar Orbit Insertion"
            },
            {
              "name": "Lunar Descent",
              "children": [
                {
                  "name": "1201 and 1202 Alarms"
                },
                {
                  "name": "Manual Piloting"
                },
                {
                  "name": "Low Fuel Warning"
                }
              ]
            },
            {
              "name": "Lunar Landing",
              "children": [
                {
                  "name": "July 20, 19:17 UTC"
                },
                {
                  "name": "Tranquility Base"
                }
              ]
            },
            {
              "name": "Return and Splashdown"
            }
          ]
        },
        {
          "name": "Surface Operations",
          "children": [
            {
              "name": "First Step (Armstrong)"
            },
            {
              "name": "Magnificent Desolation (Aldrin)"
            },
            {
              "name": "Nixon Telephone Call"
            },
            {
              "name": "US Flag Deployment"
            },
            {
              "name": "Scientific Experiments (EASEP)"
            },
            {
              "name": "Sample Collection (21.55 kg)"
            },
            {
              "name": "Memorial Items and Plaque"
            }
          ]
        },
        {
          "name": "Impact and Legacy",
          "children": [
            {
              "name": "600 Million TV Viewers"
            },
            {
              "name": "New Lunar Minerals"
            },
            {
              "name": "Presidential Medal of Freedom"
            },
            {
              "name": "National Air and Space Museum"
            }
          ]
        }
      ]
    }
  }
}

The report job, in full (step-17-report-job.json):

{
  "jobid": "job:dd184afe-1acb-4d60-a100-702122ccead7-user:[email protected]:gemini_notebook",
  "email": "[email protected]",
  "type": "report",
  "status": "completed",
  "notebook": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf",
  "artifact": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:c4453230-46a7-40e9-bb82-a42f8131453e",
  "created_at": "2026-09-29T05:51:43.216Z",
  "request": {
    "notebook": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf",
    "type": "report",
    "format": "briefing"
  },
  "completed_at": "2026-09-29T05:53:02.653Z",
  "result": {
    "title": "Briefing Document: Mission Overview and Technical Synthesis of Apollo 11",
    "text": "# Briefing Document: Mission Overview and Technical Synthesis of Apollo 11\n\n## Executive Summary\n\nApollo 11 was the first crewed lunar landing spaceflight in human history. Operated by the National Aeronautics and Space Administration (NASA) and launched atop a Saturn V rocket on July 16, 1969, the mission successfully placed astronauts Neil A. Armstrong and Edwin \"Buzz\" E. Aldrin Jr. on the lunar surface on July 20, 1969, while Command Module Pilot Michael Collins maintained lunar orbit. The mission achieved the primary national goal established by President John F. Kennedy in May 1961: to land a man on the Moon and return him safely to Earth before the end of the 1960s.\n\nKey findings and critical takeaways from the mission context include:\n*   **Geopolitical and Strategic Success:** Apollo 11 brought the Space Race—a critical technological competition between the United States and the Soviet Union during the Cold War—to its culmination. Parallel Soviet efforts, such as the uncrewed sample-return probe *Luna 15*, ended in failure when *Luna 15* crashed into Mare Crisium while Armstrong and Aldrin were still on the lunar surface.\n*   **Technical and Operational Resilience:** The mission overcame significant in-flight anomalies, including trajectory overshoots during descent, guidance computer executive overflow alarms (1201 and 1202) triggered by a radar hardware design flaw, a rapidly depleting fuel reserve during landing, and a broken circuit breaker in the Lunar Module cabin that was engaged using a felt-tip pen.\n*   **Scientific and Historical Returns:** The crew executed a 2-hour, 31-minute, 40-second Extravehicular Activity (EVA), returned 47.51 lb (21.55 kg) of lunar material containing three previously unknown minerals (*armalcolite*, *tranquillityite*, and *pyroxferroite*), deployed the Early Apollo Scientific Experiments Package (EASEP), and transmitted live television coverage viewed by an estimated 600 million people worldwide.\n*   **Safety and Recovery Protocols:** The crew safely splashed down in the North Pacific Ocean on July 24, 1969, after 8 days, 3 hours, 18 minutes, and 35 seconds of flight. Emergency weather rerouting was made possible prior to recovery due to classified spy satellite monitoring of an impending storm front.\n\n---\n\n## 1. Historical, Political, and Programmatic Context\n\n### The Cold War and Space Race Infrastructure\nThe launch of *Sputnik 1* by the Soviet Union on October 4, 1957, initiated the Sputnik crisis and ignited the Space Race. The achievement demonstrated Soviet capabilities in intercontinental ballistic missile technology, directly challenging American perceptions of military and technological dominance. \n\nIn response, President Dwight D. Eisenhower established NASA and initiated Project Mercury. Subsequent early Soviet milestones—most notably cosmonaut Yuri Gagarin becoming the first human in space and orbit on April 12, 1961—forced U.S. leadership to seek a long-term goal where existing Soviet launcher advantage (higher lift capacity) would be neutralized.\n\n### Presidential Directives\nOn May 25, 1961, President John F. Kennedy addressed a joint session of Congress on \"Urgent National Needs,\" establishing the core mandate for Project Apollo:\n\n> \"I believe that this nation should commit itself to achieving the goal, before this decade [1960s] is out, of landing a man on the Moon and returning him safely to the Earth. No single space project in this period will be more impressive to mankind, or more important for the long-range exploration of space; and none will be so difficult or expensive to accomplish.\"\n\nKennedy reinforced this commitment during a speech at Rice University on September 12, 1962, stating:\n\n> \"We choose to go to the Moon in this decade and do the other things, not because they are easy, but because they are hard; because that goal will serve to organize and measure the best of our energies and skills, because that challenge is one that we are willing to accept, one we are unwilling to postpone, and one we intend to win...\"\n\nDespite political rhetoric, the program faced internal domestic criticism; MIT mathematician Norbert Wiener notably dismissed the initiative as a \"moondoggle.\" Kennedy explored potential joint U.S.-Soviet lunar expeditions during meetings with Soviet Premier Nikita Khrushchev in June 1961 and at the UN General Assembly in September 1963, but these concepts were abandoned following Kennedy's assassination.\n\n### Technical Foundations and Precursor Missions\nIn July 1962, NASA Administrator James Webb approved Lunar Orbit Rendezvous (LOR) as the core mission architecture over direct ascent and Earth orbit rendezvous. LOR allowed a single Saturn V rocket to launch a three-part spacecraft:\n1.  **Command Module (CM):** Cabin housing the three-man crew; the only component designed to return intact to Earth.\n2.  **Service Module (SM):** Propulsion, electrical power, oxygen, and water supply.\n3.  **Lunar Module (LM):** Two-stage craft comprising a descent stage for landing and an ascent stage for returning astronauts to lunar orbit.\n\nProject Gemini established the rendezvous, docking, and EVA techniques required for Apollo. Advanced hardware integrations—specifically metal–oxide–semiconductor field-effect transistors (MOSFETs) in the Interplanetary Monitoring Platform (IMP) and silicon integrated circuit (IC) chips in the Apollo Guidance Computer (AGC)—enabled the miniaturization of onboard computing.\n\nFollowing the fatal *Apollo 1* launchpad fire on January 27, 1967, which killed astronauts Gus Grissom, Ed White, and Roger B. Chaffee, the Apollo hardware underwent systematic testing:\n*   **Apollo 7 (Oct 1968):** Evaluated the CM in Earth orbit.\n*   **Apollo 8 (Dec 1968):** Tested the CSM in lunar orbit.\n*   **Apollo 9 (Mar 1969):** Evaluated the LM in Earth orbit.\n*   **Apollo 10 (May 1969):** Conducted a full \"dress rehearsal\" in lunar orbit, bringing the LM within 15 km (9.3 mi) of the surface.\n\n### Soviet Parallel Activities\nWhile the U.S. pursued Apollo 11, Soviet efforts to land humans stalled due to failures in developing the N1 heavy-lift launcher. The USSR pivoted to uncrewed automated sample return. On July 13, 1969—three days before Apollo 11 launched—the Soviets launched *Luna 15*. The uncrewed probe entered lunar orbit ahead of Apollo 11, but suffered a malfunction during descent and crashed in Mare Crisium at 15:50 UTC on July 21, approximately two hours before Apollo 11's planned return liftoff from the lunar surface.\n\n---\n\n## 2. Mission Specifications and Operational Parameters\n\n| Parameter | Specification / Data Point |\n| :--- | :--- |\n| **Mission Type** | Crewed Lunar Landing (G Type) |\n| **Operator** | NASA |\n| **Spacecraft Identification** | CSM-107 (*Columbia*); LM-5 (*Eagle*) |\n| **COSPAR ID** | CSM: 1969-059A; LM: 1969-059C |\n| **SATCAT Catalog No.** | CSM: 4039; LM: 4041 |\n| **Launch Vehicle** | Saturn V SA-506 |\n| **Launch Site** | Launch Complex 39A, Kennedy Space Center, Florida |\n| **Launch Mass** | 109,646 lb (49,735 kg) |\n| **Landing Mass (LM)** | 10,873 lb (4,932 kg) |\n| **Total Mission Duration**| 8 days, 3 hours, 18 minutes, 35 seconds |\n| **Orbital Insertion (Selenocentric)** | July 19, 1969, 17:21:50 UTC |\n| **Lunar Orbit Parameters** | Periselene: 100.9 km (54.5 nmi); Aposelene: 122.4 km (66.1 nmi); Inclination: 1.25°; Period: 2 hours |\n| **Lunar Surface Coordinates**| Tranquility Base, Mare Tranquillitatis (0.67416°N, 23.47314°E) |\n| **Surface Stay Duration** | 21 hours, 36 minutes, 20 seconds |\n| **EVA Duration** | 2 hours, 31 minutes, 40 seconds |\n| **Sample Material Returned**| 47.51 lb (21.55 kg) |\n| **Recovery Asset / Location**| USS *Hornet*; North Pacific Ocean (13°19′N, 169°9′W) |\n\n---\n\n## 3. Personnel Structure and Personnel Assignments\n\n### Prime and Backup Flight Crews\n\n*   **Commander:** Neil A. Armstrong (Second and final spaceflight)\n*   **Command Module Pilot (CMP):** Michael Collins (Second and final spaceflight)\n*   **Lunar Module Pilot (LMP):** Edwin \"Buzz\" Aldrin Jr. (Second and final spaceflight)\n\n#### Crew Reassignments and Dynamics\nThe initial crew structure was established in November 1967 when Armstrong, Jim Lovell, and Aldrin were assigned as the backup crew for Apollo 9. Manufacturing delays with the LM caused Apollo 8 and Apollo 9 to swap prime and backup crews, putting Armstrong's crew in line to back up Apollo 8 and prime Apollo 11 under standard rotation protocols. \n\nWhen original Apollo 8 CMP Michael Collins required spinal surgery for a bone growth between his fifth and sixth vertebrae, Lovell moved into the Apollo 8 prime crew, Fred Haise filled in as backup LMP, and Aldrin served as backup CMP. Upon recovering, Collins was integrated into Armstrong's crew as CMP for Apollo 11. \n\nFlight Crew Operations Director Deke Slayton offered Armstrong the opportunity to replace Aldrin with Lovell due to perceived friction with Aldrin, but Armstrong declined, noting that Lovell deserved his own command (which became Apollo 13). Collins and Aldrin described the prime crew as \"amiable strangers,\" forging a formal and effective working relationship without the close social personal dynamic seen on missions like Apollo 12.\n\n*   **Backup Crew:** Jim Lovell (Commander), William Anders (CMP), Fred Haise (LMP). Ken Mattingly trained in parallel as backup CMP due to Anders accepting a position with the National Aeronautics and Space Council starting August 1969.\n\n### Ground Control, CAPCOMs, and Management\n\n#### Support Crew\nKen Mattingly, Ronald Evans, Bill Pogue.\n\n#### Capsule Communicators (CAPCOM)\nCommunication directly with the spacecraft was restricted to CAPCOM astronauts to ensure operational clarity. CAPCOMs included Charles Duke, Owen Garriott, Don L. Lind, Bruce McCandless II, Harrison Schmitt, William Anders, Ronald Evans, Fred Haise, Jim Lovell, and Ken Mattingly.\n\n#### Flight Directors\n*   **Shift 1 (Green Team):** Clifford E. Charlesworth (Launch and EVA)\n*   **Shift 1 (Gold Team - Backup):** Gerald D. Griffin\n*   **Shift 2 (White Team):** Gene Kranz (Lunar Landing)\n*   **Shift 3 (Black Team):** Glynn Lunney (Lunar Ascent)\n*   **Shift 4 (Maroon Team):** Milton Windler (Planning)\n\n#### Key Support Personnel\n\n| Name | Specialty / Role | Core Contribution |\n| :--- | :--- | :--- |\n| **Farouk El-Baz** | Geologist | Studied lunar surface geology; identified landing sites; trained pilots. |\n| **Kurt Debus** | Rocket Scientist | Supervised construction and operation of launch pads and infrastructure. |\n| **Jamye Flowers** | Executive Secretary | Secretarial support for astronaut office. |\n| **Eleanor Foraker** | Tailor / Designer | Lead hand-assembler and designer for Apollo spacesuits. |\n| **Jack Garman** | Computer Engineer | Mission Control technician; verified 1201/1202 alarms were safe to proceed. |\n| **Millicent Goldschmidt**| Microbiologist | Designed aseptic lunar material collection protocols and astronaut training. |\n| **Eldon C. Hall** | AGC Hardware Engineer | Designed hardware architecture for the Apollo Guidance Computer. |\n| **Margaret Hamilton** | Software Engineer | Lead flight software engineer at MIT; authored fault-tolerant AGC software. |\n| **Milton E. Harr** | Geotechnical Engineer| Designed footpads for the Apollo Lunar Module landing gear. |\n| **John Houbolt** | Engineer / Planner | Primary advocate and route planner for Lunar Orbit Rendezvous (LOR). |\n| **Gene Shoemaker** | Field Geologist | Instructed prime and backup crews in field geology techniques. |\n| **Bill Tindall** | Flight Operations | Mission techniques coordinator; standardized operational trajectory rules. |\n\n---\n\n## 4. Pre-Launch Preparations, Logistics, and Decisions\n\n### Insignia and Call Sign Designations\n*   **Insignia:** Designed by Michael Collins, featuring an American bald eagle landing on the Moon with Earth in the background. At the suggestion of simulator instructor Tom Wilson, an olive branch was included. Originally drawn in the eagle's beak, NASA officials (including MSC Director Bob Gilruth) deemed the talons too warlike, prompting the olive branch to be shifted to the talons. Crew names were intentionally omitted from the patch so it would represent everyone who contributed to the landing.\n*   **Call Signs:** Early mission planning used internal/external call signs *Snowcone* (CM) and *Haystack* (LM). Following public affairs concerns regarding flippant designations (such as Apollo 10's *Charlie Brown* and *Snoopy*), Julian Scheer urged the adoption of formal names. The LM was designated *Eagle* (after the insignia), and the CM was named *Columbia*—referencing *Columbiad*, the space launch cannon in Jules Verne's 1865 novel *From the Earth to the Moon*, as well as a traditional historic name for the United States.\n\n### Personal Preference Kits (PPKs) and Mementos\nFive 0.5-pound (0.23 kg) Personal Preference Kits were stowed on board (three in *Columbia*, two in *Eagle*). Neil Armstrong’s LM PPK contained:\n*   A piece of wood from the left propeller of the Wright brothers' 1903 *Wright Flyer*.\n*   A piece of fabric from the *Wright Flyer's* wing.\n*   A diamond-studded astronaut pin originally belonging to Deke Slayton, gifted by the widows of the *Apollo 1* crew.\n\n### Landing Site Selection Criteria\nThe Apollo Site Selection Board announced five potential landing sites on February 8, 1968, compiled from uncrewed *Lunar Orbiter* and *Surveyor* photographic data:\n1.  **Site 1:** Sea of Tranquility (*Mare Tranquillitatis*)\n2.  **Site 2:** Sea of Tranquility (*Mare Tranquillitatis*) — **Selected**\n3.  **Site 3:** Central Bay (*Sinus Medii*) — Backup\n4.  **Site 4:** Ocean of Storms (*Oceanus Procellarum*)\n5.  **Site 5:** Ocean of Storms (*Oceanus Procellarum*) — Backup\n\nFinal selection of Site 2 was governed by seven technical constraints:\n*   Relatively smooth surface with low crater density.\n*   Approach path free of large hills, cliffs, or deep craters that could distort landing radar signals.\n*   Minimum propellant expenditure required for spacecraft trajectory.\n*   Flexibility to accommodate launch countdown delays.\n*   Maintenance of a free-return trajectory capability during trans-lunar coast.\n*   Sun angle between 7° and 20° behind the LM during approach (requiring launch windows limited to one specific day per month to limit operational surface temperature extremes).\n*   General ground surface slope of less than 2°.\n\n### First-Step Protocol Decision\nHistorical media reports early in 1969 incorrectly presumed Buzz Aldrin would step out first, mirroring Project Gemini operations where the pilot executed EVAs while the commander remained inside the spacecraft. \n\nThe decision to have Neil Armstrong step onto the surface first was finalized and announced on April 14, 1969. Primary contributing factors included:\n*   **Physical Cabin Geometry:** The LM hatch opened inward and hinged to the right, facing the Lunar Module Pilot's side. For Aldrin to egress first in a fully pressurized suit, he was forced to physically squeeze over the commander's position, damaging simulator equipment during trials.\n*   **Command Hierarchy:** Flight Crew Operations Director Deke Slayton formally invoked the commander's prerogative. \n*   **Public Representation:** Flight Operations Director Chris Kraft revealed in his autobiography that top management (Gilruth, Slayton, Low, and Kraft) deliberately stepped in to ensure Armstrong—a quiet civilian—was the first human on the surface, explicitly likening his demeanor to Charles Lindbergh.\n\n---\n\n## 5. Comprehensive Mission Execution Timeline\n\n### Launch, Trans-Lunar Injection, and Flight Phase\nOn July 16, 1969, at 13:32:00 UTC, Saturn V AS-506 launched Apollo 11 from Launch Complex 39A. Launch operations were managed with 43 automated programs written in the ATOLL programming language. Over 1 million spectators gathered along Florida highways, alongside 3,500 journalists and high-ranking dignitaries (including Vice President Spiro Agnew, former President Lyndon B. Johnson, and Army Chief of Staff William Westmoreland).\n\n```\n[13:32:00 UTC] Saturn V Liftoff\n       │\n[13:34:42 UTC] S-IC First Stage Shutdown & Separation\n       │\n[13:41:08 UTC] S-II Second Stage Cutoff & Separation\n       │\n[13:44:00 UTC] Initial Earth Orbit Insertion (100.4 x 98.9 nmi)\n       │ (1.5 Earth Orbits / 2.5 Hours)\n[16:16:16 UTC] S-IVB Trans-Lunar Injection (TLI) Burn (5 min, 47 sec)\n       │\n[16:46:00 UTC] Transposition, Docking, & Extraction (Columbia docks with Eagle)\n```\n\nDuring the trans-lunar coast, the spent S-IVB stage was maneuvered past the Moon using a gravitational slingshot into heliocentric orbit to avoid impact with the spacecraft, Earth, or Moon.\n\n### Lunar Orbit Entry and Lunar Descent\nApollo 11 entered lunar orbit on July 19 at 17:21:50 UTC, completing 30 orbits over the course of its stay. On July 20 at 12:52:00 UTC, Armstrong and Aldrin entered *Eagle*. Undocking occurred at 17:44:00 UTC while Collins inspected the vehicle from *Columbia*.\n\nDuring descent, three operational criticalities developed:\n1.  **Trajectory Overshoot (\"Downrange Long\"):** The LM passed surface landmarks 2 to 3 seconds early. Potential causes included gravitational mass concentrations (*mascons*), unvented air pressure in the docking tunnel prior to undocking, or dynamic perturbations from *Eagle’s* turn-around maneuver.\n2.  **1201 and 1202 Computer Alarms:** Five minutes into the descent burn at an altitude of 6,000 feet (1,800 m), the Apollo Guidance Computer threw executive overflow alarms. Software engineer Margaret Hamilton had designed the AGC software to drop lower-priority tasks (such as processing secondary radar data) to preserve primary guidance calculations, preventing an automatic abort. Guidance Officer Steve Bales and computer technician Jack Garman in Houston issued a \"GO\" command. Software engineer Don Eyles later confirmed in 2005 that an electrical phasing mismatch in the rendezvous radar switch hardware caused the computer to steal extra processing cycles.\n3.  **Hazard Avoidance and Manual Takeover:** Observing that the guidance system was directing *Eagle* into a boulder field surrounding West Crater (300 feet in diameter), Armstrong took manual pitch control to override the automatic lander system.\n\n```\n                   [1,800 m / 6,000 ft]\n                   1201 & 1202 Alarms (Garman/Bales GO)\n                            │\n                   [91 m / 300 ft Altitude]\n                   West Crater Boulder Field Avoidance\n                            │\n                   [33 m / 107 ft Altitude]\n                   Low Fuel State & Dust Cloud Obscuration\n                            │\n                   [Surface Contact - 1.7 m Probes]\n                   \"Contact Light!\" -> Engine Shutdown\n                            │\n                   [20:17:40 UTC, July 20, 1969]\n                   Touchdown at Tranquility Base\n```\n\n*Eagle* touched down at 20:17:40 UTC on Sunday, July 20, 1969, with roughly 216 lb (98 kg) of usable propellant remaining—representing 25 to 50 seconds before an abort threshold would be triggered. Propellant sloshing had uncovered a fuel sensor early, prompting NASA to retrofit future lander tanks with anti-slosh baffles.\n\nUpon touchdown, Armstrong communicated the revised call sign to CAPCOM Charles Duke:\n> **Armstrong:** \"Houston, Tranquility Base here. The *Eagle* has landed.\"\n> **Duke:** \"Roger, Twan— Tranquility, we copy you on the ground. You got a bunch of guys about to turn blue. We're breathing again. Thanks a lot.\"\n\nTwo and a half hours after landing, Aldrin radioed Earth asking listeners to contemplate the event, then privately took Holy Communion using a kit prepared by Pastor Dean Woodruff of Webster Presbyterian Church (keeping the religious nature silent to avoid ongoing litigation filed against NASA by Madalyn Murray O'Hair).\n\n### Lunar Surface Operations (EVA)\nThe crew bypassed a scheduled 5-hour sleep cycle, initiating EVA prep at 23:43 UTC. Cabin depressurization began 6 hours and 39 minutes post-landing.\n\n```\n[02:39:33 UTC, July 21] Hatch Unsealed & Opened\n       │\n[02:51:00 UTC] Armstrong Egress & Ladder Descent; MESA D-Ring Pulled\n       │\n[02:56:15 UTC] Armstrong's First Step onto Lunar Regolith\n       │\n[03:03:00 UTC] Contingency Soil Sample Collected\n       │\n[03:15:00 UTC] Aldrin Egresses LM; Joins Armstrong on Surface\n       │\n[03:41:00 UTC] Lunar Flag Assembly Planted & Saluted\n       │\n[03:43:00 UTC] Presidential Telephone Call (Nixon / Oval Office)\n       │\n[04:00:00 UTC] EASEP Deployment & Core Sample Drilling\n       │\n[05:01:00 UTC] Ingress Completed; Equipment Dump\n       │\n[05:11:13 UTC] LM Hatch Re-sealed and Cabin Pressurized\n```\n\n#### Major EVA Events and Artifacts\n*   **Broadcast Television:** Slow-scan black-and-white signals were received by the Honeysuckle Creek Tracking Station and the Parkes Radio Telescope in Australia, converted for standard broadcast, and viewed by 600 million people.\n*   **The First Step:** Armstrong stepped off the landing pad onto the surface at 02:56:15 UTC, declaring:\n    > \"That's one small step for [a] man, one giant leap for mankind.\"\n*   **Surface Dynamics:** Gravity was one-sixth of Earth's; mobility was primarily performed via \"loping\" or two-footed kangaroo hops. Sunlight generated distinct thermal effects on spacesuit visors, and kicking up fine regolith dust heavily soiled the lower suit layers.\n*   **Flag Placement:** The Lunar Flag Assembly was driven only 2 inches (5 cm) into the hard subsurface.\n*   **Presidential Call:** President Richard Nixon spoke with the crew via a radio line routed through the White House:\n    > **Nixon:** \"...For one priceless moment in the whole history of man, all the people on this Earth are truly one: one in their pride in what you have done, and one in our prayers that you will return safely to Earth.\"\n    > **Armstrong:** \"Thank you, Mr. President. It's a great honor and privilege for us to be here...\"\n*   **Scientific Instruments Deployed:** The Early Apollo Scientific Experiments Package (EASEP) included:\n    1.  *Passive Seismic Experiment Package:* Recorded moonquakes.\n    2.  *Retroreflector Array:* Target for long-term Lunar Laser Ranging experiments.\n\n#### Commemorative Items Deposited on Lunar Surface\n*   Stainless steel plaque on the LM descent stage ladder bearing two hemisphere drawings of Earth, signed by the three astronauts and President Nixon, reading:\n    > \"Here men from the planet Earth first set foot upon the Moon July 1969, A. D. We came in peace for all mankind.\"\n*   Apollo 1 patch commemorating Grissom, White, and Chaffee.\n*   Memorial medals honoring deceased Soviet cosmonauts Vladimir Komarov and Yuri Gagarin.\n*   Gold replica of an olive branch.\n*   Silicon goodwill disc containing messages from leaders of 73 nations, U.S. Congressional leadership lists, and NASA executive records.\n\n#### Lunar Material Collection\nThe crew collected 47.51 lb (21.55 kg) of surface material, including core samples drilled 6 inches (15 cm) deep and rock types classified as basalt and breccia. Chemical analysis of the samples identified three new mineral structures:\n1.  **Armalcolite:** Named after **Arm**strong, **Al**drin, and **Col**lins.\n2.  **Tranquillityite:** Named after the Sea of Tranquility.\n3.  **Pyroxferroite:** Iron-rich silicate mineral.\n*(All three minerals were subsequently discovered in Earth geology.)*\n\n### Solo Operations in Lunar Orbit (*Columbia*)\nWhile *Eagle* was on the surface, Michael Collins orbited the Moon solo aboard *Columbia*. Every orbit included 48 minutes on the far side of the Moon completely isolated from radio communication with Earth. In his autobiography, Collins refuted perceptions of extreme isolation:\n\n> \"...this venture has been structured for three men, and I consider my third to be as necessary as either of the other two... awareness, anticipation, satisfaction, confidence, almost exultation.\"\n\nDuring his third orbit, an Environmental Control System warning indicated a dangerous temperature drop in the coolant. Collins bypassed procedural steps to manually override procedure 17, toggling the switch between manual and automatic to normalize system function. He continuously attempted to spot *Eagle* using optical telescopes based on revised coordinates from Mission Control, though without success.\n\n### Ascent, Rendezvous, and Return Trajectory\nPrior to launch, Aldrin noticed that a suit backpack had accidentally sheared off the plastic circuit breaker stem required to arm the ascent engine switch. Aldrin successfully jammed the non-conductive plastic tip of a Duro felt-tip pen into the switch assembly to arm the propulsion system.\n\n```\n[17:54:00 UTC, July 21] Ascent Engine Fired; Liftoff from Moon\n       │ (21.5 Hours total surface stay)\n       │ Ascent blast knocks over U.S. Flag (observed by Aldrin)\n       │\n[21:24:00 UTC] Eagle Rendezvous with Columbia in Orbit\n       │\n[21:35:00 UTC] Docking Executed Successfully\n       │\n[23:41:31 UTC, July 21] Eagle Ascent Stage Jettisoned into Lunar Orbit\n       │\n[16:50:35 UTC, July 24] Splashdown in North Pacific Ocean\n```\n\nPrior to splashdown, US Air Force Captain Hank Brandli leveraged classified military spy satellite photography to identify a severe storm system heading directly toward the primary splashdown target zone. Brandli alerted Navy Captain Willard S. Houston Jr., Commander of the Fleet Weather Center at Pearl Harbor, allowing NASA to shift the landing target, avoiding extreme atmospheric turbulence that would have torn open the recovery parachutes.\n\n*Columbia* safely splashed down on July 24, 1969, at 16:50:35 UTC in the North Pacific Ocean, 13°19′N 169°9′W, and was retrieved by Navy divers and the prime recovery ship USS *Hornet*.\n\n---\n\n## 6. Contingency Planning and Historical Legacy\n\n### Operational Contingencies: The Safire Memo\nBecause lunar ascent carried zero redundancy, White House speechwriter William Safire drafted a contingency speech titled *\"In Event of Moon Disaster\"* for President Nixon on July 18, 1968. \n\nThe protocol mandated that in the event the astronauts were stranded on the surface:\n1.  Mission Control would immediately terminate all two-way radio communications with the LM.\n2.  A formal ritual likened to a burial at sea would be performed, wherein a clergyman would \"commend their souls to the deepest of the deep.\"\n3.  The proposed announcement echoed World War I poet Rupert Brooke’s work *\"The Soldier\"*.\n4.  The draft omitted mention of Michael Collins, as it was expected he would be forced to abandon his crewmates and return to Earth alone.\n\n### Post-Mission Disposition\n*   **Crew Honors:** The crew was awarded the Presidential Medal of Freedom, given ticker-tape parades across the United States, and sent on an international goodwill tour.\n*   **Spacecraft Artifacts:** The Command Module *Columbia* is displayed at the Smithsonian's National Air and Space Museum in Washington, D.C. The descent stage of *Eagle* remains *in situ* at Tranquility Base (0.67416°N, 23.47314°E). *Eagle’s* jettisoned ascent stage eventually impacted the Moon after its orbit decayed, though 2021 orbital mechanics calculations suggest it may potentially remain in an unstable lunar orbit."
  }
}

The data table job, in full (step-17-table-job.json):

{
  "jobid": "job:bd4c1077-68c4-4e16-9ed8-122f31912c46-user:[email protected]:gemini_notebook",
  "email": "[email protected]",
  "type": "table",
  "status": "completed",
  "notebook": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf",
  "artifact": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:3d9344ac-bc4b-4734-8c76-0d58279567cc",
  "created_at": "2026-09-29T05:53:06.323Z",
  "request": {
    "notebook": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf",
    "type": "table",
    "instructions": "One row per program alarm or anomaly during the descent: time, alarm or event, cause, what the crew or Mission Control did."
  },
  "completed_at": "2026-09-29T05:53:38.651Z",
  "result": {
    "title": "Apollo 11 Descent Alarms and Anomalies",
    "table": [
      [
        "Time",
        "Alarm or event",
        "Cause",
        "What the crew or Mission Control did",
        "Source"
      ],
      [
        "Five minutes into the descent burn / MET 102:38:00–102:38:22 / PDI + 316 seconds",
        "1202 program alarm",
        "Computer overload (Executive overflow: no core sets available). High-frequency counter increment requests from the rendezvous radar ECDUs, caused by an electrical phasing mismatch (800 Hz vs 400 Hz), stole 13% to 15% of computer CPU cycles while running V16N68.",
        "Buzz Aldrin checked the alarm code using Verb 90 Noun 50 (and Verb 05 Noun 09 at PDI + 322 seconds). Computer engineer Jack Garman checked his reference sheet and told Guidance Officer Steve Bales it was safe to continue. Bales verified telemetry/navigation, and CapCom Charlie Duke transmitted \"Go\" to the crew. The LGC software automatically eliminated lower-priority tasks to maintain critical guidance tasks. Crew hit Key Release at PDI + 380 seconds.",
        "[1] [2] [3] [4] [5] [6] [7]"
      ],
      [
        "MET 102:36:55",
        "Slow spacecraft rotation rate during pitch-over/spin maneuver",
        "Autopilot rate switch was set at 5 deg/sec.",
        "Neil Armstrong switched the autopilot rate switch from 5 deg/sec to 25 deg/sec.",
        "[4]"
      ],
      [
        "As descent began / Not in source",
        "Overshooting the Planned Landing Target / Downrange Position Offset (Trajectory shifted 3,000 ft downrange from target site)",
        "Residual pressure in the docking tunnel during separation, lunar gravitational anomalies (mascons), and accumulated state vector propagation errors or unmodeled forces during earlier maneuvers.",
        "The crew monitored their position closely, maintained composure, and prepared to adapt to landing further west than planned. Armstrong later engaged manual rate-of-descent mode to fly clear of rocks.",
        "[5] [6]"
      ],
      [
        "During descent",
        "1202 Program Alarm shortly after Verb 57 was entered",
        "Computer overload (Executive alarm) due to CPU cycle stealing by the rendezvous radar interface combined with monitoring displays.",
        "Aldrin checked the alarm code using Verb 90 Noun 50. Mission Control issued a \"go\".",
        "[4]"
      ],
      [
        "PDI + 552 seconds / MET 102:42:17",
        "1201 program alarm",
        "Computer overload (Executive overflow: no VAC areas available due to multiple scheduling of jobs like SERVICER). Caused by high-frequency counter increment requests from the rendezvous radar interface stealing CPU cycles during P64.",
        "Mission Control called a \"go\". Software restart automatically cleared dispensable jobs and maintained required guidance tasks while the crew focused inside the cockpit.",
        "[1] [2] [3] [4] [6] [7]"
      ],
      [
        "PDI + 578 seconds / MET 102:42:41",
        "1202 program alarm",
        "Computer overload (Executive overflow: no core sets available) caused by high-frequency counter increment requests from the rendezvous radar interface stealing CPU cycles during P64.",
        "Mission Control called a \"go\". Software restart automatically executed to clean out old unfinished jobs.",
        "[3] [4]"
      ],
      [
        "PDI + 594 seconds / MET 102:42:57 (at 770 ft altitude)",
        "1202 program alarm",
        "Computer overload (Executive overflow: no core sets available) caused by high-frequency counter increment requests from the rendezvous radar interface stealing CPU cycles during P64.",
        "Mission Control called a \"go\". Software restart automatically executed to clean out old unfinished jobs. Shortly after, Armstrong switched autopilot mode to ATT HOLD to stop automated redesignations and avoid further alarms.",
        "[3] [4]"
      ],
      [
        "102:41:53 GET / Near landing approach (250 ft to 100 ft above surface)",
        "Guidance system targeting a boulder-strewn area near West Crater / Overrode automatic landing program P64 and selected P66 mode",
        "LM guidance computer targeted West Crater boulder field due to landing system targeting parameters and high horizontal velocity.",
        "Neil Armstrong took semi-automatic manual control (P66 mode), adjusting pitch and roll to pilot Eagle past the crater and boulder field to find a clear level patch of ground, while Buzz Aldrin continuously called out navigation and altitude data.",
        "[1] [2] [5] [6] [7]"
      ],
      [
        "100 feet above the surface / Final descent",
        "Premature low fuel warning / Propellant Depletion Risk / Blinding Lunar Dust",
        "Propellant sloshing during P66 manual translation uncovered fuel sensor early. Engine exhaust kicked up lunar dust obscuring the surface.",
        "Armstrong used large rocks projecting above the dust to gauge horizontal speed, cleared a smaller crater, and landed with about 25 to 50 seconds of fuel remaining (90 seconds remaining when warning issued). Mission Control initiated a mandatory countdown with \"60 seconds\" and \"30 seconds\" warning calls from CapCom.",
        "[1] [2] [5] [6]"
      ],
      [
        "Touchdown / Contact light call",
        "Delayed Engine Shutdown",
        "In the intensity of the moment, Armstrong delayed shutting down the engine for about three seconds after contact light.",
        "The lander settled safely; the crew ran post-landing checklists to secure the engine, and Armstrong announced touchdown.",
        "[6]"
      ],
      [
        "Not in source",
        "Code 500",
        "The computer thought the landing radar antenna was in the wrong position (caused by misbehaving discrete signals).",
        "The crew saw switches were in the right positions, cycled them anyway, and the warning cleared.",
        "[4]"
      ],
      [
        "Not in source",
        "Telemetry Disruption / Intermittent Loss of Signal (LOS)",
        "Vehicle pitch/yaw attitude obscured line-of-sight for S-Band High Gain Antenna.",
        "Switched to omni-directional antennas and CapCom requested vehicle re-orientation.",
        "[5]"
      ]
    ]
  }
}

The report as Markdown: step-17-briefing-report.md. The table as CSV: step-17-data-table.csv.

18. A Video Overview and a slide deck

Both async. The slide deck finished in 5 minutes 10 seconds: 8 slides, with pdf and pptx files and one image per slide in result.slides. The Video Overview took 14 minutes and runs 11 minutes 50 seconds, a 720p mp4 of 59 MB. Both are shown in Results.

curl — POST /artifacts (video + slides, async)
VIDEO=$(curl -sS -X POST "$API/artifacts" \
  -H "Authorization: Bearer $USEAPI_TOKEN" -H "Content-Type: application/json" \
  -d "$(jq -n --arg nb "$NOTEBOOK" '{notebook: $nb, type: "video", format: "explainer", style: "whiteboard", mode: "async"}')" | jq -r .jobid)

SLIDES=$(curl -sS -X POST "$API/artifacts" \
  -H "Authorization: Bearer $USEAPI_TOKEN" -H "Content-Type: application/json" \
  -d "$(jq -n --arg nb "$NOTEBOOK" '{notebook: $nb, type: "slides", format: "presenter", length: "short", mode: "async"}')" | jq -r .jobid)

for kind in slides video; do
  JOBID=$([ "$kind" = slides ] && echo "$SLIDES" || echo "$VIDEO")
  until curl -sS "$API/jobs/$(enc "$JOBID")" -H "Authorization: Bearer $USEAPI_TOKEN" > "$kind.json" &&
        jq -e '.status == "completed" or .status == "failed"' "$kind.json" > /dev/null; do
    sleep 15
  done
  cat "$kind.json"
done

The slide deck job, in full (step-18-slides-job.json):

{
  "jobid": "job:425e9a82-4b00-4bec-9175-75a4957b59f7-user:[email protected]:gemini_notebook",
  "email": "[email protected]",
  "type": "slides",
  "status": "completed",
  "notebook": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf",
  "artifact": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:41da332a-b388-4ca6-8ccf-95d1f12f6ce5",
  "created_at": "2026-09-29T05:53:51.140Z",
  "request": {
    "notebook": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf",
    "type": "slides",
    "format": "presenter",
    "length": "short"
  },
  "completed_at": "2026-09-29T05:59:01.081Z",
  "result": {
    "title": "Apollo 11 Mission",
    "files": [
      {
        "format": "pdf",
        "mimeType": "application/pdf",
        "url": "https://api.useapi.net/v1/gemini-notebook/artifacts/download?artifact=user%3A12345-user%40example.com-artifact%3A62600bab-4082-4ee6-8fc3-955cee0c69cf%3A41da332a-b388-4ca6-8ccf-95d1f12f6ce5&format=pdf"
      },
      {
        "format": "pptx",
        "mimeType": "application/vnd.openxmlformats-officedocument.presentationml.presentation",
        "url": "https://api.useapi.net/v1/gemini-notebook/artifacts/download?artifact=user%3A12345-user%40example.com-artifact%3A62600bab-4082-4ee6-8fc3-955cee0c69cf%3A41da332a-b388-4ca6-8ccf-95d1f12f6ce5&format=pptx"
      }
    ],
    "slides": [
      {
        "image": "https://api.useapi.net/v1/gemini-notebook/artifacts/download?artifact=user%3A12345-user%40example.com-artifact%3A62600bab-4082-4ee6-8fc3-955cee0c69cf%3A41da332a-b388-4ca6-8ccf-95d1f12f6ce5&format=slide&index=1",
        "caption": "Title slide for Apollo 11: The Giant Leap, featuring an astronaut on the moon with mission duration and success status.",
        "text": "APOLLO 11 THE GIANT LEAP\n\n[An astronaut in a white spacesuit stands on the gray, cratered lunar surface. The Earth is reflected in the gold visor of the helmet.]\n\n[A digital heads-up display box in the bottom left corner contains the following text:]\n- OPERATOR: NASA\n- MISSION DURATION: 08D : 03H : 18M : 35S\n- STATUS: MISSION SUCCESS"
      },
      {
        "image": "https://api.useapi.net/v1/gemini-notebook/artifacts/download?artifact=user%3A12345-user%40example.com-artifact%3A62600bab-4082-4ee6-8fc3-955cee0c69cf%3A41da332a-b388-4ca6-8ccf-95d1f12f6ce5&format=slide&index=2",
        "caption": "Slide titled The Catalyst: A Cold War Ultimatum, detailing the space race's start and JFK's lunar landing strategy.",
        "text": "THE CATALYST: A COLD WAR ULTIMATUM\n\n[A timeline on a black background features a vertical red glowing line with two points.]\n- Oct 4, 1957: USSR launches Sputnik 1, igniting the Space Race and challenging US claims of superiority.\n- Apr 12, 1961: Yuri Gagarin becomes the first human in space.\n\n[A photo shows President John F. Kennedy speaking at a podium in a crowded stadium.]\n\nTHE ULTIMATUM\n\"We choose to go to the Moon in this decade and do the other things, not because they are easy, but because they are hard.\"\n\nTHE STRATEGY\nBecause the USSR had superior launch capacity, Kennedy chose a challenge so extreme (a crewed lunar landing) that both nations would effectively have to start from zero."
      },
      {
        "image": "https://api.useapi.net/v1/gemini-notebook/artifacts/download?artifact=user%3A12345-user%40example.com-artifact%3A62600bab-4082-4ee6-8fc3-955cee0c69cf%3A41da332a-b388-4ca6-8ccf-95d1f12f6ce5&format=slide&index=3",
        "caption": "Diagram and table explaining the Lunar Orbit Rendezvous architecture, featuring the Saturn V, Columbia, and Eagle modules.",
        "text": "THE ARCHITECTURE: LUNAR ORBIT RENDEZVOUS\n\n[A diagram shows the mission path from Earth to the Moon. A Saturn V rocket launches from Earth. The Columbia module orbits the moon with heavy return fuel, while the lightweight Eagle lander descends to the surface and then ascends back to orbit.]\n\nCOMMAND MODULE (COLUMBIA)\n- Manufacturer: North American Rockwell\n- Role: Crew cabin, Earth return vehicle\n- Final Resting Place: Preserved at National Air and Space Museum\n\nSERVICE MODULE\n- Role: Propulsion, electrical power, oxygen, and water\n- Final Resting Place: Jettisoned / Burned up\n\nLUNAR MODULE (EAGLE)\n- Manufacturer: Grumman\n- Role: Lunar descent and ascent (2 stages)\n- Landing Mass: 10,873 lb (4,932 kg)\n- Final Resting Place: Descent stage remains at Tranquility Base"
      },
      {
        "image": "https://api.useapi.net/v1/gemini-notebook/artifacts/download?artifact=user%3A12345-user%40example.com-artifact%3A62600bab-4082-4ee6-8fc3-955cee0c69cf%3A41da332a-b388-4ca6-8ccf-95d1f12f6ce5&format=slide&index=4",
        "caption": "Slide titled The Vanguard: An Ecosystem of Support, illustrating the crew, mission control, and software/support teams.",
        "text": "THE VANGUARD: AN ECOSYSTEM OF SUPPORT\n\n[A photo of the three Apollo 11 astronauts in their spacesuits.]\n\n[A three-tiered pyramid diagram outlines the support structure.]\n\nTHE CREW TRIAD\n- Neil Armstrong (Commander) – Surface\n- Buzz Aldrin (Lunar Module Pilot) – Surface\n- Michael Collins (Command Module Pilot) – Lunar Orbit\n\nMISSION CONTROL\n- Gene Kranz (Flight Director, White Team – Lunar Landing)\n- Charles Duke (CAPCOM – The sole voice to the capsule)\n\nTHE INVISIBLE ARMY\n- Margaret Hamilton (Onboard flight computer software engineer)\n- Jack Garman (Computer engineer)\n- Eleanor Foraker (Spacesuit tailor)\n\n\"All you see is the three of us, but beneath the surface are thousands and thousands of others.\" — Michael Collins"
      },
      {
        "image": "https://api.useapi.net/v1/gemini-notebook/artifacts/download?artifact=user%3A12345-user%40example.com-artifact%3A62600bab-4082-4ee6-8fc3-955cee0c69cf%3A41da332a-b388-4ca6-8ccf-95d1f12f6ce5&format=slide&index=5",
        "caption": "Details the lunar descent, including the 1202 executive overflow alarm and the software architecture that saved the landing.",
        "text": "THE DESCENT: OVERLOAD AND OVERRIDE\n\n[A photo shows the Lunar Module Eagle descending over the cratered moon surface.]\n\nTENSION METERS & ACTION LOG\n- ALTITUDE: [A line graph shows a descent from 1500 FT to 100 FT, currently at 120 FT.]\n- PROPELLANT: [A bar graph shows 90 SECONDS REMAINING. A note reads: (SENSOR UNCOVERED BY SLOSHING)]\n- HAZARD: AGC TARGETING BOULDER FIELD (WEST CRATER)\n\nTHE 1202 EXECUTIVE OVERFLOW\n[A funnel diagram shows Rendezvous Radar (Hardware Bug) and Landing Radar data entering. A filter allows landing data through while rejecting the radar bug data.]\n- REJECTED\n- CRITICAL LANDING THRUSTERS CONTINUE FIRING.\n- JACK GARMAN CLEARS ALARM: SAFE TO CONTINUE\n\n[A terminal-style text box contains the following action log:]\n- -> ARMSTRONG TAKES SEMI-AUTOMATIC CONTROL\n- -> CONTACT LIGHT\n- -> HOUSTON, TRANQUILITY BASE HERE. THE EAGLE HAS LANDED."
      },
      {
        "image": "https://api.useapi.net/v1/gemini-notebook/artifacts/download?artifact=user%3A12345-user%40example.com-artifact%3A62600bab-4082-4ee6-8fc3-955cee0c69cf%3A41da332a-b388-4ca6-8ccf-95d1f12f6ce5&format=slide&index=6",
        "caption": "Overview of activities at Tranquility Base, including viewership stats, EVA duration, lunar samples, and the Nixon call.",
        "text": "TRANQUILITY BASE: MAGNIFICENT DESOLATION\n\n[A central photo shows an astronaut saluting the American flag next to the Lunar Module on the moon, with Earth visible in the dark sky above. Below the photo is a golden audio waveform.]\n\"That's one small step for [a] man, one giant leap for mankind.\"\n\nVIEWERSHIP\n- ~600 million viewers (Roughly 1/5th of global population)\n\nSURFACE EVA DURATION\n- 2 hours, 31 minutes, 40 seconds\n\nLUNAR YIELD\n- 47.51 lb (21.55 kg) of samples\n- Discovered 3 new minerals: armalcolite, tranquillityite, pyroxferroite\n\nCOMMUNICATION\n- The most historic phone call ever made — President Nixon from the Oval Office"
      },
      {
        "image": "https://api.useapi.net/v1/gemini-notebook/artifacts/download?artifact=user%3A12345-user%40example.com-artifact%3A62600bab-4082-4ee6-8fc3-955cee0c69cf%3A41da332a-b388-4ca6-8ccf-95d1f12f6ce5&format=slide&index=7",
        "caption": "Infographic of the 8-day mission trajectory from Earth launch to lunar orbit and splashdown in the Pacific Ocean.",
        "text": "THE TRAJECTORY: 8 DAYS, 3 HOURS, 18 MINUTES\n\n[A diagram shows a blue infinity-loop flight path between the Earth and the Moon.]\n- JUL 16, 13:32 UTC: Launch: Saturn V AS-506 lifts off from LC-39A.\n- TRANSLUNAR INJECTION: S-IVB engine pushes CSM/LM toward the Moon.\n- JUL 19 – LUNAR ORBIT: Columbia orbits the Moon 30 times.\n- JUL 20–21 – DESCENT & ASCENT: Eagle lands, surface EVA, and ascent stage lifts off to rendezvous at 21:24 UTC.\n- JUL 24, 16:50 UTC: Splashdown: Columbia strikes the Pacific Ocean 24 km from USS Hornet.\n\n[A photo shows the Command Module floating in the ocean surrounded by green flotation rings.]\n- NOTE: Returning astronauts placed in a Mobile Quarantine Facility for 21 days due to Extra-Terrestrial Exposure laws."
      },
      {
        "image": "https://api.useapi.net/v1/gemini-notebook/artifacts/download?artifact=user%3A12345-user%40example.com-artifact%3A62600bab-4082-4ee6-8fc3-955cee0c69cf%3A41da332a-b388-4ca6-8ccf-95d1f12f6ce5&format=slide&index=8",
        "caption": "Final slide comparing the 1961 Cold War origins of the mission to its 1969 result as a moment of global unification.",
        "text": "THE SYNTHESIS: FOR ALL MANKIND\n\n[A photo of a plaque featuring a map of Earth and the text: Here men from the planet Earth first set foot upon the Moon July 1969, A. D. We came in peace for all mankind.]\n\nTHE ORIGIN (1961)\n- Driver: National survival and military/technological superiority.\n- Context: A divided world locked in the Cold War.\n\nTHE RESULT (1969)\n- Driver: Global unification and insatiable human curiosity.\n- Context: 600 million people experiencing a single moment together.\n\nThe ultimate weapon of the Cold War Space Race inadvertently engineered humanity's greatest moment of peaceful unification. As President Nixon stated upon their return: \"The world has never been closer together before.\""
      }
    ]
  }
}

The video job, in full (step-18-video-job.json):

{
  "jobid": "job:ca1688fd-3416-43c7-894c-1177b985282a-user:[email protected]:gemini_notebook",
  "email": "[email protected]",
  "type": "video",
  "status": "completed",
  "notebook": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf",
  "artifact": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:6759c800-68cf-40c6-9824-31a0ff417f1a",
  "created_at": "2026-09-29T05:53:45.260Z",
  "request": {
    "notebook": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf",
    "type": "video",
    "format": "explainer",
    "style": "whiteboard"
  },
  "completed_at": "2026-09-29T06:07:47.466Z",
  "result": {
    "title": "Apollo 11: Untold Stories",
    "duration": 710,
    "files": [
      {
        "format": "mp4",
        "mimeType": "video/mp4",
        "url": "https://api.useapi.net/v1/gemini-notebook/artifacts/download?artifact=user%3A12345-user%40example.com-artifact%3A62600bab-4082-4ee6-8fc3-955cee0c69cf%3A6759c800-68cf-40c6-9824-31a0ff417f1a&format=mp4"
      }
    ]
  }
}

The files: the deck as PDF, the deck as PowerPoint and the video’s first 90 seconds (mp4). The full 59 MB video is larger than our media host allows.

19. Revise one slide

POST /artifacts/revise redrew slide 2 from a prompt in 51 seconds. The revision is a new artifact with its own artifact id, its job’s result is the whole deck again with the new slide 2, and the original deck stays in the notebook. Before and after are shown in Results.

curl — POST /artifacts/revise
curl -sS -X POST "$API/artifacts/revise" \
  -H "Authorization: Bearer $USEAPI_TOKEN" -H "Content-Type: application/json" \
  -d "$(jq -n --arg a "$(jq -r .artifact slides.json)" '{artifact: $a, slide: 2, prompt: "Make this slide a simple timeline graphic.", mode: "async"}')"

# then poll GET /jobs/{jobid} as in step 11

It returned, in full (step-19-revise-job.json):

{
  "jobid": "job:13cad8cf-27ec-4da4-9913-d65ff024fd77-user:[email protected]:gemini_notebook",
  "email": "[email protected]",
  "type": "slides",
  "status": "completed",
  "notebook": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf",
  "artifact": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:31db5568-e2dc-4447-a0f8-b47e99ef8be4",
  "created_at": "2026-09-29T06:08:11.703Z",
  "request": {
    "artifact": "user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf:41da332a-b388-4ca6-8ccf-95d1f12f6ce5",
    "slide": 2,
    "prompt": "Make this slide a simple timeline graphic."
  },
  "completed_at": "2026-09-29T06:09:02.763Z",
  "result": {
    "title": "Apollo 11 Mission (2)",
    "files": [
      {
        "format": "pdf",
        "mimeType": "application/pdf",
        "url": "https://api.useapi.net/v1/gemini-notebook/artifacts/download?artifact=user%3A12345-user%40example.com-artifact%3A62600bab-4082-4ee6-8fc3-955cee0c69cf%3A31db5568-e2dc-4447-a0f8-b47e99ef8be4&format=pdf"
      },
      {
        "format": "pptx",
        "mimeType": "application/vnd.openxmlformats-officedocument.presentationml.presentation",
        "url": "https://api.useapi.net/v1/gemini-notebook/artifacts/download?artifact=user%3A12345-user%40example.com-artifact%3A62600bab-4082-4ee6-8fc3-955cee0c69cf%3A31db5568-e2dc-4447-a0f8-b47e99ef8be4&format=pptx"
      }
    ],
    "slides": [
      {
        "image": "https://api.useapi.net/v1/gemini-notebook/artifacts/download?artifact=user%3A12345-user%40example.com-artifact%3A62600bab-4082-4ee6-8fc3-955cee0c69cf%3A31db5568-e2dc-4447-a0f8-b47e99ef8be4&format=slide&index=1",
        "caption": "Title slide for Apollo 11: The Giant Leap, featuring an astronaut on the moon with mission duration and success status.",
        "text": "APOLLO 11 THE GIANT LEAP\n\n[An astronaut in a white spacesuit stands on the gray, cratered lunar surface. The Earth is reflected in the gold visor of the helmet.]\n\n[A digital heads-up display box in the bottom left corner contains the following text:]\n- OPERATOR: NASA\n- MISSION DURATION: 08D : 03H : 18M : 35S\n- STATUS: MISSION SUCCESS"
      },
      {
        "image": "https://api.useapi.net/v1/gemini-notebook/artifacts/download?artifact=user%3A12345-user%40example.com-artifact%3A62600bab-4082-4ee6-8fc3-955cee0c69cf%3A31db5568-e2dc-4447-a0f8-b47e99ef8be4&format=slide&index=2",
        "caption": "A Cold War timeline detailing Soviet space achievements in 1957 and 1961 and Kennedy's response to reach the Moon.",
        "text": "THE CATALYST: A COLD WAR ULTIMATUM\n\n[Timeline graphic with two red horizontal lines and circular node markers on the left]\n\n- Oct 4, 1957: USSR launches Sputnik 1, igniting the Space Race and challenging US claims of superiority.\n- Apr 12, 1961: Yuri Gagarin becomes the first human in space.\n\n\nTHE ULTIMATUM\n\n\"We choose to go to the Moon in this decade and do the other things, not because they are easy, but because they are hard.\"\n\n\nTHE STRATEGY\n\nBecause the USSR had superior launch capacity, Kennedy chose a challenge so extreme (a crewed lunar landing) that both nations would effectively have to start from zero."
      },
      {
        "image": "https://api.useapi.net/v1/gemini-notebook/artifacts/download?artifact=user%3A12345-user%40example.com-artifact%3A62600bab-4082-4ee6-8fc3-955cee0c69cf%3A31db5568-e2dc-4447-a0f8-b47e99ef8be4&format=slide&index=3",
        "caption": "Diagram and table explaining the Lunar Orbit Rendezvous architecture, featuring the Saturn V, Columbia, and Eagle modules.",
        "text": "THE ARCHITECTURE: LUNAR ORBIT RENDEZVOUS\n\n[A diagram shows the mission path from Earth to the Moon. A Saturn V rocket launches from Earth. The Columbia module orbits the moon with heavy return fuel, while the lightweight Eagle lander descends to the surface and then ascends back to orbit.]\n\nCOMMAND MODULE (COLUMBIA)\n- Manufacturer: North American Rockwell\n- Role: Crew cabin, Earth return vehicle\n- Final Resting Place: Preserved at National Air and Space Museum\n\nSERVICE MODULE\n- Role: Propulsion, electrical power, oxygen, and water\n- Final Resting Place: Jettisoned / Burned up\n\nLUNAR MODULE (EAGLE)\n- Manufacturer: Grumman\n- Role: Lunar descent and ascent (2 stages)\n- Landing Mass: 10,873 lb (4,932 kg)\n- Final Resting Place: Descent stage remains at Tranquility Base"
      },
      {
        "image": "https://api.useapi.net/v1/gemini-notebook/artifacts/download?artifact=user%3A12345-user%40example.com-artifact%3A62600bab-4082-4ee6-8fc3-955cee0c69cf%3A31db5568-e2dc-4447-a0f8-b47e99ef8be4&format=slide&index=4",
        "caption": "Slide titled The Vanguard: An Ecosystem of Support, illustrating the crew, mission control, and software/support teams.",
        "text": "THE VANGUARD: AN ECOSYSTEM OF SUPPORT\n\n[A photo of the three Apollo 11 astronauts in their spacesuits.]\n\n[A three-tiered pyramid diagram outlines the support structure.]\n\nTHE CREW TRIAD\n- Neil Armstrong (Commander) – Surface\n- Buzz Aldrin (Lunar Module Pilot) – Surface\n- Michael Collins (Command Module Pilot) – Lunar Orbit\n\nMISSION CONTROL\n- Gene Kranz (Flight Director, White Team – Lunar Landing)\n- Charles Duke (CAPCOM – The sole voice to the capsule)\n\nTHE INVISIBLE ARMY\n- Margaret Hamilton (Onboard flight computer software engineer)\n- Jack Garman (Computer engineer)\n- Eleanor Foraker (Spacesuit tailor)\n\n\"All you see is the three of us, but beneath the surface are thousands and thousands of others.\" — Michael Collins"
      },
      {
        "image": "https://api.useapi.net/v1/gemini-notebook/artifacts/download?artifact=user%3A12345-user%40example.com-artifact%3A62600bab-4082-4ee6-8fc3-955cee0c69cf%3A31db5568-e2dc-4447-a0f8-b47e99ef8be4&format=slide&index=5",
        "caption": "Details the lunar descent, including the 1202 executive overflow alarm and the software architecture that saved the landing.",
        "text": "THE DESCENT: OVERLOAD AND OVERRIDE\n\n[A photo shows the Lunar Module Eagle descending over the cratered moon surface.]\n\nTENSION METERS & ACTION LOG\n- ALTITUDE: [A line graph shows a descent from 1500 FT to 100 FT, currently at 120 FT.]\n- PROPELLANT: [A bar graph shows 90 SECONDS REMAINING. A note reads: (SENSOR UNCOVERED BY SLOSHING)]\n- HAZARD: AGC TARGETING BOULDER FIELD (WEST CRATER)\n\nTHE 1202 EXECUTIVE OVERFLOW\n[A funnel diagram shows Rendezvous Radar (Hardware Bug) and Landing Radar data entering. A filter allows landing data through while rejecting the radar bug data.]\n- REJECTED\n- CRITICAL LANDING THRUSTERS CONTINUE FIRING.\n- JACK GARMAN CLEARS ALARM: SAFE TO CONTINUE\n\n[A terminal-style text box contains the following action log:]\n- -> ARMSTRONG TAKES SEMI-AUTOMATIC CONTROL\n- -> CONTACT LIGHT\n- -> HOUSTON, TRANQUILITY BASE HERE. THE EAGLE HAS LANDED."
      },
      {
        "image": "https://api.useapi.net/v1/gemini-notebook/artifacts/download?artifact=user%3A12345-user%40example.com-artifact%3A62600bab-4082-4ee6-8fc3-955cee0c69cf%3A31db5568-e2dc-4447-a0f8-b47e99ef8be4&format=slide&index=6",
        "caption": "Overview of activities at Tranquility Base, including viewership stats, EVA duration, lunar samples, and the Nixon call.",
        "text": "TRANQUILITY BASE: MAGNIFICENT DESOLATION\n\n[A central photo shows an astronaut saluting the American flag next to the Lunar Module on the moon, with Earth visible in the dark sky above. Below the photo is a golden audio waveform.]\n\"That's one small step for [a] man, one giant leap for mankind.\"\n\nVIEWERSHIP\n- ~600 million viewers (Roughly 1/5th of global population)\n\nSURFACE EVA DURATION\n- 2 hours, 31 minutes, 40 seconds\n\nLUNAR YIELD\n- 47.51 lb (21.55 kg) of samples\n- Discovered 3 new minerals: armalcolite, tranquillityite, pyroxferroite\n\nCOMMUNICATION\n- The most historic phone call ever made — President Nixon from the Oval Office"
      },
      {
        "image": "https://api.useapi.net/v1/gemini-notebook/artifacts/download?artifact=user%3A12345-user%40example.com-artifact%3A62600bab-4082-4ee6-8fc3-955cee0c69cf%3A31db5568-e2dc-4447-a0f8-b47e99ef8be4&format=slide&index=7",
        "caption": "Infographic of the 8-day mission trajectory from Earth launch to lunar orbit and splashdown in the Pacific Ocean.",
        "text": "THE TRAJECTORY: 8 DAYS, 3 HOURS, 18 MINUTES\n\n[A diagram shows a blue infinity-loop flight path between the Earth and the Moon.]\n- JUL 16, 13:32 UTC: Launch: Saturn V AS-506 lifts off from LC-39A.\n- TRANSLUNAR INJECTION: S-IVB engine pushes CSM/LM toward the Moon.\n- JUL 19 – LUNAR ORBIT: Columbia orbits the Moon 30 times.\n- JUL 20–21 – DESCENT & ASCENT: Eagle lands, surface EVA, and ascent stage lifts off to rendezvous at 21:24 UTC.\n- JUL 24, 16:50 UTC: Splashdown: Columbia strikes the Pacific Ocean 24 km from USS Hornet.\n\n[A photo shows the Command Module floating in the ocean surrounded by green flotation rings.]\n- NOTE: Returning astronauts placed in a Mobile Quarantine Facility for 21 days due to Extra-Terrestrial Exposure laws."
      },
      {
        "image": "https://api.useapi.net/v1/gemini-notebook/artifacts/download?artifact=user%3A12345-user%40example.com-artifact%3A62600bab-4082-4ee6-8fc3-955cee0c69cf%3A31db5568-e2dc-4447-a0f8-b47e99ef8be4&format=slide&index=8",
        "caption": "Final slide comparing the 1961 Cold War origins of the mission to its 1969 result as a moment of global unification.",
        "text": "THE SYNTHESIS: FOR ALL MANKIND\n\n[A photo of a plaque featuring a map of Earth and the text: Here men from the planet Earth first set foot upon the Moon July 1969, A. D. We came in peace for all mankind.]\n\nTHE ORIGIN (1961)\n- Driver: National survival and military/technological superiority.\n- Context: A divided world locked in the Cold War.\n\nTHE RESULT (1969)\n- Driver: Global unification and insatiable human curiosity.\n- Context: 600 million people experiencing a single moment together.\n\nThe ultimate weapon of the Cold War Space Race inadvertently engineered humanity's greatest moment of peaceful unification. As President Nixon stated upon their return: \"The world has never been closer together before.\""
      }
    ]
  }
}

slides.json is the finished slides job from step 18.

The files: slide 2 as generated and slide 2 revised.

The second script used about 25% of the 5-hour window and 1.2% of the week. The Video Overview and the slide deck are the expensive ones, at Google’s estimate of about 11% and 14% each.

Shortcuts

For a single artifact you do not need to manage a notebook. Send the sources straight to POST /artifacts: the API creates a notebook on one of your accounts with a free job slot whose usage window allows the job, waits for the sources, generates, and can delete the notebook afterwards for text-only types. If it answers 202 (the job outlived the 90-second wait), poll its jobid.

curl — a quiz straight from a URL
curl -sS -X POST "$API/artifacts" \
  -H "Authorization: Bearer $USEAPI_TOKEN" -H "Content-Type: application/json" \
  -d '{"type": "quiz", "urls": ["https://en.wikipedia.org/wiki/Apollo_11"], "deleteNotebook": true}' \
  | jq '{status, questions: (.result.content.quiz | length)}'

To be told when a job finishes instead of polling, pass replyUrl (and optionally replyRef) with mode: async, on Studio jobs and research alike. The API sends one POST with the same job record GET /jobs/jobid returns. DELETE /jobs/jobid stops a research run you no longer need.

curl — Deep Research with a webhook
curl -sS -X POST "$API/research" \
  -H "Authorization: Bearer $USEAPI_TOKEN" -H "Content-Type: application/json" \
  -d "$(jq -n --arg nb "$NOTEBOOK" '{notebook: $nb, type: "deep", query: "How did the Apollo guidance computer recover from overloads?", mode: "async", replyUrl: "https://example.com/hooks/notebook", replyRef: "order-42"}')"

More of the API

The rest of the API, on an Apollo 11 notebook like the one above:

  • GET /notebooks/guide returned Google’s summary of the whole notebook, three suggested reports such as “Explain the technical challenges faced during the Eagle’s lunar descent.”, and three suggested chat questions.
  • POST /chat/settings with the persona “You are a NASA flight controller. Answer in two sentences.” made the next answers short and in that voice. GET /chat then returned the conversation’s four turns, oldest first, and DELETE /chat cleared it.
  • POST /notes with conversation saved that whole conversation as one note, “Chat History”, question and answer by turn.
  • POST /notes/mindmap made a mind map note, “Apollo 11 Mission”, with six branches from “Background & Goals” to “Legacy & Artifacts”.
  • POST /labels with auto: "all" grouped both sources under a “Space Exploration” label. Labels of your own take a name and an emoji, and POST /labels/label renames them and moves sources in and out.
  • POST /notebooks/copy copied the notebook with its two sources and two Studio artifacts.
  • POST /accounts with outputLanguage: "es" switched the account’s Studio output to Spanish, and back.
  • POST /research with source: "drive" searches the account’s Google Drive instead of the web. It found a Word .docx and a Google Doc about Apollo 11, and POST /research/import added them as Drive sources. After the Doc was edited in Drive, GET /sources/source reported it inSync: false, and a few seconds later the notebook held the new text. POST /sources/sync re-imports a changed Drive file on request.
  • A preset report takes extra instructions: a briefing “for a high-school class, in under 300 words” came back as 1,946 characters.

What the NotebookLM API can do

Step Endpoint What it does
Create a notebook POST /notebooks Creates an empty notebook on one of your connected accounts.
Add sources POST /sources Web pages and YouTube videos (urls, up to 50 per call), pasted text and Google Drive files (drive).
Upload a file POST /sources/upload The file is the raw request body: PDF, Word, PowerPoint, EPUB, Markdown, text, CSV, audio, video or an image.
Read a source GET /sources/source Google’s summary and key topics of one source, and with content=true the text Google indexed.
Ask POST /chat An answer from the sources with numbered citations. Pass conversation for a follow-up.
Keep notes POST /notes Notes in the notebook. A note can become a source.
Research POST /research fast finds sources on the web in seconds, deep runs Deep Research and writes a cited report.
Import research POST /research/import Adds the sources a research run found, and its report, to the notebook.
Generate POST /artifacts audio, video, report, interactive_report, table, quiz, flashcards, mindmap, infographic or slides, each with its own options.
Revise a slide POST /artifacts/revise Redraws one slide of a finished deck from a prompt.
Follow a job GET /jobs/jobid The status and, once finished, the result.
Download GET /artifacts/download The artifact’s file (m4a, mp4, pdf, pptx, png), streamed with your API token.
Share POST /sharing Invite people as viewers or editors, turn the public link on or off, and limit viewers to chat only.
Copy a notebook POST /notebooks/copy A copy with every source and Studio artifact, on the same account.
Notebook guide GET /notebooks/guide Google’s summary of the whole notebook, suggested reports and suggested chat questions.
Chat history and settings GET /chat, DELETE /chat, POST /chat/settings A conversation’s turns, delete the history, and set the chat’s goal, persona and answer length.
Source labels POST /labels Google labels the sources by topic, or you make and edit your own labels.
Mind map note POST /notes/mindmap A mind map made in one call and kept as a note.
Output language POST /accounts The language Google writes Studio artifacts in, for the whole account.

The POST /artifacts page lists every Studio type’s options.

Run both scripts yourself

Both scripts save every response under a timestamped folder. The first builds the notebook, the second takes the notebook, conversation and note ids the first one printed.

The first script (steps 1 to 14) and its output
#!/usr/bin/env bash
# USEAPI_TOKEN=user:12345-... [email protected] ./gemini-notebook-demo.sh [path/to/file.pdf]
set -euo pipefail

API="${API:-https://api.useapi.net/v1/gemini-notebook}"
: "${USEAPI_TOKEN:?export USEAPI_TOKEN=user:12345-...}"
: "${EMAIL:?export EMAIL=<your connected Google account>}"
PDF="${1:-}"
OUT="gemini-notebook-demo/$(date -u +%Y-%m-%dT%H-%M-%SZ)"
mkdir -p "$OUT"
AUTH=(-H "Authorization: Bearer $USEAPI_TOKEN")
enc() { jq -rn --arg v "$1" '$v|@uri'; }
# Research import can take a minute or two (Google fetches every URL first); the API answers within about 2 minutes
post() { curl -sS --max-time 310 "${AUTH[@]}" -H "Content-Type: application/json" -X POST "$API/$1" -d "$2"; }
get() { curl -sS "${AUTH[@]}" "$API/$1"; }
log() { echo "$(date +%H:%M:%S) $*"; }
wait_job() {
  until get "jobs/$(enc "$1")" > "$2" && jq -e '.status == "completed" or .status == "failed"' "$2" > /dev/null; do sleep 15; done
}

# 1. A notebook on your account
post notebooks "$(jq -n --arg email "$EMAIL" '{email: $email, title: "Apollo 11"}')" > "$OUT/01-notebook.json"
NOTEBOOK=$(jq -r .notebook "$OUT/01-notebook.json")
log "notebook $NOTEBOOK"

# 2. Sources: a web page, a YouTube video and pasted text in one call
post sources "$(jq -n --arg nb "$NOTEBOOK" '{
  notebook: $nb,
  urls: ["https://en.wikipedia.org/wiki/Apollo_11", "https://www.youtube.com/watch?v=xUcYQ7slmRw"],
  title: "Why Apollo 11 almost did not land",
  text: "During the descent the guidance computer raised 1202 and 1201 program alarms, and Armstrong flew the final approach manually to avoid a boulder field, landing with little fuel to spare."
}')" > "$OUT/02-sources.json"
jq -r '.sources[] | "  \(.kind) \(.status) \(.title)"' "$OUT/02-sources.json"

# 3. Optional: a file, sent as the raw request body
if [ -n "$PDF" ]; then
  curl -sS "${AUTH[@]}" -H "Content-Type: application/pdf" --data-binary "@$PDF" \
    "$API/sources/upload?notebook=$(enc "$NOTEBOOK")&name=$(enc "$(basename "$PDF")")" > "$OUT/03-upload.json"
  log "uploaded $(jq -r .title "$OUT/03-upload.json") ($(jq -r .status "$OUT/03-upload.json"))"
fi

# 4. Wait until Google has processed every source
until get "notebooks/$(enc "$NOTEBOOK")" > "$OUT/04-notebook.json" &&
      jq -e '[.sources[].status] | all(. == "ready" or . == "error")' "$OUT/04-notebook.json" > /dev/null; do
  log "sources: $(jq -r '[.sources[].status] | join(",")' "$OUT/04-notebook.json")"
  sleep 10
done
log "sources ready: $(jq -r '[.sources[] | .kind] | join(", ")' "$OUT/04-notebook.json")"

# 5. What one source is about: Google's summary and key topics
WEB=$(jq -r '.sources[] | select(.kind == "web") | .source' "$OUT/04-notebook.json" | head -1)
get "sources/$(enc "$WEB")" > "$OUT/05-source.json"
jq -r '"guide: \(.summary[0:200])…\n  topics: \(.topics | join(", "))"' "$OUT/05-source.json"

# 6. Ask the notebook a question (answer + numbered citations)
post chat "$(jq -n --arg nb "$NOTEBOOK" '{notebook: $nb, question: "What went wrong during the descent, and how did the crew handle it?"}')" > "$OUT/06-chat.json"
jq -r '"\(.answer[0:400])…\n  (\(.citations | length) citations, \(.ms) ms)"' "$OUT/06-chat.json"

# 7. Keep the answer as a note
post notes "$(jq -n --arg nb "$NOTEBOOK" --arg a "$(jq -r .answer "$OUT/06-chat.json")" '{notebook: $nb, title: "What went wrong during the descent", content: $a}')" > "$OUT/07-note.json"
log "note $(jq -r .title "$OUT/07-note.json") ($(jq -r '.content | length' "$OUT/07-note.json") chars)"

# 8. Find more sources on the web (Discover, sync) and import three of them
post research "$(jq -n --arg nb "$NOTEBOOK" '{notebook: $nb, type: "fast", query: "Apollo 11 lunar module guidance computer alarms"}')" > "$OUT/08-discover.json"
jq -r '"discover \(.status): \(.result.sources | length) sources: \(.result.summary)"' "$OUT/08-discover.json"
post research/import "$(jq -n --arg j "$(jq -r .jobid "$OUT/08-discover.json")" --argjson urls "$(jq '[.result.sources[0:3][].url]' "$OUT/08-discover.json")" '{jobid: $j, urls: $urls}')" > "$OUT/08-discover-import.json"
jq -r '.sources[] | "  imported \(.kind) \(.status) \(.title)"' "$OUT/08-discover-import.json"

# 9. Deep Research runs for minutes: start it async now, collect it at the end
post research "$(jq -n --arg nb "$NOTEBOOK" '{notebook: $nb, type: "deep", query: "Why did the Apollo 11 landing nearly abort?", mode: "async"}')" > "$OUT/09-deep-submit.json"
log "deep research $(jq -r .status "$OUT/09-deep-submit.json")"

# 10. A quiz, sync: the answer is the finished job
post artifacts "$(jq -n --arg nb "$NOTEBOOK" '{notebook: $nb, type: "quiz", quantity: "fewer", difficulty: "medium"}')" > "$OUT/10-quiz.json"
jq -r '"quiz \(.status): \(.result.content.quiz | length) questions, first: \(.result.content.quiz[0].question)"' "$OUT/10-quiz.json"

# 11. An Audio Overview and an infographic, async: submit both, then poll
post artifacts "$(jq -n --arg nb "$NOTEBOOK" '{notebook: $nb, type: "audio", format: "brief", length: "short", mode: "async"}')" > "$OUT/11-audio-submit.json"
post artifacts "$(jq -n --arg nb "$NOTEBOOK" '{notebook: $nb, type: "infographic", orientation: "portrait", style: "sketch_note", mode: "async"}')" > "$OUT/11-infographic-submit.json"
for kind in audio infographic; do
  wait_job "$(jq -r .jobid "$OUT/11-$kind-submit.json")" "$OUT/12-$kind-job.json"
  log "$kind $(jq -r .status "$OUT/12-$kind-job.json"): $(jq -r '.result.title // .error.message' "$OUT/12-$kind-job.json")"
  # Files come through GET /artifacts/download, with your API token
  jq -r '.result.files[]? | "\(.format) \(.url)"' "$OUT/12-$kind-job.json" | while read -r fmt url; do
    curl -sS "${AUTH[@]}" -o "$OUT/$kind.$fmt" "$url"
    log "  saved $OUT/$kind.$fmt ($(du -h "$OUT/$kind.$fmt" | cut -f1))"
  done
done

# 12. The Deep Research result, then its report imported as a source
wait_job "$(jq -r .jobid "$OUT/09-deep-submit.json")" "$OUT/13-deep-job.json"
jq -r '"deep research \(.status): \"\(.result.report.title)\" (\(.result.report.markdown | length) chars), \(.result.sources | length) sources, \([.result.sources[] | select(.cited)] | length) cited"' "$OUT/13-deep-job.json"
post research/import "$(jq -n --arg j "$(jq -r .jobid "$OUT/13-deep-job.json")" '{jobid: $j, urls: [], report: true}')" > "$OUT/13-deep-import.json"
jq -r '.sources[] | "  imported \(.kind) \(.status) \(.title)"' "$OUT/13-deep-import.json"

# 13. Share the notebook: anyone with the link can view it, without copying it
post sharing "$(jq -n --arg nb "$NOTEBOOK" '{notebook: $nb, link: "public", allowCopies: false}')" > "$OUT/14-sharing.json"
jq -r '"sharing: link \(.link), copies \(.allowCopies), people: \([.people[] | "\(.email) (\(.role))"] | join(", "))"' "$OUT/14-sharing.json"

# 14. What that cost against Google's usage windows
get "accounts/$(enc "$EMAIL")" > "$OUT/15-account.json"
jq -r '"plan \(.googleTier): " + ([.quota.windows[] | "\(.window) used \(.usedPercent)%"] | join(", "))' "$OUT/15-account.json"
log "all responses in $OUT"
21:55:39 notebook user:[email protected]:62600bab-4082-4ee6-8fc3-955cee0c69cf
  web ready Apollo 11 - Wikipedia
  youtube ready A New Look at the Apollo 11 Landing Site
  text ready Why Apollo 11 almost did not land
21:55:54 uploaded 01-apollo11-wikipedia.pdf (preparing)
21:55:55 sources: preparing,ready,ready,ready
21:56:05 sources: preparing,ready,ready,ready
21:56:17 sources: preparing,ready,ready,ready
21:56:28 sources: processing,ready,ready,ready
21:56:38 sources ready: pdf, youtube, web, text
guide: The provided source documents the historic **Apollo 11 mission**, which successfully achieved the first **crewed Moon landing** in July 1969. It outlines the intense background of the **Space Race** d…
  topics: Apollo spaceflight, Lunar landing, Space Race, Mission personnel, Space exploration
During the lunar descent of Apollo 11's Lunar Module *Eagle*, a cascade of unexpected technical anomalies and environmental hazards threatened the landing, requiring rapid problem-solving from both the crew and Mission Control [1-6].

---

### **1. Overshooting the Planned Landing Target**
* **What went wrong:** As descent began, Neil Armstrong and Buzz Aldrin noticed they were passing lunar landm…
  (21 citations, 34877 ms)
21:57:20 note What went wrong during the descent (4237 chars)
discover completed: 10 sources: Technical analyses, flight logs, and developer accounts explore the hardware constraints and software recovery behind Apollo 11's alarms.
  imported web ready TALES FROM THE LUNAR MODULE GUIDANCE COMPUTER - klabs.org
  imported pdf ready Exegesis of the 1201 and 1202 Alarms Which Occurred During the Mission G Lunar Landing - Ibiblio
21:59:09 deep research processing
quiz completed: 6 questions, first: According to accounts from NASA leadership, what was a primary reason Neil Armstrong was chosen over Buzz Aldrin to be the first person to step onto the lunar surface?
22:04:44 audio completed: Fifty Seconds of Fuel and Lunar Isolation
22:04:46   saved gemini-notebook-demo/2026-09-29T04-55-37Z/audio.m4a (2.9M)
22:04:47 infographic completed: Apollo 11 Mission Infographic Overview
22:04:50   saved gemini-notebook-demo/2026-09-29T04-55-37Z/infographic.png (5.8M)
deep research completed: "Anatomy of a Lunar Descent: Systems Architecture, Hardware Anomaly, and Human Decision-Making in the Apollo 11 Landing Near-Abort" (26878 chars), 30 sources, 24 cited
  imported markdown ready Anatomy of a Lunar Descent: Systems Architecture, Hardware Anomaly, and Human Decision-Making in the Apollo 11 Landing Near-Abort
sharing: link public, copies false, people: [email protected] (owner)
plan TIER_PRO: weekly used 7.49%, 5h used 19.46%
22:04:59 all responses in gemini-notebook-demo/2026-09-29T04-55-37Z
The second script (steps 15 to 19) and its output
#!/usr/bin/env bash
# USEAPI_TOKEN=user:12345-... [email protected] NOTEBOOK=<notebook id> CONVERSATION=<conversation id> NOTE=<note id> ./gemini-notebook-gallery.sh
set -euo pipefail

API="${API:-https://api.useapi.net/v1/gemini-notebook}"
: "${USEAPI_TOKEN:?export USEAPI_TOKEN=user:12345-...}"
: "${NOTEBOOK:?export NOTEBOOK=<notebook id>}"
OUT="gemini-notebook-gallery/$(date -u +%Y-%m-%dT%H-%M-%SZ)"
mkdir -p "$OUT"
AUTH=(-H "Authorization: Bearer $USEAPI_TOKEN")
enc() { jq -rn --arg v "$1" '$v|@uri'; }
post() { curl -sS --max-time 310 "${AUTH[@]}" -H "Content-Type: application/json" -X POST "$API/$1" -d "$2"; }
get() { curl -sS "${AUTH[@]}" "$API/$1"; }
log() { echo "$(date +%H:%M:%S) $*"; }
wait_job() {
  until get "jobs/$(enc "$1")" > "$2" && jq -e '.status == "completed" or .status == "failed"' "$2" > /dev/null; do sleep 15; done
}
# A sync job that outlives the 90 s wait answers 202: poll it to the end
finish() {
  if jq -e '.status != "completed" and .status != "failed"' "$1" > /dev/null; then wait_job "$(jq -r .jobid "$1")" "$1"; fi
}

# 1. A follow-up question in the same conversation
if [ -n "${CONVERSATION:-}" ]; then
  post chat "$(jq -n --arg nb "$NOTEBOOK" --arg c "$CONVERSATION" '{notebook: $nb, conversation: $c, question: "How much fuel was left when they landed?"}')" > "$OUT/01-followup.json"
  jq -r '"follow-up: \(.answer[0:300])…\n  (\(.citations | length) citations)"' "$OUT/01-followup.json"
fi

# 2. The note from part 1 becomes a source
if [ -n "${NOTE:-}" ]; then
  post notes/source "$(jq -n --arg n "$NOTE" '{note: $n}')" > "$OUT/02-note-source.json"
  jq -r '"note → source: \(.kind) \(.status) \(.title)"' "$OUT/02-note-source.json"
fi

# 3. Quick Studio types, sync
post artifacts "$(jq -n --arg nb "$NOTEBOOK" '{notebook: $nb, type: "flashcards", quantity: "fewer", difficulty: "easy"}')" > "$OUT/03-flashcards.json"
finish "$OUT/03-flashcards.json"
jq -r '"flashcards \(.status): \(.result.title), content keys \(.result.content | keys | join(","))\n  \(.result.content | tostring | .[0:240])…"' "$OUT/03-flashcards.json"

post artifacts "$(jq -n --arg nb "$NOTEBOOK" '{notebook: $nb, type: "mindmap"}')" > "$OUT/04-mindmap.json"
finish "$OUT/04-mindmap.json"
jq -r '"mind map \(.status): \(.result.title) (\(.result.content | tostring | length) bytes of JSON)"' "$OUT/04-mindmap.json"

post artifacts "$(jq -n --arg nb "$NOTEBOOK" '{notebook: $nb, type: "report", format: "briefing"}')" > "$OUT/05-report.json"
finish "$OUT/05-report.json"
jq -r '"report \(.status): \(.result.title) (\(.result.text | length) chars)"' "$OUT/05-report.json"

post artifacts "$(jq -n --arg nb "$NOTEBOOK" '{notebook: $nb, type: "table", instructions: "One row per program alarm or anomaly during the descent: time, alarm or event, cause, what the crew or Mission Control did."}')" > "$OUT/06-table.json"
finish "$OUT/06-table.json"
jq -r '"table \(.status): \(.result.title) (\(.result.table | length) rows incl. header)"' "$OUT/06-table.json"

# 4. A Video Overview and a slide deck, async
post artifacts "$(jq -n --arg nb "$NOTEBOOK" '{notebook: $nb, type: "video", format: "explainer", style: "whiteboard", mode: "async"}')" > "$OUT/07-video-submit.json"
post artifacts "$(jq -n --arg nb "$NOTEBOOK" '{notebook: $nb, type: "slides", format: "presenter", length: "short", mode: "async"}')" > "$OUT/07-slides-submit.json"
for kind in slides video; do
  wait_job "$(jq -r .jobid "$OUT/07-$kind-submit.json")" "$OUT/08-$kind-job.json"
  log "$kind $(jq -r .status "$OUT/08-$kind-job.json"): $(jq -r '.result.title // .error.message' "$OUT/08-$kind-job.json")"
  jq -r '.result.files[]? | "\(.format) \(.url)"' "$OUT/08-$kind-job.json" | while read -r fmt url; do
    curl -sS "${AUTH[@]}" -o "$OUT/$kind.$fmt" "$url"
    log "  saved $OUT/$kind.$fmt ($(du -h "$OUT/$kind.$fmt" | cut -f1))"
  done
done
jq -r '.result.slides[0:2][] | .image' "$OUT/08-slides-job.json" | nl -v1 | while read -r n url; do
  curl -sS "${AUTH[@]}" -o "$OUT/slide-$n.png" "$url"
  log "  saved $OUT/slide-$n.png ($(du -h "$OUT/slide-$n.png" | cut -f1))"
done

# 5. Revise one slide with a prompt
post artifacts/revise "$(jq -n --arg a "$(jq -r .artifact "$OUT/08-slides-job.json")" '{artifact: $a, slide: 2, prompt: "Make this slide a simple timeline graphic.", mode: "async"}')" > "$OUT/09-revise-submit.json"
wait_job "$(jq -r .jobid "$OUT/09-revise-submit.json")" "$OUT/09-revise-job.json"
log "revise $(jq -r .status "$OUT/09-revise-job.json"): $(jq -r '.result.slides | length' "$OUT/09-revise-job.json") slides"
curl -sS "${AUTH[@]}" -o "$OUT/slide-2-revised.png" "$(jq -r '.result.slides[1].image' "$OUT/09-revise-job.json")"
log "  saved $OUT/slide-2-revised.png ($(du -h "$OUT/slide-2-revised.png" | cut -f1))"

if [ -n "${EMAIL:-}" ]; then get "accounts/$(enc "$EMAIL")" > "$OUT/10-account.json"; jq -r '"plan \(.googleTier): " + ([.quota.windows[] | "\(.window) used \(.usedPercent)%"] | join(", "))' "$OUT/10-account.json"; fi
log "all responses in $OUT"
follow-up: When the Lunar Module *Eagle* touched down, it had **216 pounds (98 kg) of usable fuel remaining** [1, 2]. 

In terms of remaining flight time, the figures depend on whether you look at real-time calculations or post-flight analysis:

* **Real-time estimates:** Telemetry available to Mission Control…
  (5 citations)
note → source: markdown ready What went wrong during the descent
flashcards completed: Apollo Flashcards, content keys flashcards,topics
  {"flashcards":[{"f":"Who served as the Commander of the Apollo 11 mission?","b":"Neil Armstrong"},{"f":"Who was the Command Module Pilot for the Apollo 11 mission?","b":"Michael Collins"},{"f":"Who served as the Lunar Module Pilot for Apoll…
mind map completed: Apollo Mindmap (1899 bytes of JSON)
report completed: Briefing Document: Mission Overview and Technical Synthesis of Apollo 11 (27282 chars)
table completed: Apollo 11 Descent Alarms and Anomalies (13 rows incl. header)
22:59:03 slides completed: Apollo 11 Mission
22:59:04   saved gemini-notebook-gallery/2026-09-29T05-49-02Z/slides.pdf (8.8M)
22:59:05   saved gemini-notebook-gallery/2026-09-29T05-49-02Z/slides.pptx (9.5M)
23:07:59 video completed: Apollo 11: Untold Stories
23:08:02   saved gemini-notebook-gallery/2026-09-29T05-49-02Z/video.mp4 (59M)
23:08:04   saved gemini-notebook-gallery/2026-09-29T05-49-02Z/slide-1.png (1.6M)
23:08:06   saved gemini-notebook-gallery/2026-09-29T05-49-02Z/slide-2.png (1.2M)
23:09:11 revise completed: 8 slides
23:09:13   saved gemini-notebook-gallery/2026-09-29T05-49-02Z/slide-2-revised.png (888K)
plan TIER_PRO: weekly used 8.69%, 5h used 25.19%
23:09:14 all responses in gemini-notebook-gallery/2026-09-29T05-49-02Z

Frequently asked questions

Is Gemini Notebook the same as NotebookLM? Yes. Gemini Notebook is Google’s current name for NotebookLM, and the useapi.net Gemini Notebook API works as a NotebookLM API: notebooks, sources, chat, Deep Research and every Studio artifact over REST.

Can I generate a NotebookLM Audio Overview (podcast) through an API? Yes. POST /artifacts with type: "audio" generates an Audio Overview (deep_dive, brief, critique or debate) and returns an m4a file. The short brief in this walkthrough took about 4 and a half minutes.

How does the API reach my Gemini Notebook? The useapi.net Gemini Notebook API drives your own Google account over REST, with a single useapi.net API token. You connect the account once through Setup Gemini Notebook.

Does it work on a free Google account? Yes. Every call on this page also runs on a free account, Deep Research included. Paid Google AI plans raise the usage budget and unlock Cinematic video: Google AI Pro gives an account about four times Free’s budget, and Google AI Ultra about twenty times Pro’s (see What it cost).

Which source types can I add? Web pages and YouTube videos by URL, pasted text, files in the account’s Google Drive (Google Docs included), and uploaded PDF, Word, PowerPoint, EPUB, Markdown, text, CSV, audio, video and image files. See POST /sources and POST /sources/upload.

Why did my YouTube video end with status error? Google reads a YouTube video from its captions. A video with no captions at all, as with some official music videos, fails without a reason. Upload the audio or video file with POST /sources/upload instead, and Google transcribes it.

What is the difference between fast and deep research? fast (Discover sources) returns about ten relevant web pages with one-line descriptions in seconds. deep (Deep Research) reads dozens of pages for a few minutes and writes a cited report. Its result lists the pages it found and marks the ones the report cites. Both only suggest: nothing enters the notebook until POST /research/import.

How long does a generation take? Flashcards, a quiz and a data table take well under a minute, a mind map, a report or an infographic one to two minutes, an Audio Overview three to five minutes, a slide deck about five to seven, and Video Overviews ten minutes or more. See POST /artifacts for each type.

What happens when an account runs out of its usage window? Google refuses the generation. The call answers 429, or the job fails with error.code: "quota" when it started async, with the reset time when Google names it. Connect more accounts: one-shot requests skip accounts whose last-known usage blocks the job, and new notebooks go to the least busy account.

Conclusion

Visit our Discord Server or Telegram Channel for any support questions and concerns.