Skip to main content
BabySea provides a unified API interface for image and video generation across multiple enterprise providers. In this guide, you will authenticate, provision a cryptographic API key, verify the credential, and dispatch your first generation payload. After you authenticate to the management console, the workspace sidebar exposes architectural surfaces such as Metrics, API keys, Webhook, Logs, Credits, Playground, Models, Domains, Settings, Members, Billing, My profile, Notifications, and Activity.

Step 1 - Provision an API key

Navigate to API keys from the sidebar, then click Create API key. This is the standard provisioning flow required before addressing any public /v1 route. For advanced configuration, strict RBAC controls, or permission presets, refer to API keys overview and Create a key.

Step 2 - Verify the key

Regional Routing: BabySea provides three regional API endpoints. You must use the API base URL that corresponds to the region your account was created in (us, eu, or jp). API keys are region-specific, and you cannot use a key from one region to authenticate against another region’s API. In the examples below, api.<your_region>.babysea.ai is used as a placeholder. Be sure to replace <your_region> with your account’s assigned region.Schema Validation: BabySea’s infrastructure is protected by an enterprise API firewall. All inbound requests are strictly validated against 45 allowed API operations (15 endpoints mapped across 3 regions). Any traffic that does not exactly conform to the OpenAPI 3.0.3 schema, including the regional host (api.us, api.eu, or api.jp), will be gracefully rejected.
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.<your_region>.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.<your_region>.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 architecture works:
  1. Your application dispatches a signed HTTP request to the BabySea /v1 API.
  2. BabySea verifies the cryptographic key and validates the assigned scope for the target route.
  3. BabySea natively accepts the payload, reserves compute credits, and returns a generation_id UUID.
  4. BabySea executes the generation workload asynchronously against the upstream provider.

Step 4 - Audit the result

After extracting the generation_id, retrieve the exact generation record utilizing GET /v1/content/{generation_id}.
Terminal
curl https://api.<your_region>.babysea.ai/v1/content/{generation_id} \
  -H "Authorization: Bearer bye_your_api_key"
For programmatic integrations, you can either:
  • Implement an asynchronous polling loop against GET /v1/content/{generation_id} until the generation resolves.
  • Provision a Webhook endpoint within your workspace to ingest asynchronous delivery payloads directly.

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