openrouter-compliance-review
Review OpenRouter integration for regulatory compliance (SOC2, GDPR,
klingai-camera-control
Control camera movements in Kling AI video generation. Use when creating
Full skill instructions
Add controlled camera movements to text-to-video and image-to-video generation using the camera_control parameter. Supports pan, tilt, zoom, roll, and dolly. Available on v1.6+ models.
Supports: POST /v1/videos/text2video and POST /v1/videos/image2video
"camera_control": {
"type": "simple", # "simple" = one movement axis
"config": {
"horizontal": 0, # Pan: -10 (left) to 10 (right)
"vertical": 0, # Tilt: -10 (down) to 10 (up)
"zoom": 0, # Zoom: -10 (out) to 10 (in)
"roll": 0, # Roll: -10 (CCW) to 10 (CW)
"pan": 0, # Dolly: -10 (left) to 10 (right)
"tilt": 0, # Dolly: -10 (down) to 10 (up)
}
}
Rule: For type: "simple", only ONE field in config can be non-zero.
response = requests.post(f"{BASE}/videos/text2video", headers=get_headers(), json={
"model_name": "kling-v2-6",
"prompt": "A medieval castle on a cliff at sunrise, fog in the valley below",
"duration": "5",
"mode": "professional",
"camera_control": {
"type": "simple",
"config": {"horizontal": 5, "vertical": 0, "zoom": 0, "roll": 0, "pan": 0, "tilt": 0}
},
})
response = requests.post(f"{BASE}/videos/text2video", headers=get_headers(), json={
"model_name": "kling-v2-6",
"prompt": "Close-up of a tiger's face, intense eyes, jungle background",
"duration": "5",
"mode": "professional",
"camera_control": {
"type": "simple",
"config": {"horizontal": 0, "vertical": 0, "zoom": 7, "roll": 0, "pan": 0, "tilt": 0}
},
})
response = requests.post(f"{BASE}/videos/text2video", headers=get_headers(), json={
"model_name": "kling-v2-6",
"prompt": "A skyscraper, starting from the base looking up, glass and steel",
"duration": "5",
"mode": "standard",
"camera_control": {
"type": "simple",
"config": {"horizontal": 0, "vertical": 8, "zoom": 0, "roll": 0, "pan": 0, "tilt": 0}
},
})
response = requests.post(f"{BASE}/videos/text2video", headers=get_headers(), json={
"model_name": "kling-v2-master",
"prompt": "Walking through a dark forest, trees on both sides, moonlight filtering through",
"duration": "5",
"mode": "standard",
"camera_control": {
"type": "simple",
"config": {"horizontal": 0, "vertical": 0, "zoom": 0, "roll": 0, "pan": 0, "tilt": 5}
},
})
# Animate a landscape photo with a slow zoom out
response = requests.post(f"{BASE}/videos/image2video", headers=get_headers(), json={
"model_name": "kling-v2-1",
"image": "https://example.com/landscape.jpg",
"prompt": "Gentle wind, clouds moving slowly",
"duration": "5",
"camera_control": {
"type": "simple",
"config": {"horizontal": 0, "vertical": 0, "zoom": -5, "roll": 0, "pan": 0, "tilt": 0}
},
})
Important: For image-to-video, camera_control is mutually exclusive with image_tail, dynamic_masks, and static_mask.
| Shot Type | Config Field | Value | Description |
|---|---|---|---|
| Pan right | horizontal | 5-8 | Slow pan, good for landscapes |
| Pan left | horizontal | -5 to -8 | Reveal from right to left |
| Tilt up | vertical | 5-8 | Upward reveal (buildings, trees) |
| Tilt down | vertical | -5 to -8 | Downward motion |
| Zoom in | zoom | 5-10 | Focus on subject, dramatic |
| Zoom out | zoom | -5 to -10 | Reveal, establishing shot |
| Dutch tilt | roll | 3-5 | Unsettling, artistic angle |
| Push in | tilt | 3-5 | Dolly forward (depth effect) |
| Pull back | tilt | -3 to -5 | Dolly backward (reveal) |
| Value Range | Effect |
|---|---|
| 1-3 | Subtle, barely perceptible |
| 4-6 | Moderate, natural-feeling |
| 7-8 | Strong, dramatic |
| 9-10 | Maximum, may feel unnatural |
Recommendation: Start at 4-6 for most cinematic shots. Go higher for dramatic reveals or action sequences.
| Error | Cause | Fix |
|---|---|---|
400 invalid camera config | Multiple non-zero values in simple mode | Set only one field to non-zero |
| Jerky motion | Value too high | Reduce to 4-6 range |
| No visible movement | Value too low (1-2) | Increase to 3+ |
| Mutual exclusivity error | Combined with masks/image_tail | Use only camera_control OR masks |
Review OpenRouter integration for regulatory compliance (SOC2, GDPR,
Data synchronization, ETL patterns, and data management for MaintainX.
Execute Groq primary workflow: chat completions with tool use and JSON
Validate CSRF protection implementations for security gaps. Use when
Configure this skill should be used when the user asks about "API contract",
Execute Ideogram incident response with triage, mitigation, and postmortem.
Execute create, select, and transform features to improve machine learning
Reusable patterns for the Gamma REST API (no SDK exists).
Apply production-ready Deepgram SDK patterns for TypeScript and Python.
Migrate to OpenRouter from direct provider APIs or upgrade between SDK/model
Diagnose and fix common OpenRouter API errors. Use when encountering
Optimize Linear API usage, reduce unnecessary calls, and maximize
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience