| import sys |
| from pathlib import Path |
|
|
| _EXAMPLES_ROOT = Path(__file__).resolve().parents[1] |
| if str(_EXAMPLES_ROOT) not in sys.path: |
| sys.path.insert(0, str(_EXAMPLES_ROOT)) |
|
|
| from _bootstrap import ensure_local_sdk_src, generated_sample_image_data_url, runtime_config |
|
|
| ensure_local_sdk_src() |
|
|
| import asyncio |
|
|
| from openai_codex import AsyncCodex, ImageInput, TextInput |
|
|
| IMAGE_DATA_URL = generated_sample_image_data_url() |
|
|
|
|
| async def main() -> None: |
| async with AsyncCodex(config=runtime_config()) as codex: |
| thread = await codex.thread_start( |
| model="gpt-5.4", config={"model_reasoning_effort": "high"} |
| ) |
| turn = await thread.turn( |
| [ |
| TextInput("What is in this image? Give 3 bullets."), |
| ImageInput(IMAGE_DATA_URL), |
| ] |
| ) |
| result = await turn.run() |
|
|
| print("Status:", result.status) |
| print(result.final_response) |
|
|
|
|
| if __name__ == "__main__": |
| asyncio.run(main()) |
|
|