CtrlK
BlogDocsLog inGet started
Tessl Logo

klingai-prod-checklist

Production readiness checklist for Kling AI integrations. Use before going live or during deployment review. Trigger with phrases like 'klingai production ready', 'kling ai go live', 'klingai checklist', 'deploy klingai'.

78

Quality

75%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Optimize this skill with Tessl

npx tessl skill review --optimize ./plugins/saas-packs/klingai-pack/skills/klingai-prod-checklist/SKILL.md
SKILL.md
Quality
Evals
Security

Kling AI Production Checklist

Overview

Checklist covering authentication, error handling, cost controls, monitoring, security, and content policy before deploying Kling AI video generation to production.

Authentication

  • AK/SK stored in secrets manager (not .env in repo)
  • JWT auto-refresh with 5-min buffer before 30-min expiry
  • Separate API keys per environment (dev/staging/prod)
  • Key rotation schedule (quarterly minimum)
  • Authorization: Bearer <token> format verified

Error Handling

  • HTTP 400/401/402/403/429/5xx all handled
  • Exponential backoff with jitter for 429/5xx retries
  • Max retry limit set (3-5, not infinite)
  • task_status: "failed" logs task_status_msg
  • 30s timeout on all HTTP calls
  • duration sent as string "5" not integer 5

Cost Controls

  • Daily credit budget enforced in code
  • Alert at 80% daily budget consumption
  • standard mode used for non-final renders
  • Max poll attempts cap (no infinite loops)
  • Credit estimate before batch submission
# Pre-batch credit check
credits_needed = len(prompts) * 10  # 10 credits per 5s standard
if credits_needed > DAILY_BUDGET:
    raise RuntimeError(f"Batch needs {credits_needed}, budget is {DAILY_BUDGET}")

Task Management

  • All task_ids logged with timestamp
  • Stuck task detection (>10 min in processing)
  • callback_url used instead of polling in production
  • Failed tasks queued for retry
  • Video URLs downloaded promptly (Kling CDN URLs expire)

Content Safety

  • Prompts validated before API submission
  • User-generated prompts sanitized
  • Default negative prompt includes safety terms
  • Content moderation on user-facing apps
  • Policy violation errors handled gracefully

Security

  • API keys never logged (redacted in debug output)
  • Video URLs treated as temporary (store on own CDN)
  • Webhook endpoints HTTPS-only
  • Rate limiting on your API layer
  • No sensitive data in prompt strings

Monitoring

  • API latency tracked per endpoint
  • Success/failure rate dashboard
  • Credit consumption metrics
  • Alert on >5% failure rate
  • Structured JSON logs for all API calls

Performance

  • Connection pooling via requests.Session()
  • Concurrent tasks within API tier limit
  • Video downloads async/background
  • Generated videos CDN-cached
# Connection pooling
session = requests.Session()
adapter = requests.adapters.HTTPAdapter(pool_connections=5, pool_maxsize=10)
session.mount("https://", adapter)

Pre-Launch Smoke Test

from kling_client import KlingClient

c = KlingClient()
result = c.text_to_video("test: blue sky with clouds", duration=5, mode="standard")
assert result["videos"][0]["url"], "No video URL"
print("READY FOR PRODUCTION")

Resources

  • API Reference
  • Content Policy
  • Developer Portal
Repository
jeremylongshore/claude-code-plugins-plus-skills
Last updated
Created

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.