Skip to main content
BabySea gives you one API for image and video generation across multiple providers. In this guide, you will sign in, create an API key, verify that key, and send your first generation request. After you sign in to the dashboard, the team workspace sidebar includes product areas such as Metrics, API keys, Webhook, Logs, Credits, Playground, Models, Domains, Settings, Members, Billing, My profile, Notifications, and Activity.

Step 1 - Create an API key

Open API keys from the sidebar, then click Create API key. This is the dashboard flow you use before calling any public /v1 route. If you need the full dashboard flow, field-level details, or permission presets, use API keys overview and Create a key.

Step 2 - Verify the key

Use GET /v1/status to confirm your key works before you send generation traffic when your key includes the account:read scope.
Terminal
curl https://api.us.babysea.ai/v1/status \
  -H "Authorization: Bearer bye_your_api_key"
If the key is valid, BabySea returns a successful response envelope. This route is useful for smoke tests, deployment checks, and secret validation. If you created a Generate Only or Monitor Only key, skip this step and move directly to a route that the preset allows. See Scopes for the exact endpoint mapping.

Step 3 - Send your first generation request

To start an image or video generation job, use:
  • POST /v1/generate/image/{model_identifier}
  • POST /v1/generate/video/{model_identifier}
Terminal
curl -X POST https://api.us.babysea.ai/v1/generate/image/bfl/flux-schnell \
  -H "Authorization: Bearer bye_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "generation_prompt": "A baby seal plays in Arctic"
}'
How the public flow works:
  1. Your app sends a signed request to the BabySea /v1 API.
  2. BabySea authenticates the API key and checks the key scope for the route.
  3. BabySea accepts the generation request and returns a generation_id.
  4. BabySea continues processing the generation asynchronously.

Step 4 - Check the result

After you receive the generation_id, fetch the generation record with GET /v1/content/{generation_id}.
Terminal
curl https://api.us.babysea.ai/v1/content/{generation_id} \
  -H "Authorization: Bearer bye_your_api_key"
For application code, you can either:
  • Poll GET /v1/content/{generation_id} until the generation finishes.
  • Configure Webhook in your workspace and let BabySea notify your server.

Step 5 - Move from test to integration

For a local or server application, use the official SDK for installation and client setup.
TypeScript
import { BabySea } from 'babysea';

const client = new BabySea({
  apiKey: process.env.BABYSEA_API_KEY,
  region: 'us',
});

const result = await client.generate('bfl/flux-schnell', {
  generation_prompt: 'A baby seal plays in Arctic',
});

console.log(result.data.generation_id);

Next steps