# Make a storyboard with Claude Code

Use Liquid MCP and Claude Code to write a script and draw each frame.

You will ask Claude Code to write a short script, split it into scenes and draw one image for each scene. It takes about 15 minutes.

## Before you start

- Install [Claude Code](https://inference.ai.exchange/docs/connect-claude-code.md) and add funds to your workspace balance.
- Expect a small cost. The exchange charges for each image. A video clip costs more, so it is optional.
- Set a spend limit. The sign-in page lets you set one. The default is $10. Use $2 for this tutorial.

## Steps

1. Add the Liquid MCP server to Claude Code.

   ```bash
   claude mcp add --transport http liquid https://router.inference.ai.exchange/mcp
   ```

2. Sign in. Run this command, or run `/mcp` in a session, select **liquid** and choose **Authenticate**.

   ```bash
   claude mcp login liquid
   ```

   Your browser opens. Choose the workspace, tick the box that lets the app buy answers, and set the spend limit to $2. Only an owner or admin of the workspace can approve. See [Liquid MCP server](https://inference.ai.exchange/docs/connect-mcp-server.md).

3. Start Claude Code in an empty folder, and ask it to find an image model.

   ```text
   Use the liquid MCP tools. List the image models and show the price of each image.
   Pick the cheapest one.
   ```

   Claude Code calls `list_models` with `kind` set to `image`. You see a short list with prices.

4. Ask for the script and the scenes.

   ```text
   Write a 30-second script about a lighthouse keeper who finds a message in a bottle.
   Split it into 4 scenes. For each scene, write one line of narration and one
   sentence that describes the picture.
   ```

   Claude Code writes the script and the four scenes. No tool runs yet, so this step is free of exchange charges.

5. Ask Claude Code to preview the cost before it buys.

   ```text
   Use dry_run to estimate the cost of 4 images with the model you picked.
   Tell me the total, and wait for my answer.
   ```

   Claude Code shows the estimated charge and the winning offer. A `dry_run` places no job and holds no funds.

6. Draw the frames.

   ```text
   Go ahead. Use generate_image once for each scene, with the same style words in
   every prompt: "soft watercolor, warm light, wide shot". Set cap_usd to 0.10 for each image.
   ```

   Claude Code calls `generate_image` four times. Each image appears in the session. `cap_usd` is the most that one call can cost.

7. Collect the frames in a file.

   ```text
   Write storyboard.md. For each scene, put the scene number, the narration, the
   image prompt and the job ID from the exchange block.
   ```

   You get `storyboard.md` in the folder.

8. Optional: make a video clip of scene 1.

   ```text
   Preview a 5-second video of scene 1 with dry_run. If it costs less than $1,
   start it with create_video, then check it with get_video until it is done.
   ```

   `create_video` returns a job ID. `get_video` returns a `download_url` when the job completes. The link works for 15 minutes without a key.

## Check it works

- Open **Receipts** in the console. Each image shows as one job, with its model and charge. See [Receipts](https://inference.ai.exchange/docs/receipts.md).
- Ask Claude Code: `Use get_limits and tell me how much of my spend limit is left.`
- Open `storyboard.md`. It must list four scenes.

## If something goes wrong

- A tool answers `403` with `insufficient_scope`. The key cannot buy. Sign in again, and tick the box that lets the app buy answers.
- Claude Code does not show the `liquid` tools. Run `/mcp`. Choose **Authenticate** if the server shows as not signed in. The key expires after 7 days.
- A call fails with `402 budget_exhausted` or no offer wins. Raise the spend limit, or raise `cap_usd`. See [Errors](https://inference.ai.exchange/docs/errors.md).

## Next steps

- [Image generation](https://inference.ai.exchange/docs/image-generation.md): the options of each image, such as `size`.
- [Reference inputs](https://inference.ai.exchange/docs/reference-inputs.md): keep one character the same in every frame.
- [Purchasing rules](https://inference.ai.exchange/docs/rules.md): set a price cap and other limits.
